OpenBLAS/kernel
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
2018-12-13 13:47:31 +00:00
..
alpha Remove all trailing whitespace except lapack-netlib 2014-06-27 12:05:18 -07:00
arm Convert fldmia/fstmia instructions to UAL syntax for clang7 2018-09-28 23:05:15 +02:00
arm64 Rewrite the conditional for OSX to fix cmake parsing on others 2018-12-06 14:04:27 +01:00
generic fix small typo 2018-09-09 16:52:25 +02:00
ia64 Remove all trailing whitespace except lapack-netlib 2014-06-27 12:05:18 -07:00
mips Merge pull request #1565 from martin-frbg/mipstypo 2018-05-17 20:22:58 +02:00
mips64 Really revert xDOT changes from 1832 2018-11-30 21:32:01 +01:00
power Use the new zrot.c on POWER8 for crot as well 2018-05-23 22:54:39 +02:00
sparc Remove all trailing whitespace except lapack-netlib 2014-06-27 12:05:18 -07:00
x86 Typo fix (misplaced parenthesis) 2018-06-03 13:22:59 +02:00
x86_64 Add a "sgemm direct" mode for small matrixes 2018-12-13 13:47:31 +00:00
zarch Merge pull request #1499 from quickwritereader/develop 2018-03-27 21:43:23 +02:00
CMakeLists.txt Avoid creating spurious non-suffixed c/zgemm_kernels 2018-12-06 13:56:06 +01:00
Makefile make sure the added march=skylake-avx512 does not cause problems on Windows 2018-12-11 22:47:32 +01:00
Makefile.L1 Remove duplicate -D args in kernel/Makefile.L1 2015-11-09 14:15:48 +05:30
Makefile.L2 Remove all trailing whitespace except lapack-netlib 2014-06-27 12:05:18 -07:00
Makefile.L3 Set USE_TRMM for all ZARCH variants to fix TRMM faults with zarch-generic 2018-08-28 21:34:07 +02:00
Makefile.LA Support NO_LAPACK=1 to build the lib without LAPACK functions. 2011-03-04 11:51:32 +08:00
setparam-ref.c ARM64: Enable DYNAMIC_ARCH 2018-10-22 01:49:35 -07:00