Rajalakshmi Srinivasaraghavan
a87793e03c
Fix DYNAMIC_ARCH compilation errors
5 years ago
Rajalakshmi Srinivasaraghavan
ac6a22ae78
Update header
5 years ago
Rajalakshmi Srinivasaraghavan
ff010f496e
Build shgemm for all architecture
5 years ago
Rajalakshmi Srinivasaraghavan
7eb55504b1
RFC : Add half precision gemm for bfloat16 in OpenBLAS
This patch adds support for bfloat16 data type matrix multiplication kernel.
For architectures that don't support bfloat16, it is defined as unsigned short
(2 bytes). Default unroll sizes can be changed as per architecture as done for
SGEMM and for now 8 and 4 are used for M and N. Size of ncopy/tcopy can be
changed as per architecture requirement and for now, size 2 is used.
Added shgemm in kernel/power/KERNEL.POWER9 and tested in powerpc64le and
powerpc64. For reference, added a small test compare_sgemm_shgemm.c to compare
sgemm and shgemm output.
This patch does not cover OpenBLAS test, benchmark and lapack tests for shgemm.
Complex type implementation can be discussed and added once this is approved.
5 years ago
Martin Kroeker
c861b2a7bd
Merge pull request #2553 from martin-frbg/issue2444
Add a read memory barrier to the traversal of the buffer slot list
5 years ago
Martin Kroeker
cf62adffbb
Merge pull request #2555 from martin-frbg/issue1137
Handle unaligned data in the SSE2 copy kernel
5 years ago
Martin Kroeker
3eec7d382c
ARMV7 does not support DMB ISHLD, use DMB ISH
5 years ago
Martin Kroeker
5b0093b5fe
Convert aligned moves to unaligned
should have no performance impact on reasonably modern cpus and fixes occasional crashes in actual user code.
5 years ago
Martin Kroeker
f41600e66f
Add a read barrier in the traversing of the buffer list
Needed on systems with weak memory ordering - the inferior, partially working fix from #2544 was already removed in #2551
5 years ago
Martin Kroeker
f5efecb7ca
Add (empty) read barrier definition
5 years ago
Martin Kroeker
a52bdd9d7b
Add (empty) read barrier definition
5 years ago
Martin Kroeker
db3226a646
Add (empty) read barrier definition
5 years ago
Martin Kroeker
69b6e258d8
Add (empty) read barrier definition
5 years ago
Martin Kroeker
3d4db4d002
Add read barrier definition
5 years ago
Martin Kroeker
99dde1d2c9
Add read barrier definition
5 years ago
Martin Kroeker
ee6b3df02c
Add read barrier definition
5 years ago
Martin Kroeker
25e879fe92
Add (empty) read barrier definition
5 years ago
Martin Kroeker
d237dc1360
Add read barrier definition
5 years ago
Martin Kroeker
8692456226
Add read barrier definition
5 years ago
Martin Kroeker
d1d69e1b9a
Add read barrier definition
5 years ago
Martin Kroeker
20d0cb2f65
Merge pull request #46 from xianyi/develop
rebase
5 years ago
Martin Kroeker
e7f0da9295
Merge pull request #2551 from martin-frbg/issue2538-2
Increase BUFFER_SIZEs and add a safeguard; supply GEMM_R for POWER8/9
5 years ago
Martin Kroeker
e9bfa2291a
Fix parameter overflow
5 years ago
Martin Kroeker
2a28448a96
Add safeguards for sufficient BUFFER_SIZE
5 years ago
Martin Kroeker
a33d177430
Increase default BUFFER_SIZE on ARM, ZARCH and newer x86_64, add GEMM_R for POWER8/9
As shown in #2538 , default buffersizes on some platforms were smaller than required in memory.c
and the requirement could never be fulfilled for a calculated GEMM_R on PPC given the fomula used
5 years ago
Martin Kroeker
f73391c9c9
Merge pull request #45 from xianyi/develop
rebase
5 years ago
Martin Kroeker
7905383cb5
Merge pull request #2547 from sharvil/develop
Add API to set thread affinity on Linux.
5 years ago
Martin Kroeker
a8cbd451bf
Merge pull request #2541 from bapt/develop
libname: treat FreeBSD and DragonFly like linux and sunos
5 years ago
Martin Kroeker
eecd8c3204
Merge pull request #2548 from gxw-loongson/develop
Add a GENERIC target for 64bit MIPS
5 years ago
Martin Kroeker
ea85eb2e02
Merge pull request #2549 from martin-frbg/fixthreadtest
Match thread count in cpp_thread_test to host capability
5 years ago
Martin Kroeker
66f89c0aaf
Match thread count to machine capability
5 years ago
gxw
8d07cf9b67
Fix compilation problem on loongson platform
Using "make TARGET=GENERIC" on loongson platform will get the following
error messages:
"make[1]: *** No rule to make target 'sgemm_incopy.o', needed by 'libs'"
Add kernel/mips64/KERNEL.generic to slove the problem.
5 years ago
Sharvil Nanavati
7b4773b24d
Add API to set thread affinity on Linux.
Issue: #2545
5 years ago
Martin Kroeker
69f277f8ee
Add another memory barrier for ARM and a multicore test run on ThunderX to help detect such issues ( #2544 )
* Add another memory barrier in memory.c to prevent races in memory slot allocation
* Add an all-core test on Drone.io's ThunderX platform and modify dgemm_tester to use all 96 cores
5 years ago
Martin Kroeker
3a6d51c2fd
Merge pull request #44 from xianyi/develop
Add a Z13 build to the Travis configuration (#2542 )
5 years ago
Martin Kroeker
1c7771df96
Merge pull request #43 from martin-frbg/revert-42-z12ci
Revert 42 z12ci to keep forked develop clean
5 years ago
Martin Kroeker
a56c9ec52a
Revert "Add IBM Z to Travis configuration ( #42 )"
This reverts commit 7972beb375
.
5 years ago
Martin Kroeker
4ae6d1a01b
Add a Z13 build to the Travis configuration ( #2542 )
* Add IBM Z to Travis configuration
5 years ago
Martin Kroeker
7972beb375
Add IBM Z to Travis configuration ( #42 )
* Add IBM Z to Travis configuration
5 years ago
Baptiste Daroussin
41e802443a
libname: treat FreeBSD and DragonFly like linux and sunos
There is no difference in the way libnames are handle between FreeBSD
and linux or sunos. FreeBSD and DragonFly prefers having sonames as well
5 years ago
Martin Kroeker
7bd8624b79
Merge pull request #41 from xianyi/develop
rebase
5 years ago
Martin Kroeker
806f89166e
Make ARMV7 compile with xcode and add a CI job for it ( #2537 )
* Add an ARMV7 iOS build on Travis
* thread_local appears to be unavailable on ARMV7 iOS
* Add no-thumb option for ARMV7 IOS build to get it to accept DMB ISH
* Make local labels in macros of nrm2_vfpv3.S compatible with the xcode assembler
5 years ago
Martin Kroeker
f059e614eb
Merge pull request #2536 from martin-frbg/recurs
Add "recursive" option for LAPACK builds with ifort or pgfort as well
5 years ago
Martin Kroeker
e13b6773ee
ifort and pgfort need "recursive" for safe compilation of LAPACK as well
5 years ago
Martin Kroeker
a05243d0f2
ifort and pgfort need "recursive" for compiling LAPACK as well
as shown in Reference-LAPACK issue 401 (their PR 403)
5 years ago
Martin Kroeker
c6af9bbb32
Merge pull request #2534 from martin-frbg/issue2496
Fix zero initialization for beta=0 case
5 years ago
Martin Kroeker
144be81ca1
fix initialization to zero in the NEON SGEMM_BETA kernel as well
5 years ago
Martin Kroeker
07cdd5d05c
Fix zero initialization for beta=0 case
use immediate initialization instead of multiplication in case register content is a NaN
5 years ago
Martin Kroeker
567d2760e6
Merge pull request #2520 from wjc404/develop
Fix avx512 sgemm performance bug when ldc is a multiple of 1024
5 years ago
Martin Kroeker
018bb3e433
Merge pull request #2533 from martin-frbg/gemmdirect2
Use runtime check for AVX512 capability in DYNAMIC_ARCH builds made on SKX
5 years ago