Marius Hillenbrand [Tue, 12 May 2020 09:09:28 +0000 (11:09 +0200)]
Update CONTRIBUTORS.md, adding myself
Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
Marius Hillenbrand [Mon, 11 May 2020 11:00:10 +0000 (13:00 +0200)]
s390x: choose SIMD kernels at run-time based on OS and compiler support
Extend and simplify the run-time detection for dynamic architecture support for z
to check HW_CAP and only use SIMD features if advertised by the OS.
While at it, also honor the env variable LD_HWCAP_MASK and do not use
the CPU features masked there.
Note that we can only use the SIMD features on z13 or newer (i.e.,
Vector Facility or Vector-Enhancements Facilities) when the operating
system supports properly context-switching the vector registers. The OS
advertises that support as a bit in the HW_CAP value in the auxiliary
vector. While all recent Linux kernels have that support, we should
maintain compatibility with older versions that may still be in use.
Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
Marius Hillenbrand [Mon, 11 May 2020 16:37:04 +0000 (18:37 +0200)]
s390x: only build kernels supported by gcc with dynamic arch support
When building with dynamic arch support, only build kernels for
architectures that are supported by the gcc we are building with.
Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
Marius Hillenbrand [Mon, 11 May 2020 10:37:21 +0000 (12:37 +0200)]
s390x: gate dynamic arch detection on gcc version and add generic
When building OpenBLAS with DYNAMIC_ARCH=1 on s390x (aka zarch), make
sure to include support for systems without the facilities introduced
with z13 (i.e., zarch_generic). Adjust runtime detection to fallback to
that generic code when running on a unknown platform other than Z13
through Z15.
When detecting a Z13 or newer system, add a check for gcc support for
the architecture-specific features before selecting the respective
kernel. Fallback to Z13 or generic code, in case.
Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
Martin Kroeker [Tue, 12 May 2020 06:34:02 +0000 (08:34 +0200)]
Merge pull request #2612 from RajalakshmiSR/testshgemm
Improve shgemm test
Rajalakshmi Srinivasaraghavan [Mon, 11 May 2020 22:15:10 +0000 (17:15 -0500)]
Improve shgemm test
This patch adds another check to test shgemm results.
Martin Kroeker [Mon, 11 May 2020 19:08:41 +0000 (21:08 +0200)]
Merge pull request #2611 from RajalakshmiSR/bench_half
Include shgemm in benchtest
Rajalakshmi Srinivasaraghavan [Mon, 11 May 2020 14:57:46 +0000 (09:57 -0500)]
Include shgemm in benchtest
This patch is to enable benchtest for half precision gemm
when BUILD_HALF is set during make.
Martin Kroeker [Sun, 10 May 2020 11:10:31 +0000 (13:10 +0200)]
Merge pull request #2610 from martin-frbg/issue2552-3
Temporary workaround for excessive LAPACK test failures with COMPLEX on Skylake-X
Martin Kroeker [Sat, 9 May 2020 21:49:18 +0000 (23:49 +0200)]
Work around excessive LAPACK test failures on Skylake-X
Something in the plain C parts of x86_64 cscal.c and zscal.c appears to be miscompiled by both gfortran9 and ifort when compiling for skylakex-avx512, even when the optimized Haswell microkernel is not in use.
Martin Kroeker [Sat, 9 May 2020 19:33:02 +0000 (21:33 +0200)]
Merge pull request #2609 from martin-frbg/issue2552-2
Correct ifort options
Martin Kroeker [Sat, 9 May 2020 15:15:36 +0000 (17:15 +0200)]
Correct ifort options
to same as suggested by reference-lapack
Martin Kroeker [Sat, 9 May 2020 14:36:14 +0000 (16:36 +0200)]
Merge pull request #2608 from martin-frbg/issue2604
Handle trailing whitespace and empty variables in KERNEL files
Martin Kroeker [Sat, 9 May 2020 11:42:33 +0000 (13:42 +0200)]
Handle trailing spaces and empty condition variables
Martin Kroeker [Sat, 9 May 2020 11:20:44 +0000 (13:20 +0200)]
Merge pull request #57 from xianyi/develop
rebase
Martin Kroeker [Sat, 9 May 2020 09:29:28 +0000 (11:29 +0200)]
Merge pull request #2605 from RajalakshmiSR/cmake-power
Fix cmake compilation issue - POWER9
Rajalakshmi Srinivasaraghavan [Sat, 9 May 2020 01:31:56 +0000 (20:31 -0500)]
Fix cmake compilation issue - POWER9
This patch removes extra space in the sgemmotcopy filename
thereby allowing it to create entry in kernel/Makefile
created by cmake.
Martin Kroeker [Fri, 8 May 2020 20:08:39 +0000 (22:08 +0200)]
Merge pull request #2603 from martin-frbg/issue2552
Add FFLAGS_DRV entry to the generated make.inc to fix lapack-test failure with Intel compilers
Martin Kroeker [Fri, 8 May 2020 16:06:12 +0000 (18:06 +0200)]
Add FFLAGS_DRV to the generated make.inc to fix lapack-test on x86_64 with icc/ifort
fixes #2552
Martin Kroeker [Thu, 7 May 2020 20:43:48 +0000 (22:43 +0200)]
Merge pull request #56 from xianyi/develop
rebase
Martin Kroeker [Thu, 7 May 2020 20:06:41 +0000 (22:06 +0200)]
Merge pull request #2602 from ashwinyes/thunderx2_develop
DAXPY Optimizations for ThunderX2
Ashwin Sekhar T K [Thu, 7 May 2020 16:14:05 +0000 (09:14 -0700)]
ARM64: Improve DAXPY for ThunderX2
Improve performance of DAXPY for ThunderX2
when the vector fits in L1 Cache.
Martin Kroeker [Thu, 7 May 2020 08:12:33 +0000 (10:12 +0200)]
Merge pull request #2601 from martin-frbg/issue818
Undefine NAME/CNAME etc in Makefile.system before defining them
Martin Kroeker [Wed, 6 May 2020 22:31:32 +0000 (00:31 +0200)]
Undefine ASMNAME/NAME/CNAME before defining them
to avoid redefinition warning when environment variables like CFLAGS are being used (fixes #818)
Martin Kroeker [Wed, 6 May 2020 22:27:14 +0000 (00:27 +0200)]
Merge pull request #55 from xianyi/develop
rebase
Martin Kroeker [Tue, 5 May 2020 11:55:08 +0000 (13:55 +0200)]
Merge pull request #2597 from martin-frbg/appleclang
Use Clang 9.0.0 miscompilation fix for corresponding AppleClang version as well
Martin Kroeker [Tue, 5 May 2020 08:44:50 +0000 (10:44 +0200)]
Duplicate earlier Clang 9.0.0 workaround for corresponding Apple Clang version
As discussed on the original PR #2329, the "Apple Clang 11.0.3" that appears to be based the same LLVM release produces the same miscompilation of this file.
Martin Kroeker [Fri, 1 May 2020 13:18:46 +0000 (15:18 +0200)]
Merge pull request #53 from xianyi/develop
rebase
Martin Kroeker [Fri, 1 May 2020 07:59:39 +0000 (09:59 +0200)]
Merge pull request #2591 from RajalakshmiSR/testhalf
Add test for shgemm
Martin Kroeker [Fri, 1 May 2020 07:58:30 +0000 (09:58 +0200)]
Make building the bfloat16 functions conditional on option BUILD_HALF (#2590)
* make building the bfloat16 BLAS functions conditional on BUILD_HALF
* pass the BUILD_HALF option to gensymbol
* Pass BUILD_HALF as a compiler define for dynamic_arch builds
Martin Kroeker [Wed, 29 Apr 2020 20:01:41 +0000 (22:01 +0200)]
Merge pull request #2586 from martin-frbg/miscfixes
Trivial fix for compiler warnings
Rajalakshmi Srinivasaraghavan [Wed, 29 Apr 2020 18:40:34 +0000 (13:40 -0500)]
Add test for shgemm
This patch has Makefile changes to add test for shgemm which
compares sgemm and shgemm result.
Martin Kroeker [Wed, 29 Apr 2020 12:36:15 +0000 (14:36 +0200)]
Merge pull request #52 from xianyi/develop
rebase
Martin Kroeker [Tue, 28 Apr 2020 17:47:55 +0000 (19:47 +0200)]
Merge pull request #2585 from martin-frbg/mips64fix
Increase default BUFFER_SIZE on MIPS64
Martin Kroeker [Tue, 28 Apr 2020 08:43:12 +0000 (10:43 +0200)]
Fix compiler warnings
Martin Kroeker [Tue, 28 Apr 2020 08:40:40 +0000 (10:40 +0200)]
Increase BUFFER_SIZE on mips64 to match SGEMM parameters
Martin Kroeker [Tue, 28 Apr 2020 08:38:50 +0000 (10:38 +0200)]
Merge pull request #51 from xianyi/develop
rebase
Martin Kroeker [Tue, 28 Apr 2020 08:35:12 +0000 (10:35 +0200)]
Merge pull request #2584 from martin-frbg/issue2583
[WIP] Have CMAKE parse conditional lines in KERNEL files
Martin Kroeker [Mon, 27 Apr 2020 14:27:09 +0000 (16:27 +0200)]
Silence a debug message
Martin Kroeker [Mon, 27 Apr 2020 13:20:03 +0000 (15:20 +0200)]
Have CMAKE parse conditional lines in KERNEL files
Supports ifeq and ifneq, but requires both to have an else branch
Martin Kroeker [Mon, 27 Apr 2020 07:18:34 +0000 (09:18 +0200)]
Merge pull request #2582 from martin-frbg/mips32fix
Increase BUFFER_SIZE on MIPS32 to accomodate SGEMM requirements
Martin Kroeker [Sun, 26 Apr 2020 20:21:05 +0000 (22:21 +0200)]
Increase default BUFFER_SIZE to accomodate SGEMM parameters
in response to compile-time warning from #2551
Martin Kroeker [Sun, 26 Apr 2020 20:17:56 +0000 (22:17 +0200)]
Merge pull request #50 from xianyi/develop
rebase
Martin Kroeker [Sat, 25 Apr 2020 17:57:10 +0000 (19:57 +0200)]
Merge pull request #2581 from martin-frbg/raji
Fix travis configuration and update CONTRIBUTORS.md
Martin Kroeker [Sat, 25 Apr 2020 14:18:54 +0000 (16:18 +0200)]
Drop the set -e from travis scripts
Martin Kroeker [Sat, 25 Apr 2020 11:51:44 +0000 (13:51 +0200)]
Update CONTRIBUTORS.md
Martin Kroeker [Fri, 24 Apr 2020 22:28:18 +0000 (00:28 +0200)]
Merge pull request #2580 from martin-frbg/issue2538-3
Increase POWER8 ZGEMM_R and use same R values for POWER9
Martin Kroeker [Fri, 24 Apr 2020 19:46:54 +0000 (21:46 +0200)]
Increase POWER8 ZGEMM_R and use same R values for POWER9
fixes lapack-test zger failures seen in #2299 after application of my PR #2551
Martin Kroeker [Fri, 24 Apr 2020 12:32:46 +0000 (14:32 +0200)]
Merge pull request #2578 from martin-frbg/issue2576
Quote getarch include paths in prebuild.cmake
Martin Kroeker [Fri, 24 Apr 2020 08:30:44 +0000 (10:30 +0200)]
Quote include paths for getarch to protect any embedded spaces
Martin Kroeker [Fri, 24 Apr 2020 08:21:48 +0000 (10:21 +0200)]
Merge pull request #49 from xianyi/develop
rebase
Martin Kroeker [Thu, 23 Apr 2020 12:31:09 +0000 (14:31 +0200)]
xcode 11.4.1 for homebrew ?
Martin Kroeker [Thu, 23 Apr 2020 08:54:46 +0000 (10:54 +0200)]
Switch homebrew build env to new xcode 11.4
default 11.3.1 in the github image is causing brew to fail with "outdated xcode" message
Martin Kroeker [Wed, 22 Apr 2020 16:27:13 +0000 (18:27 +0200)]
Merge pull request #2571 from martin-frbg/issue2299
Work around IDAMAX/IZAMAX bugs on POWER8BE with ELFv2 FreeBSD
Martin Kroeker [Wed, 22 Apr 2020 13:04:49 +0000 (15:04 +0200)]
Merge pull request #2573 from martin-frbg/issue2572
Enable cblas interfaces to GEMM3M in CMAKE builds
Martin Kroeker [Wed, 22 Apr 2020 12:16:40 +0000 (14:16 +0200)]
Limit this fix to ELFv2 builds
Martin Kroeker [Wed, 22 Apr 2020 12:14:20 +0000 (14:14 +0200)]
Export ELF_VERSION for use in powerpc kernel configurations
Martin Kroeker [Wed, 22 Apr 2020 12:12:27 +0000 (14:12 +0200)]
Avoid duplicate printout of byte order and report ELF_VERSION
Martin Kroeker [Wed, 22 Apr 2020 09:01:28 +0000 (11:01 +0200)]
enable cblas interfaces to GEMM3M in CMAKE builds
Martin Kroeker [Tue, 21 Apr 2020 18:26:53 +0000 (20:26 +0200)]
Merge pull request #2569 from martin-frbg/issue2472-2
Fix linker option passing for MSVS and ReLAPACK
Martin Kroeker [Tue, 21 Apr 2020 15:17:17 +0000 (17:17 +0200)]
Work around POWER8BE bugs on FreeBSD (ELFv2)
for #2299
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