Martin Kroeker
02634b549b
Add template for OpenBLASConfig.cmake
7 years ago
Martin Kroeker
0bea6bb9e7
Create OpenBLASConfig.cmake from cmake as well
7 years ago
Martin Kroeker
0297b3211a
Merge pull request #1605 from oon3m0oo/develop
Improve performance of GEMM for small matrices when SMP is defined.
7 years ago
Craig Donner
66316b9f4c
Improve performance of GEMM for small matrices when SMP is defined.
Always checking num_cpu_avail() regardless of whether threading will actually
be used adds noticeable overhead for small matrices. Most other uses of
num_cpu_avail() do so only if threading will be used, so do the same here.
7 years ago
Martin Kroeker
6adc4b7b36
Merge pull request #1601 from martin-frbg/zaxpy
Use a single thread for small input size in zaxpy
7 years ago
Martin Kroeker
2ade0ef085
Merge pull request #1600 from martin-frbg/noyield
Use usleep instead of sched_yield by default
7 years ago
Martin Kroeker
e8880c1699
Use a single thread for small input size
copies daxpy improvement from #27 , see #1560
7 years ago
Martin Kroeker
ed7c4a043b
Use usleep instead of sched_yield by default
sched_yield only burns cpu cycles, fixes #900 , see also #923 , #1560
7 years ago
Martin Kroeker
cf234a0561
Merge pull request #1589 from fenrus75/skylakex
Initial support for SkylakeX / AVX512
7 years ago
Martin Kroeker
ae2a33128b
Merge pull request #1599 from martin-frbg/c_check_avx512
Improved AVX512 test case for c_check
7 years ago
Martin Kroeker
e4718b1fee
Better AVX512 test case
7 years ago
Martin Kroeker
9b87b64262
Improve AVX512 testcase
clang 3.4 managed to accept the original test code, only to fail on the actual Skylake asm later
7 years ago
Martin Kroeker
0218b884c1
Merge pull request #1598 from martin-frbg/issue1593-2
Restore _Atomic define before stdatomic.h for old gcc
7 years ago
Martin Kroeker
83da278093
Update common.h
7 years ago
Martin Kroeker
358d4df2bd
Merge branch 'develop' into issue1593-2
7 years ago
Martin Kroeker
06d43760e4
Restore _Atomic define before stdatomic.h for old gcc
see #1593
7 years ago
Martin Kroeker
a4af8861ff
Merge pull request #1597 from martin-frbg/cmake-avx512
Check build system support for AVX512 instructions
7 years ago
Martin Kroeker
7fb62aed7e
Check build system support for AVX512 instructions
7 years ago
Martin Kroeker
f6021c798d
Re-enable QUIET_MAKE
7 years ago
Martin Kroeker
e8002536ec
disable quiet_make for the moment
7 years ago
Martin Kroeker
ce6317f6c0
Merge pull request #1594 from martin-frbg/issue1593
Fix inverted condition in _Atomic declaration
7 years ago
Martin Kroeker
15a78d6b66
export NO_AVX512 setting
7 years ago
Martin Kroeker
354a976a59
Fix inverted condition in _Atomic declaration
fixes #1593
7 years ago
Martin Kroeker
38ad05bd04
Extend loop range to find SkylakeX in force_coretype
7 years ago
Martin Kroeker
b7feded85a
Propagate NO_AVX512 via CCOMMON_OPT
7 years ago
Martin Kroeker
dc9fe05ab5
Update cpuid_x86.c
7 years ago
Martin Kroeker
8be027e4c6
Update dynamic.c
7 years ago
Martin Kroeker
ac7b6e3e9a
Fix misplaced endif
7 years ago
Martin Kroeker
fc66a0ec0b
Merge pull request #1590 from martin-frbg/avx512_check
Disable AVX512 (Skylake X) support if the build system is too old
7 years ago
Arjan van de Ven
89372e0993
Use AVX512 also for DGEMM
this required switching to the generic gemm_beta code (which is faster anyway on SKX)
for both DGEMM and SGEMM
Performance for the not-retuned version is in the 30% range
7 years ago
Martin Kroeker
ef626c6824
typo fix
7 years ago
Martin Kroeker
83fec56a3f
Disable AVX512 (Skylake X) support if the build system is too old
7 years ago
Martin Kroeker
5a51cf4576
Separate Skylake X from Skylake
7 years ago
Martin Kroeker
5a92b311e0
Separate Skylake X from Skylake
7 years ago
Martin Kroeker
a7d0f49cec
Add SKYLAKEX to DYNAMIC_CORE list only if AVX512 is available
7 years ago
Martin Kroeker
f1fb9a4745
Propagate NO_AVX512 if needed
7 years ago
Martin Kroeker
0023515733
Typo fix (misplaced parenthesis)
7 years ago
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
36c4523d85
Merge pull request #1587 from matthew-brett/fix-compile-error-early-glibc
Revert "take out unused variables"
7 years ago
Matthew Brett
a8002e283a
Revert "take out unused variables"
This reverts commit e5752ff9b3
.
The variables i and n are used in the `#if !__GLIBC_PREREQ(2, 7)`
branch.
Closes gh-1586.
7 years ago
Martin Kroeker
401adddb2b
Merge pull request #1585 from martin-frbg/lapack-253
Fixes from Lapack-Reference PR 253
7 years ago
Martin Kroeker
c5b13d4e10
Fixes from netlib PR 253
7 years ago
Martin Kroeker
677e42d7b0
Fixes from netlib PR 253
When minimal workspace is given in ?hesv_aa, ?sysv_aa, ?hesv_aa_2stage, ?sysv_aa_2stage, now no error is given
Quick return for ?laqr1
7 years ago
Martin Kroeker
e2a8c35e5a
Fixes from netlib PR253
LAPACKE interfaces for Aasen's functions now call ?sytrf_aa and ?hetrf_aa instead of ?sytrf and ?hetrf
7 years ago
Martin Kroeker
1a49fb1c05
Merge pull request #1584 from martin-frbg/issue1503
Work around name clash with Windows10's winnt.h
7 years ago
Martin Kroeker
8562d5787a
Merge pull request #1583 from martin-frbg/issue1575
Handle INCX=0,INCY=0 case
7 years ago
Martin Kroeker
93f1eb09c3
Merge pull request #1582 from martin-frbg/develop-031
Update version number on the develop branch to 0.3.1.dev
7 years ago
Martin Kroeker
c90bbda3df
Merge pull request #1581 from martin-frbg/issue1574-2
Fix paths to LIN and EIG tests
7 years ago
Martin Kroeker
7df8c4f76f
typo fix
7 years ago
Martin Kroeker
2fc748bf72
Restore optimized swap kernel now that we have a proper fix
7 years ago