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.
7 years ago
Martin Kroeker
485df77612
Make USE_TRMM depend on TARGET_CORE not TARGET
Fixes #1432 (and possibly other DTRMM-related failures on Haswell and related architectures when built with cmake)
8 years ago
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
8 years ago
Sacha Refshauge
47ebce4d1a
Clean up, fix old typos. Simplify arch usages. Move system arch check to earlier position.
8 years ago
Sacha Refshauge
69b560751c
Improvements to previous commit (cross-compile).
Fix typos and bad if statements discovered in 0.2.20.
8 years ago
Sacha Refshauge
11911fd941
Add kernel/Makefile.LA to CMake
8 years ago
Isuru Fernando
d3b677fe87
Add commonobjs
8 years ago
Isuru Fernando
505b218829
Merge remote-tracking branch 'upstream/develop' into dyn
8 years ago
Isuru Fernando
d9346930dd
Merge remote-tracking branch 'upstream/develop' into develop
8 years ago
Isuru Fernando
7892434572
Add hemm3m and symm3m objects
8 years ago
Isuru Fernando
d798487213
Fixes for dynamic_arch. almost there
8 years ago
Isuru Fernando
251715d9ef
configure kernel_core.h
8 years ago
Isuru Fernando
50deeb49b7
configure setparam
8 years ago
Isuru Fernando
4260215adf
Support DYNAMIC_ARCH with cmake
8 years ago
Isuru Fernando
d245caa49a
Support out-of-source build
8 years ago
Isuru Fernando
dc24914415
check compiler is msvc instead of msvc
8 years ago
Denis Steckelmacher
c9ff735da6
Add ZEN support (tested for auto-detected static backend)
8 years ago
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.
9 years ago
Zhang Xianyi
d06b92906a
Add gemm3m building for CMake.
10 years ago
Zhang Xianyi
53b6023a6c
Fix cmake bug on MSVC 32-bit.
10 years ago
Zhang Xianyi
309875de3c
Fix cmake bug on x86 32-bit.
e.g. Build 32-bit on 64-bit Linux.
cmake -DBINARY=32
10 years ago
Zhang Xianyi
8fade093aa
Fixed cmake bug on Visual Studio.
10 years ago
Zhang Xianyi
96f0bbe067
Fixed cmake bug on haswell.
10 years ago
Zhang Xianyi
d8392c1245
Fixe cmake config bugs.
10 years ago
Zhang Xianyi
f874465bb8
Use cmake to build OpenBLAS GENERIC Target on MSVC x86 64-bit.
Disable CBLAS and LAPACK.
10 years ago
Zhang Xianyi
7ac7e147d4
Fixed cmake building bugs on Linux. Disable LAPACK by default.
10 years ago
Hank Anderson
518e2424a8
Fixed bad filename for cpuid.S compile.
11 years ago
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.
11 years ago
Hank Anderson
12d1fb2e40
Fixed incorrect object name in kernel CMakeLists.txt
11 years ago
Hank Anderson
1b7f427401
Added conj gemv objects for complex build.
11 years ago
Hank Anderson
b2284647a3
More complex objects.
11 years ago
Hank Anderson
a6116e5859
Added some more complex-only objects.
11 years ago
Hank Anderson
714638c187
Added some TRMM objects for complex types.
11 years ago
Hank Anderson
e27c372e53
Fixed reuse of float_char from parent loop.
Fixed in/it/on/otcopy names.
11 years ago
Hank Anderson
f3f2b3d768
Added complex and single netlib-lapack fortran sources to lapack.cmake.
11 years ago
Hank Anderson
9492298048
Added other float types to Makefile.L3.
11 years ago
Hank Anderson
14fd3d35de
Added checks for missing defines in kernel.
11 years ago
Hank Anderson
cebc07cebd
ParseMakefileVars now recursively parses included makefiles.
11 years ago
Hank Anderson
33c5e8db7f
Added a helper function for setting the L1 kernel defaults.
Added loop to build objects with different KERNEL defines.
11 years ago
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.
11 years ago
Hank Anderson
162791e30e
Added common objects from kernel Makefile.
11 years ago
Hank Anderson
c0624a26be
Fixed some dgemm_copy function names.
11 years ago
Hank Anderson
4bfaf1ce66
Removed some list appends I missed.
11 years ago
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.
11 years ago
Hank Anderson
f992799226
Added the rest of Makefile.L3.
11 years ago
Hank Anderson
4c65afcce1
Changed kernel filenames to vars. These will need to be read from KERNEL.
Added some kernel/L3 objects.
11 years ago
Hank Anderson
7fa5c4e2fd
Fixed some case issues with ARCH.
Added some kernel and driver/others objects.
11 years ago
Hank Anderson
fa0e6a6c93
Added the rest of the L1 kernel makefile.
11 years ago
Hank Anderson
38681fb1c6
Added more kernel files.
11 years ago
Hank Anderson
189fadfde0
Started implementing kernel/Makefile in cmake.
11 years ago