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
2018-12-15 13:49:13 +00:00
Martin Kroeker
78d877b54b
Merge pull request #1914 from fenrus75/smallmatrix
...
Add a "sgemm direct" mode for small matrixes
2018-12-13 19:08:14 +01:00
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
Martin Kroeker
87718807f0
Merge pull request #1910 from martin-frbg/issue1909
...
Fix for DYNAMIC_ARCH builds made on a AVX512-capable host
2018-12-12 14:56:25 +01:00
Martin Kroeker
51aec8e96b
make sure the added march=skylake-avx512 does not cause problems on Windows
2018-12-11 22:47:32 +01:00
Martin Kroeker
06f7d78d70
Add -march=skylake-avx512 to SkylakeX part of DYNAMIC_ARCH builds
2018-12-11 21:10:38 +01:00
Martin Kroeker
38cc638591
Avoid adding blanket march=skylake-avx512 to dynamic_arch builds
2018-12-11 21:09:26 +01:00
Martin Kroeker
0bf6d74e5f
Fix typo in previous commit for arm dynamic arch
2018-12-07 19:37:33 +01:00
Martin Kroeker
133c278ee5
Add DYNAMIC_CORE list for ARM64
...
cf #1908
2018-12-07 17:42:23 +01:00
Martin Kroeker
2b355592e3
Make sure to use the arm version of dynamic.c in ARM64 DYNAMIC_ARCH
...
cf. #1908
2018-12-07 16:25:55 +01:00
Martin Kroeker
ff3eb1d474
Merge pull request #1904 from martin-frbg/issue1870
...
Fix cmake parsing of GEMM kernels for ARMV8
2018-12-06 23:01:23 +01:00
Martin Kroeker
0b09516678
Fix missing parameter in popen call
2018-12-06 18:33:05 +01:00
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.
2018-12-06 14:04:27 +01:00
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
2018-12-06 13:56:06 +01:00
Martin Kroeker
6ba30e270d
Fix typo that broke CNRM2 on ARMV8 since 0.3.0
...
must have happened in my #1449
2018-12-06 13:42:25 +01:00
Martin Kroeker
bf23518e36
Merge pull request #1903 from rengolin/armv8
...
Fix two mistakes on Arm64 builds
2018-12-05 22:10:53 +01:00
Renato Golin
31a490ea88
Fix two mistakes on Arm64 builds
...
* Falkor is an ARMv8.0 with ARMv8.1 features, and chosing armv8.1-a for
march generates instructions it cannot cope with. Reverting it back
to armv8-a.
* ThunderX2's build was left with a #define VULCAN, which made it miss
the right compiler flags in Makefile.arm64, although it did create
the right library in the end.
2018-12-05 18:51:38 +00:00
Martin Kroeker
701ea88347
Use p2align instead of align for OSX compatibility
...
fixes #1902
2018-12-03 13:06:43 +01:00
Martin Kroeker
721c56c224
Merge pull request #1899 from brada4/fbsd12
...
Add mutually supported architecture mappings for FreeBSD12 ports
2018-12-03 12:50:27 +01:00
Martin Kroeker
c5f8aeff2d
Merge branch 'develop' into fbsd12
2018-12-03 12:50:14 +01:00
Martin Kroeker
8278cbe7f8
Merge pull request #1894 from pkubaj/patch-2
...
Use correct ARCH name on BSD powerpc64
2018-12-03 12:48:53 +01:00
Martin Kroeker
ea6d1b96bd
Update Makefile.system
2018-12-03 08:59:10 +01:00
Martin Kroeker
360374be62
Update with the changes from 0.3.4
2018-12-02 23:44:13 +01:00
Martin Kroeker
f5acaad8f0
Increment version to 0.3.5.dev
2018-12-02 23:43:15 +01:00
Martin Kroeker
93fa6b7b76
Increment version to 0.3.5.dev
2018-12-02 23:42:33 +01:00
Martin Kroeker
c0827a7164
Update with changes from 0.3.4
2018-12-02 23:41:17 +01:00
Martin Kroeker
86cff4effc
Merge pull request #1900 from xianyi/develop
...
Update from develop for 0.3.4
2018-12-02 23:40:21 +01:00
Martin Kroeker
b028960aba
Merge branch 'release-0.3.0' into develop
2018-12-02 23:38:49 +01:00
Martin Kroeker
3c9e3faedb
fixup BSD naming of powerpc arch
2018-12-02 23:24:53 +01:00
Andrew
44c81fd135
oops
2018-12-02 20:27:53 +01:00
Andrew
26b3710485
Add architecture mappings for FreeBSD12
2018-12-02 12:07:41 +01:00
Andrew
84e614d0fd
init
2018-12-02 12:05:15 +01:00
Martin Kroeker
dceff5542c
Handle Android environments that identify as Linux ( #1898 )
...
* Handle Android environments that identify as Linux
termux terminal emulator does this, causing build failures through missed defines in common.h
2018-12-01 20:56:11 +01:00
Martin Kroeker
6c7b691083
Really revert xDOT changes from 1832
...
neglected to rebase #1892 on merging
2018-11-30 21:32:01 +01:00
Martin Kroeker
5f4c550c27
Merge pull request #1892 from martin-frbg/mipsdot
...
revert MIPS64 xDOT kernel changes from #1832
2018-11-30 21:28:21 +01:00
pkubaj
731b2722ba
Fix build on POWER, remove DragonFly, add NetBSD
...
__asm is complete on its own
DBSD developers state they will only support amd64, but NetBSD supports POWER.
2018-11-30 21:12:05 +01:00
pkubaj
f85ce54d4a
Use correct Makefile on powerpc64
...
FreeBSD uses powerpc64 name for POWER architecture. Use correct Makefile for this platform.
2018-11-30 16:05:49 +00:00
Andrew
2601cd58ab
remove surplus locking code , only enabled w x86, disabled or never enabled on all others
2018-11-30 11:38:19 +01:00
Martin Kroeker
95a5542e3c
Revert DOT kernel changes from #1834
...
as the failures seen on Loongson3A appear to be limited to DSDOT/SDSDOT (i.e. my hackish "fix" from #1684 )
2018-11-30 11:16:24 +01:00
Martin Kroeker
7a2e1bc804
Use generic kernel for DSDOT/SDSDOT
...
as discussed in #1834
2018-11-30 10:57:09 +01:00
Martin Kroeker
35653e38b3
Merge pull request #1834 from fengrl/develop
...
register push/pop command change
2018-11-30 10:48:46 +01:00
Martin Kroeker
71e25ae42f
Merge pull request #1890 from martin-frbg/issue1889
...
Include version number in openblas_get_config output
2018-11-29 15:47:35 +01:00
Martin Kroeker
97d7298973
call it OpenBLAS not just version
2018-11-29 11:52:08 +01:00
Martin Kroeker
de0d0ed52f
Improve formatting of config output
2018-11-29 11:28:19 +01:00
Martin Kroeker
081ceb3e02
Propagate version number for openblas_get_config
2018-11-29 00:12:04 +01:00
Martin Kroeker
a29ec458c2
propagate verison number for openblas_config_version
2018-11-29 00:10:49 +01:00
Martin Kroeker
816775e309
Add version information to openblas_get_config output
2018-11-29 00:06:44 +01:00
Martin Kroeker
b6363f4539
Merge pull request #1885 from brada4/freebsd
...
Fix freebsd clang compilation of skylakex
2018-11-25 22:20:13 +01:00
Andrew
19c4bdd8b3
Add return value so that freebsd system clang does not err out
2018-11-25 21:35:01 +01:00
Andrew
f049a4c84f
init
2018-11-25 21:34:09 +01:00