Martin Kroeker [Mon, 20 Apr 2020 20:30:51 +0000 (22:30 +0200)]
Use CMAKE_SHARED_LINKER_FLAGS to pass MSVC linker option
target_link_libraries does not work here according to issue 2472
Martin Kroeker [Mon, 20 Apr 2020 19:51:59 +0000 (21:51 +0200)]
Merge pull request #48 from xianyi/develop
rebase
Martin Kroeker [Mon, 20 Apr 2020 15:13:53 +0000 (17:13 +0200)]
Merge pull request #2565 from martin-frbg/mips24k
Support MIPS32 24K family as P5600
Martin Kroeker [Sun, 19 Apr 2020 20:09:55 +0000 (22:09 +0200)]
Merge pull request #2559 from RajalakshmiSR/shgemm
Add half precision gemm for bfloat16 in OpenBLAS
Martin Kroeker [Sun, 19 Apr 2020 17:06:33 +0000 (19:06 +0200)]
Merge pull request #2568 from martin-frbg/azure-win
Add a Windows/CL build job to the Azure CI
Martin Kroeker [Sun, 19 Apr 2020 17:04:33 +0000 (19:04 +0200)]
Add a Windows/CL build to the Azure Ci configuration
Martin Kroeker [Sun, 19 Apr 2020 17:01:58 +0000 (19:01 +0200)]
Merge pull request #2567 from xianyi/revert-2566-azurewin
Revert "Add Windows build job on Azure CI"
Martin Kroeker [Sun, 19 Apr 2020 17:00:37 +0000 (19:00 +0200)]
Revert "Add Windows build job on Azure CI (#2566)"
This reverts commit
e1e543b145ce6bef55e7a8ee4e3efff3e3d31cb2.
Martin Kroeker [Sun, 19 Apr 2020 14:16:15 +0000 (16:16 +0200)]
Add Windows build job on Azure CI (#2566)
* Add Windows-CL build job on Azure
Martin Kroeker [Sun, 19 Apr 2020 13:44:30 +0000 (15:44 +0200)]
Delete KERNEL.1004K
Martin Kroeker [Sun, 19 Apr 2020 13:44:19 +0000 (15:44 +0200)]
Delete KERNEL.24K
Martin Kroeker [Sun, 19 Apr 2020 13:43:54 +0000 (15:43 +0200)]
Rename KERNEL files to include MIPS prefix
Martin Kroeker [Sun, 19 Apr 2020 12:55:31 +0000 (14:55 +0200)]
Update getarch.c
Martin Kroeker [Sun, 19 Apr 2020 11:52:58 +0000 (13:52 +0200)]
Update getarch.c
Martin Kroeker [Sun, 19 Apr 2020 11:22:19 +0000 (13:22 +0200)]
Rename the FORCE entries for 24K and 1004K to include the MIPS prefix
Martin Kroeker [Sun, 19 Apr 2020 06:10:26 +0000 (08:10 +0200)]
Update kernel.cmake
Martin Kroeker [Sun, 19 Apr 2020 05:21:48 +0000 (07:21 +0200)]
Disable RPCC macro on MIPS24K
Martin Kroeker [Sun, 19 Apr 2020 04:54:52 +0000 (06:54 +0200)]
Update README.md
Martin Kroeker [Sun, 19 Apr 2020 04:51:57 +0000 (06:51 +0200)]
Update TargetList.txt
Martin Kroeker [Sun, 19 Apr 2020 04:50:51 +0000 (06:50 +0200)]
Add compiler options for MIPS32 24K/1004K
Martin Kroeker [Sat, 18 Apr 2020 21:50:23 +0000 (23:50 +0200)]
rename 1004K, 24K to MIPS1004K, MIPS24K to avoid identifier naming problem
Martin Kroeker [Sat, 18 Apr 2020 19:36:28 +0000 (21:36 +0200)]
Update kernel.cmake
Martin Kroeker [Sat, 18 Apr 2020 19:34:14 +0000 (21:34 +0200)]
Update common_macro.h
Martin Kroeker [Sat, 18 Apr 2020 19:16:49 +0000 (21:16 +0200)]
Typo fix in MIPS24K addition
Martin Kroeker [Sat, 18 Apr 2020 19:10:18 +0000 (21:10 +0200)]
Add MIPS24K support
Martin Kroeker [Sat, 18 Apr 2020 19:09:32 +0000 (21:09 +0200)]
Handle MIPS24K like P5600
and allow enforcing TARGET=1004K as well (omission from earlier 1004K merge and later introduction of TARGET check)
Martin Kroeker [Sat, 18 Apr 2020 19:07:14 +0000 (21:07 +0200)]
Merge pull request #47 from xianyi/develop
rebase
Martin Kroeker [Sat, 18 Apr 2020 14:04:38 +0000 (16:04 +0200)]
Update common_macro.h
Martin Kroeker [Sat, 18 Apr 2020 13:53:51 +0000 (15:53 +0200)]
Use generic kernels for ishama,shasum,shdot,shrot
Martin Kroeker [Sat, 18 Apr 2020 10:52:51 +0000 (12:52 +0200)]
Use generic codes for shamax and shcopy
Martin Kroeker [Sat, 18 Apr 2020 09:10:15 +0000 (11:10 +0200)]
Define AXPBY_K fallback for float16
Martin Kroeker [Sat, 18 Apr 2020 09:07:16 +0000 (11:07 +0200)]
Use generic axpy.c for SHAXPY as x86 lacks saxpy.c
Martin Kroeker [Fri, 17 Apr 2020 20:27:58 +0000 (22:27 +0200)]
use saxpy.c instead of axpy.S for SHAXPY
Rajalakshmi Srinivasaraghavan [Fri, 17 Apr 2020 18:35:17 +0000 (13:35 -0500)]
cmake fixes
Martin Kroeker [Thu, 16 Apr 2020 09:45:32 +0000 (11:45 +0200)]
Merge pull request #2563 from zelong-1024/develop
[OpenBLAS]: benchmark error of potrf
l00536773 [Thu, 16 Apr 2020 02:55:10 +0000 (10:55 +0800)]
[OpenBLAS]: benchmark error of potrf
[description]: when the matrix size goes higher than 5800 during the cpotrf test, error info, such as "Potrf info = 5679", will be returned on ARM64 and x86 machines. Uplo = L & F.
[solution]: changed the func for building the matrix so that the complex Hermitian matrix can stay positive definite during the computation.
[dts]:
Rajalakshmi Srinivasaraghavan [Thu, 16 Apr 2020 00:15:23 +0000 (19:15 -0500)]
Fix warnings in clang and export symbol
Martin Kroeker [Wed, 15 Apr 2020 18:23:43 +0000 (20:23 +0200)]
Merge pull request #2557 from martin-frbg/dronebadge
Update and reformat README
Martin Kroeker [Wed, 15 Apr 2020 18:23:17 +0000 (20:23 +0200)]
Merge pull request #2556 from martin-frbg/epicdrone
Add a drone.io multithread test for x86_64
Martin Kroeker [Wed, 15 Apr 2020 17:26:12 +0000 (19:26 +0200)]
Restore USE_OPENMP in the x86 thread test
Martin Kroeker [Wed, 15 Apr 2020 15:38:33 +0000 (17:38 +0200)]
Move all 19.04-based jobs back to ubuntu 18.04
Rajalakshmi Srinivasaraghavan [Wed, 15 Apr 2020 14:09:50 +0000 (09:09 -0500)]
Fix DYNAMIC_ARCH compilation errors
Rajalakshmi Srinivasaraghavan [Wed, 15 Apr 2020 03:58:39 +0000 (22:58 -0500)]
Update header
Rajalakshmi Srinivasaraghavan [Wed, 15 Apr 2020 01:38:53 +0000 (20:38 -0500)]
Build shgemm for all architecture
Rajalakshmi Srinivasaraghavan [Tue, 14 Apr 2020 19:55:08 +0000 (14:55 -0500)]
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.
Martin Kroeker [Tue, 14 Apr 2020 17:18:35 +0000 (19:18 +0200)]
try x86_64 test without openmp
Martin Kroeker [Tue, 14 Apr 2020 08:53:28 +0000 (10:53 +0200)]
Add drone.io badge, mention EMAG8180 support, reformat the DYNAMIC_ARCH paragraph
Martin Kroeker [Mon, 13 Apr 2020 20:46:12 +0000 (22:46 +0200)]
Add a multithread test for x86_64
Martin Kroeker [Mon, 13 Apr 2020 19:28:59 +0000 (21:28 +0200)]
Merge pull request #2553 from martin-frbg/issue2444
Add a read memory barrier to the traversal of the buffer slot list
Martin Kroeker [Mon, 13 Apr 2020 16:29:56 +0000 (18:29 +0200)]
Merge pull request #2555 from martin-frbg/issue1137
Handle unaligned data in the SSE2 copy kernel
Martin Kroeker [Mon, 13 Apr 2020 13:56:31 +0000 (15:56 +0200)]
ARMV7 does not support DMB ISHLD, use DMB ISH
Martin Kroeker [Mon, 13 Apr 2020 12:58:52 +0000 (14:58 +0200)]
Convert aligned moves to unaligned
should have no performance impact on reasonably modern cpus and fixes occasional crashes in actual user code.
Martin Kroeker [Mon, 13 Apr 2020 10:34:02 +0000 (12:34 +0200)]
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
Martin Kroeker [Mon, 13 Apr 2020 10:24:10 +0000 (12:24 +0200)]
Add (empty) read barrier definition
Martin Kroeker [Mon, 13 Apr 2020 10:22:35 +0000 (12:22 +0200)]
Add (empty) read barrier definition
Martin Kroeker [Mon, 13 Apr 2020 10:18:48 +0000 (12:18 +0200)]
Add (empty) read barrier definition
Martin Kroeker [Mon, 13 Apr 2020 10:17:41 +0000 (12:17 +0200)]
Add (empty) read barrier definition
Martin Kroeker [Mon, 13 Apr 2020 10:16:44 +0000 (12:16 +0200)]
Add read barrier definition
Martin Kroeker [Mon, 13 Apr 2020 10:14:58 +0000 (12:14 +0200)]
Add read barrier definition
Martin Kroeker [Mon, 13 Apr 2020 10:14:06 +0000 (12:14 +0200)]
Add read barrier definition
Martin Kroeker [Mon, 13 Apr 2020 10:12:54 +0000 (12:12 +0200)]
Add (empty) read barrier definition
Martin Kroeker [Mon, 13 Apr 2020 10:11:58 +0000 (12:11 +0200)]
Add read barrier definition
Martin Kroeker [Mon, 13 Apr 2020 10:10:37 +0000 (12:10 +0200)]
Add read barrier definition
Martin Kroeker [Mon, 13 Apr 2020 10:09:24 +0000 (12:09 +0200)]
Add read barrier definition
Martin Kroeker [Mon, 13 Apr 2020 10:06:40 +0000 (12:06 +0200)]
Merge pull request #46 from xianyi/develop
rebase
Martin Kroeker [Sun, 12 Apr 2020 20:34:41 +0000 (22:34 +0200)]
Merge pull request #2551 from martin-frbg/issue2538-2
Increase BUFFER_SIZEs and add a safeguard; supply GEMM_R for POWER8/9
Martin Kroeker [Sun, 12 Apr 2020 17:47:02 +0000 (19:47 +0200)]
Fix parameter overflow
Martin Kroeker [Sun, 12 Apr 2020 17:45:36 +0000 (19:45 +0200)]
Add safeguards for sufficient BUFFER_SIZE
Martin Kroeker [Sun, 12 Apr 2020 17:44:48 +0000 (19:44 +0200)]
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
Martin Kroeker [Sun, 12 Apr 2020 17:39:05 +0000 (19:39 +0200)]
Merge pull request #45 from xianyi/develop
rebase
Martin Kroeker [Fri, 10 Apr 2020 22:35:38 +0000 (00:35 +0200)]
Merge pull request #2547 from sharvil/develop
Add API to set thread affinity on Linux.
Martin Kroeker [Fri, 10 Apr 2020 22:35:07 +0000 (00:35 +0200)]
Merge pull request #2541 from bapt/develop
libname: treat FreeBSD and DragonFly like linux and sunos
Martin Kroeker [Fri, 10 Apr 2020 22:34:04 +0000 (00:34 +0200)]
Merge pull request #2548 from gxw-loongson/develop
Add a GENERIC target for 64bit MIPS
Martin Kroeker [Fri, 10 Apr 2020 21:54:40 +0000 (23:54 +0200)]
Merge pull request #2549 from martin-frbg/fixthreadtest
Match thread count in cpp_thread_test to host capability
Martin Kroeker [Fri, 10 Apr 2020 20:06:44 +0000 (22:06 +0200)]
Match thread count to machine capability
gxw [Thu, 9 Apr 2020 11:25:13 +0000 (19:25 +0800)]
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.
Sharvil Nanavati [Wed, 8 Apr 2020 19:47:41 +0000 (12:47 -0700)]
Add API to set thread affinity on Linux.
Issue: #2545
Martin Kroeker [Wed, 8 Apr 2020 09:04:51 +0000 (11:04 +0200)]
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
Martin Kroeker [Sat, 4 Apr 2020 20:48:53 +0000 (22:48 +0200)]
Merge pull request #44 from xianyi/develop
Add a Z13 build to the Travis configuration (#2542)
Martin Kroeker [Sat, 4 Apr 2020 20:46:58 +0000 (22:46 +0200)]
Merge pull request #43 from martin-frbg/revert-42-z12ci
Revert 42 z12ci to keep forked develop clean
Martin Kroeker [Sat, 4 Apr 2020 20:45:01 +0000 (22:45 +0200)]
Revert "Add IBM Z to Travis configuration (#42)"
This reverts commit
7972beb3754409db9af3c22dbbe7bd8075c09f6e.
Martin Kroeker [Fri, 3 Apr 2020 14:02:11 +0000 (16:02 +0200)]
Add a Z13 build to the Travis configuration (#2542)
* Add IBM Z to Travis configuration
Martin Kroeker [Fri, 3 Apr 2020 13:59:18 +0000 (15:59 +0200)]
Add IBM Z to Travis configuration (#42)
* Add IBM Z to Travis configuration
Baptiste Daroussin [Fri, 3 Apr 2020 04:20:42 +0000 (06:20 +0200)]
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
Martin Kroeker [Thu, 2 Apr 2020 08:32:19 +0000 (10:32 +0200)]
Merge pull request #41 from xianyi/develop
rebase
Martin Kroeker [Thu, 2 Apr 2020 08:30:37 +0000 (10:30 +0200)]
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
Martin Kroeker [Wed, 1 Apr 2020 18:00:13 +0000 (20:00 +0200)]
Merge pull request #2536 from martin-frbg/recurs
Add "recursive" option for LAPACK builds with ifort or pgfort as well
Martin Kroeker [Wed, 1 Apr 2020 13:39:16 +0000 (15:39 +0200)]
ifort and pgfort need "recursive" for safe compilation of LAPACK as well
Martin Kroeker [Wed, 1 Apr 2020 13:38:07 +0000 (15:38 +0200)]
ifort and pgfort need "recursive" for compiling LAPACK as well
as shown in Reference-LAPACK issue 401 (their PR 403)
Martin Kroeker [Tue, 31 Mar 2020 18:53:13 +0000 (20:53 +0200)]
Merge pull request #2534 from martin-frbg/issue2496
Fix zero initialization for beta=0 case
Martin Kroeker [Tue, 31 Mar 2020 14:53:56 +0000 (16:53 +0200)]
fix initialization to zero in the NEON SGEMM_BETA kernel as well
Martin Kroeker [Mon, 30 Mar 2020 22:21:02 +0000 (00:21 +0200)]
Fix zero initialization for beta=0 case
use immediate initialization instead of multiplication in case register content is a NaN
Martin Kroeker [Mon, 30 Mar 2020 18:15:59 +0000 (20:15 +0200)]
Merge pull request #2520 from wjc404/develop
Fix avx512 sgemm performance bug when ldc is a multiple of 1024
Martin Kroeker [Mon, 30 Mar 2020 18:15:37 +0000 (20:15 +0200)]
Merge pull request #2533 from martin-frbg/gemmdirect2
Use runtime check for AVX512 capability in DYNAMIC_ARCH builds made on SKX
Martin Kroeker [Thu, 26 Mar 2020 20:25:39 +0000 (21:25 +0100)]
Expose the support_avx512 function provided in dynamic.c
Martin Kroeker [Thu, 26 Mar 2020 20:12:56 +0000 (21:12 +0100)]
Use runtime check for AVX512 (sgemm_direct) capability when using DYNAMIC_ARCH
Martin Kroeker [Thu, 26 Mar 2020 20:06:51 +0000 (21:06 +0100)]
Merge pull request #39 from xianyi/develop
rebase
Martin Kroeker [Tue, 24 Mar 2020 14:44:46 +0000 (15:44 +0100)]
Merge pull request #2530 from martin-frbg/dynmsg
Add message highlighting minimum target choice at end of DYNAMIC_ARCH…
Martin Kroeker [Tue, 24 Mar 2020 14:44:27 +0000 (15:44 +0100)]
Merge pull request #2529 from shengyang-3390/dev1
add ctest for drotm and modified ctest for drot.
Martin Kroeker [Mon, 23 Mar 2020 18:35:51 +0000 (19:35 +0100)]
Add message highlighting minimum target choice at end of DYNAMIC_ARCH builds
related to #2526