TiborGY
7cbc2c37d6
Update cpuid_mips64.c
7 years ago
TiborGY
c329de2931
Update Makefile
7 years ago
TiborGY
187233953c
Update cpuid_mips.c
7 years ago
TiborGY
09170268a3
Update cpuid_arm.c
7 years ago
TiborGY
211120c508
Fix typo in UNKNOWN core name
Should be of no consequence, right?
7 years ago
Martin Kroeker
9e4d190f4f
Merge pull request #1932 from martin-frbg/issue1915
Add -fPIC to provided CFLAGS/FFLAGS if required
7 years ago
Martin Kroeker
fe02ba86a4
Remove unnecessary change again
7 years ago
Martin Kroeker
284fb00971
Merge pull request #1934 from fenrus75/betagoof
Fix thinko in skylake beta handling
7 years ago
Arjan van de Ven
795285c587
Fix thinko in skylake beta handling
casting ints is cheaper but it has a rounding, not memory casing effect, resulting in
invalid outcome
7 years ago
Martin Kroeker
d6818777d1
Make sure that -fPIC is present if needed
7 years ago
Martin Kroeker
5bd21ab6e1
Make sure that -fPIC is present when needed
override user-provided FFLAGS if necessary
7 years ago
Martin Kroeker
e1eab96502
Merge pull request #1931 from martin-frbg/pr1921
Add -mavx2 to TARGET=HASWELL builds
7 years ago
Martin Kroeker
76b4b8980f
Use -dumpversion with gcc only
7 years ago
Martin Kroeker
49e0f485da
Add -mavx2 for TARGET=HASWELL if compiler supports and requires it
7 years ago
Martin Kroeker
43c2b0eb55
Add -mavx2 to TARGET=HASWELL builds
to leverage improvements from PR#1921
7 years ago
Martin Kroeker
942e229ed5
Merge pull request #1930 from martin-frbg/issue1908
Reflect ARMV8 target definition changes from PR1876
7 years ago
Martin Kroeker
26a3402773
Reflect ARMV8 target definition changes from PR1876
and create config target directory for cross-compiles.
7 years ago
Martin Kroeker
20033f992a
Merge pull request #1929 from martin-frbg/issue1924
Avoid taking the root of a negative number in simple threaded syrk
7 years ago
Martin Kroeker
f343ed65b5
Avoid taking the root of a negative number
Fixes #1924 where numpy 1.17+ would report the (transient) FE_INVALID exception raised for the domain error.
7 years ago
Martin Kroeker
a5a1118527
Merge pull request #1 from xianyi/develop
rebase
7 years ago
Martin Kroeker
e23366e860
Merge pull request #1921 from fenrus75/haswelldgemm
Replicate some of the SKYLAKEX dgemm improvements also to HASWELL
7 years ago
Arjan van de Ven
b28f75cd7e
set GEMM_PREFERED_SIZE for HASWELL
Haswell likes a GEMM_PREFERED_SIZE of 16 to improve the split that the
threading code does to make it a nice multiple of the SIMD kernel size
7 years ago
Arjan van de Ven
d321448a63
dgemm: use dgemm_ncopy_8_skylakex.c also for Haswell
The dgemm_ncopy_8_skylakex.c code is not avx512 specific and gives
a nice performance boost for medium sized matrices
7 years ago
Arjan van de Ven
c43331ad0a
dgemm: Use the skylakex beta function also for haswell
it's more efficient for certain tall/skinny matrices
7 years ago
Martin Kroeker
e8ca5a59a9
Merge pull request #1919 from fenrus75/haswelltuning
(sgemm) Apply some of the SKYLAKEX optimizations also to HASWELL
7 years ago
Martin Kroeker
c4e23dd016
Update Makefile
7 years ago
Martin Kroeker
cfc4acc221
typo
7 years ago
Martin Kroeker
545c2b1bbb
Add -mavx2 on Haswell only if the compiler supports it
7 years ago
Arjan van de Ven
69d206440a
Make the skylakex/haswell sgemm code compile and run even with compilers without avx2 support
7 years ago
Martin Kroeker
3843e3e017
use -maxv2 on haswell
7 years ago
Martin Kroeker
fbcb14a74b
should be core-avx2
7 years ago
Martin Kroeker
2a3190dc76
fix elseifeq and use older option core2-avx for compatibility
7 years ago
Martin Kroeker
1ebe5c0f49
Add -march=haswell to HASWELL part of DYNAMIC_ARCH build
7 years ago
Arjan van de Ven
0586899a10
Use sgemm_ncopy_4_skylakex.c also for Haswell
sgemm_ncopy_4_skylakex.c uses SSE transpose operations where the
real perf win happens; this also works great for Haswell.
This gives double digit percentage gains on small and skinny matrices
7 years ago
Arjan van de Ven
00dc09ad19
Use the skylake sgemm beta code also for haswell
with a few small changes it's possible to use the skylake sgemm code
also for haswell, this gives a modest gain (10% range) for smallish
matrixes but does wonders for very skinny matrixes
7 years ago
Martin Kroeker
78d877b54b
Merge pull request #1914 from fenrus75/smallmatrix
Add a "sgemm direct" mode for small matrixes
7 years ago
Arjan van de Ven
cdc668d82b
Add a "sgemm direct" mode for small matrixes
OpenBLAS has a fancy algorithm for copying the input data while laying
it out in a more CPU friendly memory layout.
This is great for large matrixes; the cost of the copy is easily
ammortized by the gains from the better memory layout.
But for small matrixes (on CPUs that can do efficient unaligned loads) this
copy can be a net loss.
This patch adds (for SKYLAKEX initially) a "sgemm direct" mode, that bypasses
the whole copy machinary for ALPHA=1/BETA=0/... standard arguments,
for small matrixes only.
What is small? For the non-threaded case this has been measured to be
in the M*N*K = 28 * 512 * 512 range, while in the threaded case it's
less, around M*N*K = 1 * 512 * 512
7 years ago
Martin Kroeker
87718807f0
Merge pull request #1910 from martin-frbg/issue1909
Fix for DYNAMIC_ARCH builds made on a AVX512-capable host
7 years ago
Martin Kroeker
51aec8e96b
make sure the added march=skylake-avx512 does not cause problems on Windows
7 years ago
Martin Kroeker
06f7d78d70
Add -march=skylake-avx512 to SkylakeX part of DYNAMIC_ARCH builds
7 years ago
Martin Kroeker
38cc638591
Avoid adding blanket march=skylake-avx512 to dynamic_arch builds
7 years ago
Martin Kroeker
0bf6d74e5f
Fix typo in previous commit for arm dynamic arch
7 years ago
Martin Kroeker
133c278ee5
Add DYNAMIC_CORE list for ARM64
cf #1908
7 years ago
Martin Kroeker
2b355592e3
Make sure to use the arm version of dynamic.c in ARM64 DYNAMIC_ARCH
cf. #1908
7 years ago
Martin Kroeker
ff3eb1d474
Merge pull request #1904 from martin-frbg/issue1870
Fix cmake parsing of GEMM kernels for ARMV8
7 years ago
Martin Kroeker
0b09516678
Fix missing parameter in popen call
7 years ago
Martin Kroeker
7639f2e1f0
Rewrite the conditional for OSX to fix cmake parsing on others
The Makefile variable parser in utils.cmake currently does not handle conditionals. Having the definitions for non-OSX last will at least make cmake builds work again on non-OSX platforms.
7 years ago
Martin Kroeker
2fc712469d
Avoid creating spurious non-suffixed c/zgemm_kernels
Plain cgemm_kernel and zgemm_kernel are not used anywhere, only cgemm_kernel_b etc.
Needlessly building them (without any define like NN, CN, etc.) just happened to work on most platforms, but not on arm64. See #1870
7 years ago
Martin Kroeker
6ba30e270d
Fix typo that broke CNRM2 on ARMV8 since 0.3.0
must have happened in my #1449
7 years ago
Martin Kroeker
bf23518e36
Merge pull request #1903 from rengolin/armv8
Fix two mistakes on Arm64 builds
7 years ago