Martin Kroeker
ca4f7dceff
Add parameters for EMAG8180 DYNAMIC_ARCH support with cmake
2020-02-24 20:23:18 +01:00
Martin Kroeker
1ddf9f1067
Add EMAG8180 to arm64 DYNAMIC_ARCH list for cmake
2020-02-24 20:16:18 +01:00
Martin Kroeker
7f0d523b42
Make BUFFER_SIZE configurable
2020-02-09 23:32:57 +01:00
Martin Kroeker
8dc9fd4dfe
Add -march option for AVX512
2020-01-30 12:41:18 +01:00
Martin Kroeker
375b1875c8
[WIP] Update LAPACK to 3.9.0 ( #2353 )
...
* Update make.inc entries for LAPACK 3.9.0
Reference-LAPACK PR 347 changed some variable names and relative paths
* Update LAPACK to 3.9.0
* Add new functions from LAPACK 3.9.0
* Add new functions from LAPACK 3.9.0
* Restore LOADER command
as it makes it easier to specify pthread as needed
* Restore LOADER
* Restore EIG/LIN prefixes in cmdbase
* add binary path to lapack_testing.py call
* Restore OpenMP version check
* Restore OpenMP version check
* Restore fix for out-of-bounds array accesses
from #2096
2020-01-01 13:18:53 +01:00
Martin Kroeker
a4896b5538
Update DYNAMIC_ARCH support for ARM64 and PPC ( #2332 )
...
* Update DYNAMIC_ARCH list of ARM64 targets for gmake
* Update arm64 cpu list for runtime detection
* Update DYNAMIC_ARCH list of ARM64 targets for cmake and add POWERPC targets
2019-12-04 11:06:03 +01:00
k.dunikowski
8691825944
Fixed a minor cmake problem, occuring when DYNAMIC_CORE=ON and CMAKE_C_FLAGS was empty
2019-10-28 08:51:05 +01:00
Martin Kroeker
eb45eb6942
Fix C compiler handling and BINARY=32 mode in CMAKE builds ( #2248 )
...
* Fix compiler identification and option setting
* Handle BINARY=32 option on X86_64
* Add xGEMM3M unroll parameters for crossbuild-target CORE2
* Replace bogus mingw64/32bit CI job with actual 32bit build
mingw64 is not multilib-capable, so using an x86_64-mingw with BINARY=32 in the CI was not going to work anyway (but build passed while BINARY=32 was ignored).
2019-09-10 08:27:06 +02:00
Martin Kroeker
fde8a8e6a0
Improve cmake build behaviour with non-host cpu targets ( #2246 )
...
1. Supply appropriate values for C/Z GEMM unroll when cross-compiling for CORE2 or ARMV7
2. Add the required xLOCAL_BUFFER_SIZE parameters for cross-compiling CORE2
3. Add -DFORCE_<target> option to getarch when building with -DTARGET=target
for #2245
2019-09-03 22:41:17 +02:00
Martin Kroeker
1fec0570f6
Add cgemm and zgemm unroll factors for core2
2019-09-02 15:03:45 +02:00
Martin Kroeker
bf0d92a310
Add arch data for cross-compiling to CORE2
...
for #2235
2019-08-28 17:35:56 +02:00
Martin Kroeker
e3d846ab57
Do not use -march=native with the PGI compiler
2019-08-16 08:58:10 +02:00
Tyler Reddy
3f6ab1582a
MAINT: remove legacy CMake endif()
...
* clean up a case where CMake endif()
contained the conditional used in the
if(), which is no longer needed /
discouraged since our minimum required
CMake version supports the modern syntax
2019-07-22 21:24:57 -06:00
Martin Kroeker
8fb76134bc
Mingw32 needs leading underscore on object names
...
(also copy BUNDERSCORE settings for FORTRAN from the corresponding Makefile)
2019-07-06 15:07:15 +02:00
Martin Kroeker
04d671aae2
Make disabling DYNAMIC_ARCH on unsupported systems work
...
needs to be unset in the cache for the change to have any effect
2019-07-06 15:05:04 +02:00
Martin Kroeker
f69a0be712
Add getarch flags to disable AVX on x86
...
(and other small fixes to match Makefile behaviour)
2019-07-06 15:02:39 +02:00
Martin Kroeker
ece0bfb881
Merge pull request #2158 from martin-frbg/issue2143
...
Remove any inadvertent use of -march=native from DYNAMIC_ARCH builds
2019-06-10 14:08:11 +02:00
Martin Kroeker
1f4b6a5d5d
Remove any inadvertent use of -march=native from DYNAMIC_ARCH builds
...
from #2143 , -march=native precludes use of more specific options like -march=skylake-avx512 in individual kernels, and defeats the purpose of dynamic arch anyway.
2019-06-10 09:50:13 +02:00
Martin Kroeker
be8f70d269
Merge pull request #2157 from martin-frbg/2154-2
...
Add gfortran workaround for potential ABI violation
2019-06-09 12:19:08 +02:00
Martin Kroeker
e674e1c735
Update fc.cmake
2019-06-09 09:31:13 +02:00
Martin Kroeker
6ca898b63b
Add gfortran workaround for potential ABI violation
...
for #2154
2019-06-08 23:17:03 +02:00
Michael Lass
7a9a4dbc4f
Fix detection of AVX512 capable compilers in getarch
...
21eda8b5 introduced a check in getarch.c to test if the compiler is capable of
AVX512. This check currently fails, since the used __AVX2__ macro is only
defined if getarch itself was compiled with AVX2/AVX512 support. Make sure this
is the case by building getarch with -march=native on x86_64. It is only
supposed to run on the build host anyway.
2019-06-05 17:30:56 +02:00
Martin Kroeker
1e52572be3
Add option USE_LOCKING for single-threaded build with locking support
2019-05-15 23:19:30 +02:00
luz.paz
daf2fec12d
Misc. typo fixes
...
Found via `codespell -q 3 -w -L ith,als,dum,nd,amin,nto,wis,ba -S ./relapack,./kernel,./lapack-netlib`
2019-04-29 17:03:56 -04:00
Martin Kroeker
ccfb7ead15
Merge pull request #2072 from martin-frbg/sum
...
Add (C)BLAS extension ?sum
2019-04-23 20:11:36 +02:00
Martin Kroeker
e06b8438b4
Merge pull request #2080 from martin-frbg/issue2075
...
Add -lm and disable EXPRECISION support on *BSD
2019-04-02 21:40:58 +02:00
Martin Kroeker
9229d6859b
Add -lm and disable EXPRECISION support on *BSD
...
fixes #2075
2019-04-02 09:38:18 +02:00
Martin Kroeker
d17da6c6a4
Add cmake defaults for ?sum kernels
2019-03-31 11:57:01 +02:00
Martin Kroeker
1679de5e59
Detect 32bit environment on 64bit ARM hardware
...
for #2056 , using same approach as #2058
2019-03-31 10:50:43 +02:00
Sacha
c3e30b2bc2
Change 64-bit detection as explained in #2056
2019-03-13 23:21:54 +10:00
Martin Kroeker
fd34820b99
Fix AVX512 test always returning false due to missing compiler option
2019-02-25 17:58:31 +01:00
Martin Kroeker
5952e586ce
Support DYNAMIC_LIST option in cmake
...
e.g. cmake -DDYNAMIC_ARCH=1 -DDYNAMIC_LIST="NEHALEM;HASWELL;ZEN" ..
original issue was #1639
2019-02-05 23:51:40 +01:00
Martin Kroeker
58dd7e4501
Change ARMV8 target to ARMV7 for BINARY=32
2019-01-26 17:52:33 +01:00
Martin Kroeker
802f0dbde1
More fixes for cross-compiling ARM64 targets
...
Fixed core naming for DYNAMIC_ARCH. Corrected GEMM_DEFAULT entries and added SYMV_P. Replaced outdated VULCAN define for ThunderX2T99 with ARMV8 to get basic definitions back. For issue #1908
2019-01-03 22:17:31 +01:00
Martin Kroeker
20d1aad13f
Fix missing quotes around thunderx targets
2019-01-02 20:15:35 +01:00
Martin Kroeker
e1eab96502
Merge pull request #1931 from martin-frbg/pr1921
...
Add -mavx2 to TARGET=HASWELL builds
2018-12-23 23:15:54 +01:00
Martin Kroeker
76b4b8980f
Use -dumpversion with gcc only
2018-12-23 19:08:19 +01:00
Martin Kroeker
49e0f485da
Add -mavx2 for TARGET=HASWELL if compiler supports and requires it
2018-12-23 17:26:09 +01:00
Martin Kroeker
26a3402773
Reflect ARMV8 target definition changes from PR1876
...
and create config target directory for cross-compiles.
2018-12-23 12:26:01 +01:00
Martin Kroeker
133c278ee5
Add DYNAMIC_CORE list for ARM64
...
cf #1908
2018-12-07 17:42:23 +01:00
Martin Kroeker
dceff5542c
Handle Android environments that identify as Linux ( #1898 )
...
* Handle Android environments that identify as Linux
termux terminal emulator does this, causing build failures through missed defines in common.h
2018-12-01 20:56:11 +01:00
Martin Kroeker
081ceb3e02
Propagate version number for openblas_get_config
2018-11-29 00:12:04 +01:00
Andrew
40cce0e353
handle cmake too
2018-11-06 09:45:49 +00:00
Martin Kroeker
2263d3906c
Merge pull request #1812 from martin-frbg/issue1806-2
...
Use KERNEL_DEFINITIONS rather than COMMON_OPTS to pass -march=skylake…
2018-10-11 21:51:31 +02:00
Martin Kroeker
81c9985c3a
Use KERNEL_DEFINITIONS rather than COMMON_OPTS to pass -march=skylake-avx512
2018-10-11 11:03:27 +02:00
Martin Kroeker
56ebc7b53e
Merge pull request #1808 from martin-frbg/issue1806
...
Add -march=skylake-avx512 to CFLAGS when the target is Skylake
2018-10-11 07:48:08 +02:00
Martin Kroeker
8a11ec19d1
Syntax fix
2018-10-10 23:47:35 +02:00
Martin Kroeker
fa53b903db
Add -march=skylake-avx512 to CFLAGS when the target is Skylake
...
Should fix 1806 and #1801
2018-10-10 19:22:01 +02:00
Martin Kroeker
84bcdf9c66
Revert "Add -march=skylake-avx512 when required"
2018-10-10 19:15:32 +02:00
Martin Kroeker
a9b51b8448
Merge pull request #1798 from martin-frbg/cmake-avx512
...
Add -march=skylake-avx512 when required
2018-10-08 21:15:17 +02:00
Martin Kroeker
eba394c711
Add -march=skylake-avx512 when required
...
fixes #1797
2018-10-08 19:18:12 +02:00
Martin Kroeker
02ef20a1e4
Merge pull request #1786 from martin-frbg/immintrin
...
Check for Immintrin.h presence in the AVX512 compatibility test as well
2018-10-04 09:07:09 +02:00
Martin Kroeker
4c3643ed7f
Check availability of immintrin.h in the AVX512 compatibility test
2018-10-04 07:36:49 +02:00
Yuri
2349e15149
Allow to install the 'interfare64' version concurrently with the regular version
2018-09-15 21:00:03 -07:00
Martin Kroeker
b1b743f434
Merge branch 'develop' into interim033
2018-08-25 19:45:19 +02:00
Martin Kroeker
2a589c4b28
Add USE_TLS option to switch between old and new memory.c
2018-08-25 19:36:12 +02:00
Martin Kroeker
25f2d25cfe
Merge pull request #1697 from martin-frbg/issue1696
...
Do not treat WIndows UWB builds as cross-compiling
2018-07-25 19:55:29 +02:00
Martin Kroeker
73131fa30a
Do not treat WIndows UWB builds as cross-compiling
2018-07-24 17:46:33 +02:00
Martin Kroeker
b74aef2816
Add -march=skylake-avx512 to AVX512 compile check and suppress its output
2018-07-03 14:41:44 +02:00
Martin Kroeker
26e1cfb653
Merge pull request #1607 from martin-frbg/dynarch
...
Move some x86_64 DYNAMIC_ARCH targets to new DYNAMIC_OLDER option
2018-06-14 16:52:55 +02:00
Martin Kroeker
02634b549b
Add template for OpenBLASConfig.cmake
2018-06-10 09:25:46 +02:00
Martin Kroeker
1cbd8f3ae4
Move some DYNAMIC_ARCH targets to new DYNAMIC_OLDER option
2018-06-09 16:30:46 +02:00
Martin Kroeker
cf234a0561
Merge pull request #1589 from fenrus75/skylakex
...
Initial support for SkylakeX / AVX512
2018-06-06 22:07:09 +02:00
Martin Kroeker
e4718b1fee
Better AVX512 test case
2018-06-06 16:51:30 +02:00
Martin Kroeker
7fb62aed7e
Check build system support for AVX512 instructions
2018-06-05 23:29:33 +02:00
Arjan van de Ven
99c7bba8e4
Initial support for SkylakeX / AVX512
...
This patch adds the basic infrastructure for adding the SkylakeX (Intel Skylake server)
target. The SkylakeX target will use the AVX512 (AVX512VL level) instruction set,
which brings 2 basic things:
1) 512 bit wide SIMD (2x width of AVX2)
2) 32 SIMD registers (2x the number on AVX2)
This initial patch only contains a trivial transofrmation of the Haswell SGEMM kernel
to AVX512VL; more will follow later but this patch aims to get the infrastructure
in place for this "later".
Full performance tuning has not been done yet; with more registers and wider SIMD
it's in theory possible to retune the kernels but even without that there's an
interesting enough performance increase (30-40% range) with just this change.
2018-06-03 07:58:52 +00:00
Martin Kroeker
6791294312
Merge pull request #1559 from martin-frbg/buildconf
...
Add build-time configuration options to pkgconfig file
2018-05-14 18:49:53 +02:00
Martin Kroeker
7d7564568c
Add build-time configuration options to pkgconfig file
2018-05-14 00:09:35 +02:00
Zhiyong Dang
1b83341d19
Fix race condition in blas_server_omp.c
...
Change-Id: Ic896276cd073d6b41930c7c5a29d66348cd1725d
2018-04-27 17:00:42 +08:00
Sacha
f81815e48a
Fix CMake cross-compiling
...
Without specifying thread count, NUM_THREADS would not be defined and CMake would fail.
This is because core count cannot be determined when cross-compiling.
2018-02-28 10:25:25 +10:00
xoviat
038bfbb86c
CMake: Remove unused wall option when FC=flang
2018-01-26 14:09:48 -06:00
Martin Kroeker
599de9e598
Restore LAPACKE files for Xgeqpf, Xggsvd and Xggsvp
...
These were inadvertently dropped from the list in my PR #1095
2017-12-21 19:43:09 +01:00
Martin Kroeker
0dc291d3fa
Merge pull request #1377 from isuruf/threads
...
Allow overriding NUM_THREADS in cmake
2017-12-01 16:22:35 +01:00
Isuru Fernando
e0ddd7d124
Allow overriding NUM_THREADS
2017-12-01 01:42:45 -06:00
martin
5056a044b2
fix location of lapacke_nancheck
2017-11-24 09:15:20 +01:00
martin
4054d32def
update cmake files
2017-11-24 08:15:40 +01:00
martin
2d52f0f4c3
update cmakefiles for lapack 3.8.0
2017-11-23 21:22:01 +01:00
Ian Henriksen
505dc08635
Update lapacke.cmake with routines added in LAPACK 3.7.0.
2017-11-06 14:43:33 -06:00
Ian Henriksen
61587b0670
Update lapack.cmake with additional routines from LAPACK version 3.7.0.
2017-11-06 14:41:02 -06:00
Ian Henriksen
632fc75d77
Allow using compilers other than gfortran in conjunction with
...
MSVC or clang-cl.
2017-11-06 14:39:12 -06:00
Martin Kroeker
962b20a9bb
Optionally add ReLAPACK to LIB_COMPONENTS
2017-10-12 17:02:01 +02:00
Martin Kroeker
c7a8512d12
Cmake fixes for DYNAMIC_ARCH builds and whitespace in path names ( #1323 )
...
* prebuild.cmake: Put quotes around path names that may contain whitespace
(Copied from alexkaratakis' PR #1295 )
* kernel/CMakeLists.txt: Fix common_lapack header inclusion and DYNAMIC_ARCH generation of ?neg_tcopy and ?laswp_ncopy files
* lapack/CMakeLists.txt: Use correct template for ?laswp_(plus,minus) functions
2017-10-09 23:34:18 +02:00
Sacha
7a867082d8
Fix open_blas.config which was never working out-of-source. Remove need for gen_config_h.exe. If OpenMP is requested, do not silently ignore when it isn't available.
2017-08-23 11:16:24 +10:00
Sacha Refshauge
47ebce4d1a
Clean up, fix old typos. Simplify arch usages. Move system arch check to earlier position.
2017-08-21 00:37:29 +10:00
Sacha Refshauge
69b560751c
Improvements to previous commit (cross-compile).
...
Fix typos and bad if statements discovered in 0.2.20.
2017-08-20 22:50:31 +10:00
Sacha Refshauge
0a7a527a92
Add support for cross compiling.
...
Add support for not having host compiler as CMake cannot detect such a compiler.
Add support for not using getarch.
Successfully builds Android ARMV8. Any target can be added by supplying the TARGET_CORE config in prebuild.cmake.
2017-08-20 20:08:53 +10:00
Sacha Refshauge
6aac06587d
Fix typos and use CMake OpenMP support.
2017-08-17 17:27:01 +10:00
7c1acc07f0
Fix bug that required fortran. Fix bug that needed CXX var. Remove redundant set vars. Fix threading detection. Do not attempt to run code if cross compiling.
2017-08-17 03:32:04 +10:00
38d273ea03
Drop some redundant vars and improve arch detection in CMake.
2017-08-17 02:04:36 +10:00
90a4dab501
Let CMake deal with build type.
2017-08-17 00:35:54 +10:00
Isuru Fernando
d3b677fe87
Add commonobjs
2017-08-07 23:12:40 +05:30
Isuru Fernando
505b218829
Merge remote-tracking branch 'upstream/develop' into dyn
2017-08-06 19:07:00 +05:30
Isuru Fernando
d9346930dd
Merge remote-tracking branch 'upstream/develop' into develop
2017-08-04 07:57:55 +05:30
Isuru Fernando
1d1854032b
Add missing EXCAVATOR
2017-08-02 19:03:04 +05:30
Isuru Fernando
d798487213
Fixes for dynamic_arch. almost there
2017-08-02 17:25:49 +05:30
Isuru Fernando
4260215adf
Support DYNAMIC_ARCH with cmake
2017-08-01 22:25:52 +05:30
Isuru Fernando
89ec2be110
Fix lapacke copying
2017-08-01 15:47:14 +05:30
Isuru Fernando
d245caa49a
Support out-of-source build
2017-08-01 15:16:14 +05:30
Isuru Fernando
7a96499b29
Don't change timestamps
2017-08-01 13:43:59 +05:30
Isuru Fernando
5e0f67c666
Make ARCH variable a CACHE variable
2017-07-29 23:30:15 +05:30