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
Isuru Fernando
ea1095135e
Ninja complains that file openblas.def does not exist
2017-07-29 21:00:32 +05:30
Isuru Fernando
4c5df489db
clang on windows needs FU=''
2017-07-29 20:59:28 +05:30
Isuru Fernando
dc24914415
check compiler is msvc instead of msvc
2017-07-28 11:49:39 +05:30
Martin Kroeker
ad2462811a
Do not add -lpthread on Android builds ( #1229 )
...
* Do not add -lpthread on Android builds
* Do not add -lpthread on Android cmake builds
2017-07-09 13:15:24 +02:00
Neil Shipp
34513be726
Add Microsoft Windows 10 UWP build support
2017-06-23 13:07:34 -07:00
Neil Shipp
65e56cb29d
Add 64bit support for Microsoft Visual Studio
2017-06-21 13:38:22 -07:00
Paul Osmialowski
42bbe74791
build: LLVM: Add Flang compiler support and enable OpenMP for Clang
...
Signed-off-by: Paul Osmialowski <pawel.osmialowski@arm.com>
2017-05-25 17:03:20 +01:00
David Seifert
ed79a29d87
Use GNUInstallDirs to allow changing target directories
...
* Multi-lib distributions need to change the libdir
which is only portably possible with `GNUInstallDirs`.
* Multi-arch distributions such as Debian and Exherbo
need to be able to change the bindir.
2017-04-16 00:43:47 +02:00
Denis Steckelmacher
c9ff735da6
Add ZEN support (tested for auto-detected static backend)
2017-03-19 15:32:50 +01:00
Martin Kroeker
12e476f7a2
Merge pull request #1124 from martin-frbg/c_check-ppc
...
Update c_check.cmake to label ppc64 as power ARCH
2017-03-10 12:58:38 +01:00
Martin Kroeker
8de40955ad
Update c_check.cmake
2017-03-10 11:45:48 +01:00
Martin Kroeker
43224f7273
Fix misspelling of zlasyf_aa from previous commit
2017-03-10 08:44:49 +01:00
Martin Kroeker
c4ea9eea67
Add cmake template for openblas.pc
2017-02-12 14:38:32 +01:00
Martin Kroeker
d12c8bbcbb
Add zlasyf_aa to lapack.cmake
2017-02-12 13:49:49 +01:00
Martin Kroeker
15f0d65010
Add another bunch of lapack 3.7 functions to cmake list
2017-02-12 01:59:30 +01:00
Martin Kroeker
7d831af1ba
Add LAPACK 3.7 files not mentioned in announcement
2017-02-12 01:37:35 +01:00
Martin Kroeker
ee3e87cf46
Update cmake file list for lapacke 3.7.0
2017-02-12 00:40:16 +01:00
Martin Kroeker
8772c00bb0
Update cmake file list for lapack 3.7.0
2017-02-11 23:11:26 +01:00
Martin Kroeker
357ef3cd8c
Reflect name change of lapacke_mangling.h template
2017-02-11 19:56:02 +01:00
Martin Kroeker
002e646476
Add new functions from LAPACK 3.6.1
2017-02-11 19:54:02 +01:00
John Biddiscombe
053044ae4d
Replace CMAKE_SOURCE_DIR/CMAKE_BINARY_DIR with PROJECT_SOURCE_DIR/PROJECT_BINARY_DIR
...
If OpenBLAS is built using add_subdirectory(OpenBlas) as part of another project
then the paths set by CMAKE_XXX_DIR are relative to the parent project
and not the OpenBLAS project.
2016-05-25 09:13:28 +02:00
Zhang Xianyi
0e2b92e216
Added mising lapacke files for CMake.
2016-02-12 05:28:16 +08:00
Benyu Zhang
4a1263f609
Fix the source paths
2016-02-01 18:32:42 -08:00
Zhang Xianyi
53b6023a6c
Fix cmake bug on MSVC 32-bit.
2015-10-26 14:52:13 -05:00
Zhang Xianyi
309875de3c
Fix cmake bug on x86 32-bit.
...
e.g. Build 32-bit on 64-bit Linux.
cmake -DBINARY=32
2015-10-27 02:54:53 +08:00
Zhang Xianyi
17ee2237c3
Fixed cmake bug with NO_LAPACK=1
2015-08-18 22:43:42 -05:00
Zhang Xianyi
f8eba3d548
Fixed cmake build bugs on Linux.
2015-08-11 16:25:16 -05:00
Zhang Xianyi
40ab5cfc50
Merge branch 'hpanderson_cmake' into cmake
2015-08-11 03:31:55 +08:00
Zhang Xianyi
f874465bb8
Use cmake to build OpenBLAS GENERIC Target on MSVC x86 64-bit.
...
Disable CBLAS and LAPACK.
2015-08-10 14:10:44 -05:00
Hank Anderson
19664f3ef4
Added missing lapacke.cmake file.
2015-08-06 07:40:06 -05:00
Zhang Xianyi
7ac7e147d4
Fixed cmake building bugs on Linux. Disable LAPACK by default.
2015-08-04 04:37:05 +08:00
Hank Anderson
1d183dcda8
Added lapacke sources.
2015-02-25 16:51:08 -06:00
Hank Anderson
504cdb10ed
Added check for MSVC before enabling fortran.
...
Currently forcing gfortran, instead of assuming ifort.
2015-02-24 14:31:45 -06:00
Hank Anderson
a8002b0c5f
Separated getarch ASM file when using MSVC.
2015-02-24 14:31:18 -06:00
Hank Anderson
0d8e227ea7
Changed strategy for setting preprocessor definitions.
...
Instead of generating separate object files for each permutation of
defines for a source file, GenerateNamedObjects now writes an entirely
new source file and inserts the defines as #define c statements.
This solves a problem I ran into with ar.exe where it was refusing to
link objects that had the same filename despite having different paths.
2015-02-24 12:26:33 -06:00
Hank Anderson
1b7f427401
Added conj gemv objects for complex build.
2015-02-23 10:24:31 -06:00
Hank Anderson
a6116e5859
Added some more complex-only objects.
2015-02-22 17:49:28 -06:00
Hank Anderson
8a143516e3
Added alternate_name to a couple of the name mangling schemes.
...
Added zherk_k sources to driver/level3.
2015-02-20 17:03:33 -06:00
Hank Anderson
714638c187
Added some TRMM objects for complex types.
2015-02-19 16:11:51 -06:00
Hank Anderson
e27c372e53
Fixed reuse of float_char from parent loop.
...
Fixed in/it/on/otcopy names.
2015-02-19 13:53:29 -06:00
Hank Anderson
f3f2b3d768
Added complex and single netlib-lapack fortran sources to lapack.cmake.
2015-02-19 12:26:11 -06:00
Hank Anderson
43725b82c5
ParseMakefileVars now replaces Makefile vars with CMake vars.
2015-02-18 12:23:17 -06:00
Hank Anderson
cebc07cebd
ParseMakefileVars now recursively parses included makefiles.
2015-02-17 22:09:41 -06:00
Hank Anderson
33c5e8db7f
Added a helper function for setting the L1 kernel defaults.
...
Added loop to build objects with different KERNEL defines.
2015-02-17 21:36:23 -06:00
Hank Anderson
67e39bd8fb
Added mangled complex filenames to interface and lapack CMakeLists.txt.
2015-02-17 13:12:30 -06:00
Hank Anderson
9eb1499095
Added another param to GenerateNamedObjects to mangle complex source names.
...
There are a lot of sources for complex float types that are the same
names as the real sources, except with z prepended.
2015-02-17 10:30:28 -06:00
Hank Anderson
4662a0b13a
Changed generate functions to iterate through a list of float types.
...
This will generate obj files for SINGLE/DOUBLE/COMPLEX/DOUBLE COMPLEX.
2015-02-15 17:44:37 -06:00
Hank Anderson
c94fe71278
Removed incoming-stack-boundary for MSVC.
...
Made float type optional for GenerateNamedObjects.
Called GenerateNamedObjects for a couple of driver/others files that
needed NAME/CNAME set.
2015-02-11 10:54:14 -06:00
Hank Anderson
d60b49e5c5
Turned off uninizialized variable warning when compiling lapack-netlib.
2015-02-10 14:36:43 -06:00
Hank Anderson
64b5a0ef84
Added AUX files from lapack-netlib.
2015-02-10 14:29:05 -06:00
Hank Anderson
162791e30e
Added common objects from kernel Makefile.
2015-02-10 12:42:05 -06:00
Hank Anderson
96cf6779ca
Added DLA sources from lapack-netlib.
...
Can't use the lapack-netlib cmake files, since they are designed to
build a complete lapack/blas library. They have their own fortran
detection and flag setup and so on. Instead I'll just recreate the
makefiles I need.
Fixed a typo in the NAME defines.
2015-02-10 11:01:01 -06:00
Hank Anderson
e8c39138c6
Removed return value from GenerateNamedObjects.
...
It sets DBLAS_OBJS directly to save a bunch of list appending in the
CMakeLists.txt files.
2015-02-09 12:28:09 -06:00
Hank Anderson
7fa5c4e2fd
Fixed some case issues with ARCH.
...
Added some kernel and driver/others objects.
2015-02-08 15:29:18 -06:00
Hank Anderson
6b5d26e07b
Added SMP sources to level2 CMakeLists.txt.
2015-02-06 16:52:19 -06:00
Hank Anderson
13d2d48e67
Added yet another naming scheme for lapack functions.
2015-02-06 13:42:20 -06:00
Hank Anderson
189fadfde0
Started implementing kernel/Makefile in cmake.
2015-02-05 21:05:11 -06:00
Hank Anderson
627d5e7401
Added SMP objects to driver/level3.
2015-02-05 12:22:48 -06:00
Hank Anderson
943fa2fb58
Fixed object names in level2.
2015-02-05 10:49:11 -06:00
Hank Anderson
1b62a4f3c9
Changed some function parameters to optional.
2015-02-05 09:39:40 -06:00
Hank Anderson
461e691127
Codes when define is absent are now a parameter to AllCombinations.
...
The level3 object names should now be correct.
2015-02-05 09:23:47 -06:00
Hank Anderson
cfaf1c678f
Added option to append define codes with an underscore.
...
Fixed the code array not getting reset on subsequent AllCombinations
calls.
2015-02-05 09:17:18 -06:00
Hank Anderson
0d7bad1f35
Changed GenerateObjects to append combination codes (e.g. dtrmm_TU).
2015-02-05 09:02:54 -06:00
Hank Anderson
2828f6630c
Added SMP sources to COMMONOBJS.
2015-02-04 14:01:36 -06:00
Hank Anderson
58cff2fed8
Added CBLAS define/naming convention to GenerateNamedObjects.
2015-02-04 11:30:15 -06:00
Hank Anderson
5690cf3f0e
Added override for function names in GenerateNamedObjects.
...
The BLAS interface folder should now be generated the correct objects
for the DOUBLE case.
2015-02-04 10:52:19 -06:00
Hank Anderson
a0aeda6187
Added function to set defines for the object names (e.g. -DNAME=dgemm).
2015-02-04 10:37:34 -06:00
Hank Anderson
84b3d760c4
Converted rest of Makefile.system to system.cmake.
2015-02-03 16:05:01 -06:00
Hank Anderson
0beea3a5a5
Converted LAPACK flags from Makefile.system.
2015-02-03 15:33:56 -06:00
Hank Anderson
560c96a9a7
Fixed newlines in some cmake files.
2015-02-03 15:11:15 -06:00
Hank Anderson
0ccfa60a53
Changed fortran compiler name to be uppercase and stripped of path/ext.
2015-02-03 15:09:37 -06:00
Hank Anderson
30be551502
Corrected fortran compiler name variables.
...
Fixed some typos.
Updated c_check to set ARCH and BINARY64/32.
Added version variables.
2015-02-03 14:21:22 -06:00
Hank Anderson
be1ce38f24
Fixed some missing parentheses.
2015-02-03 14:00:29 -06:00
Hank Anderson
e818ace11a
Ported more of Makefile.system to CMake.
2015-02-03 13:34:41 -06:00
Hank Anderson
e4bfbd8258
Added fc.cmake (forgot it in last commit).
...
Moved a couple C compiler ifs from Makefile.system into cc.cmake.
2015-02-03 13:08:59 -06:00
Hank Anderson
2d5b442f5b
Ported Fortran configuration code from Makefile.system to fc.cmake.
2015-02-03 12:32:23 -06:00
Hank Anderson
af11aff309
Ported C compiler settings from Makefile.system into new cmake file.
2015-02-03 12:00:49 -06:00
Hank Anderson
e66aa5f3b7
Ported arch dependent settings from Makefile.system to new cmake file.
2015-02-03 11:32:20 -06:00
Hank Anderson
31cf22cb4b
Ported OS settings from Makefile.system into new cmake file.
2015-02-03 11:07:58 -06:00
Hank Anderson
5057a4b4df
Added openblas add_library call that uses DBLAS_OBJS ojbects.
2015-01-30 15:21:21 -06:00
Hank Anderson
d3dcdddf75
Moved functions into util cmake file.
2015-01-30 13:47:40 -06:00
Hank Anderson
dbdca7bf0c
Added first pass at driver/level3 Makefile conversion.
...
Added a rather convoluted CMake function to find all combinations
of a given list. This will be useful for the object files that are
compiled multiple times with different combinations of preprocessor
definitions.
2015-01-29 22:53:11 -06:00
Hank Anderson
dabaecb2bc
Moved getarch parsing code into a function.
2015-01-29 09:30:47 -06:00
Hank Anderson
8c23965da3
prebuild.cmake now reads the output from getarch into CMake vars.
2015-01-28 22:57:44 -06:00
Hank Anderson
61f21b5d03
getarch_2nd now appends its output to config.h/config_kernel.h
2015-01-28 22:20:15 -06:00
Hank Anderson
8ede4a8da4
getarch now compiles and sets config.h defines properly.
...
Still isn't parsed into CMake variables, and getarch_2 needs to
get the same treatment.
2015-01-28 17:18:26 -06:00
Hank Anderson
1c5b6bb4f7
Added CORE define to config.h in prebuild.cmake (temporarily).
2015-01-28 16:33:48 -06:00
Hank Anderson
c5f5c7a076
Updated c_check OS/compiler/bits detection.
2015-01-28 15:47:47 -06:00
Hank Anderson
5eefe18ae4
Added CMakeLists.txt for the first of the BLAS folders.
...
It only does the double precision compile currently.
I realized I didn't finish converting Makefile.system yet, so I made
a note of that.
2015-01-27 16:17:17 -06:00
Hank Anderson
1e8bb0e0e0
Fixed architecture detection when AMD64 in c_check.
2015-01-27 14:03:46 -06:00
Hank Anderson
864b8b31de
Fixed incorrect case in OS_ definition in c_check.
2015-01-27 13:54:29 -06:00
Hank Anderson
d2d15e522f
Started converting lib target to CMake.
...
The main part of this target is looping through the BLAS subfolders
and calling make on them. Need to add CMakeLists.txt for each of these
subfolders.
2015-01-27 12:23:35 -06:00
Hank Anderson
f4d1e7a265
Hardcoded NUM_CORES to get system.cmake working.
2015-01-27 11:37:39 -06:00
Hank Anderson
0f6bec0a32
cmake.prebuild now compiles getarch.
...
Doesn't actually run it yet.
2015-01-01 21:03:17 -06:00
Hank Anderson
e5c47e44f6
First pass at converting a few makefiles to CMake.
2014-12-30 21:53:00 -06:00