Commit Graph

7433 Commits

Author SHA1 Message Date
Bine Brank 7093372e32 add ARMV8SVE target 2021-11-01 22:53:21 +01:00
Martin Kroeker abf45f7235
Merge pull request #3427 from mhillenbrand/zarch-detection-notes
cpuid_zarch/hwcaps: add documentation and dump hwcaps in init
2021-11-01 21:45:33 +01:00
Martin Kroeker 2847a24498
Merge pull request #3434 from gxw-loongson/develop
Add cblas_{c/z}srot cblas_{c/z}rotg support
2021-11-01 21:44:49 +01:00
gxw 25f99fa9f8 Add cblas_{c/z}srot cblas_{c/z}rotg support 2021-11-01 20:19:13 +08:00
Bine Brank a8fbdbac34 fix sve dgemm kernel + sve dtrmm 2021-10-31 10:24:25 +01:00
Martin Kroeker a6fd497820
Fix nvidia HPC version checks 2021-10-30 17:31:19 +02:00
Bine Brank 746b4f0f17 added SVE ncopy and tcopy 2021-10-30 12:11:44 +02:00
Mehdi Chinoune 9874cd11cb Fix exported OpenBLASTargets.cmake
When both BUILD_SHARED_LIBS and BUILD_STATIC_LIBS are enabled,
cmake export both of them to OpenBLASTargets under tha same name `OpenBLAS::OpenBLAS`
which leads to fatal error about OpenBLAS::OpenBLAS being both static and shared target.
This change makes cmake export only the shared library in that case.
There is another solution to treat them as components,
but I am afraid that will make it backward incompatible.
2021-10-30 04:37:41 +01:00
Martin Kroeker bb01e26cfe
Adjust compiler options for nvidia hpc 21.9 (and fix a long-standing typo in dynamic_arch settings) 2021-10-29 16:39:03 +02:00
Marius Hillenbrand 77747bc536 cpuid_zarch/hwcaps: add documentation and dump hwcaps in init
Add pointers to the definition of the hardware capability flags in glibc
and describe how they relate to the levels CPU_Z13 and CPU_Z14 for
optimized kernels.

To aid identifying available hardware capabilities and in debugging
potential build issues, dump their value in dynamic_arch_init() when
OPENBLAS_VERBOSE is set to 2 or higher.

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
2021-10-28 12:08:48 +02:00
Martin Kroeker aa231b5875
Merge pull request #3426 from martin-frbg/pr3424
Add runtime DYNAMIC_ARCH cpu detection for Tiger Lake H
2021-10-28 07:31:12 +02:00
Martin Kroeker 22a616bd8f
Add model number for Tiger Lake H (mobile variant) 2021-10-27 22:17:58 +02:00
Bine Brank 1a10d3e09d add sve dgemm prototype 2021-10-27 16:37:18 +02:00
Martin Kroeker f573ccd107
Merge pull request #3424 from Neutron3529/patch-1
auto-detect for Intel i7-11800H
2021-10-27 16:28:12 +02:00
Martin Kroeker dd103eac93
Merge pull request #3423 from mhillenbrand/fix-static-detection
s390x: use DYNAMIC_ARCH's cpu detection for compile-time choice
2021-10-27 16:27:47 +02:00
Neutron3529 ead476025d
auto-detect for Intel i7-11800H 2021-10-27 14:16:37 +08:00
Marius Hillenbrand 44950ca173 s390x: use DYNAMIC_ARCH's cpu detection for compile-time choice
On s390x, the run-time detection for DYNAMIC_ARCH and the compile-time
choice in cpuid_zarch use different methods for identifying the
supported CPU features. To make cpuid_zarch future-proof and both easier
to maintain, switch cpuid_zarch to the same mechanism as DYNAMIC_ZARCH
(i.e., derive the supported CPU features from hwcap flags) and share
code between both (in a new header cpuid_zarch.h).

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
2021-10-26 16:19:14 +02:00
Martin Kroeker 03f1354336
Merge pull request #3422 from martin-frbg/issue3421
Revert invalid trsv shortcut from PR #3252
2021-10-25 23:37:28 +02:00
Martin Kroeker 4b3769823a
Revert #3252 2021-10-24 23:57:06 +02:00
Martin Kroeker 059d3a04c1
Merge pull request #3420 from martin-frbg/issue3419
Revert wrong ZTRSV optimization from #3252
2021-10-20 12:00:06 +02:00
Martin Kroeker 2845f54eb8
Remove dangerous optimization from previous #3252 - buffer is never unused here 2021-10-20 10:50:02 +02:00
Martin Kroeker c6208bbb45
Merge pull request #3418 from martin-frbg/issue2927-2
Enable SVE for A64FX
2021-10-20 08:23:53 +02:00
Martin Kroeker 6975cbe1f0
Enable SVE for A64FX 2021-10-19 23:23:40 +02:00
Martin Kroeker 22bf5c27ba
Add basic support for the Fujitsu A64FX (#3415)
* Add initial support for Fujitsu A64FX as generic ARMV8
2021-10-18 15:00:19 +02:00
Martin Kroeker 8cbf61792d
Merge pull request #3416 from guowangy/spr-bf16
sbgemm: add AMX-BF16 based kernel for Sapphire Rapids
2021-10-18 14:59:21 +02:00
Wangyang Guo 63a103ba6e sbgemm: spr: disable small matrix path by default 2021-10-17 19:08:03 -07:00
Wangyang Guo 82194ea9d2 sbgemm: spr: implement otcopy_16 2021-10-17 19:08:03 -07:00
Wangyang Guo 8632380a96 sbgemm: spr: reuse ncopy_16 from cooperlake as incopy 2021-10-17 19:08:03 -07:00
Wangyang Guo 6bc8204ce5 sbgemm: spr: optimization for tmp_c buffer 2021-10-17 19:08:03 -07:00
Wangyang Guo f018aa342a sbgemm: spr: kernel handle alpha != 1.0 2021-10-17 19:08:03 -07:00
Wangyang Guo a52456b168 sbgemm: spr: oncopy: use tile load/store instead 2021-10-17 19:08:03 -07:00
Wangyang Guo f2485352a6 sbgemm: spr: only load A once in tail_k handling 2021-10-17 19:08:03 -07:00
Wangyang Guo 9ab33228bb sbgemm: spr: process k2 and odd k at the same time 2021-10-17 19:08:03 -07:00
Wangyang Guo 7b2f5cb3b7 sbgemm: spr: enlarge P to 256 for performance 2021-10-17 19:08:03 -07:00
Wangyang Guo 10d52646e2 sbgemm: spr: oncopy: avoid handling too much pointer at a time 2021-10-17 19:08:03 -07:00
Wangyang Guo 88154ed02d sbgemm: spr: reduce tile conf loading by seperate tail k handling 2021-10-17 19:08:03 -07:00
Wangyang Guo 0abbcd19c1 sbgemm: spr: tuning for blocking params 2021-10-17 19:08:03 -07:00
Wangyang Guo a70bfb52d5 sbgemm: spr: kernel works for NN case when alpha is 1.0 2021-10-17 19:08:03 -07:00
Wangyang Guo 6051c86741 sbgemm: spr: kernel works for m32 in NN case 2021-10-17 19:08:03 -07:00
Wangyang Guo d0b253ac6e sbgemm: spr: implement oncopy_16 2021-10-17 19:08:03 -07:00
Wangyang Guo 1d48b7cb16 sbgemm: spr: add dummy source files 2021-10-17 19:08:03 -07:00
Martin Kroeker b57acdf2d3
Add march/mtune flags for clang builds on ARM64 as well (#3414)
* Add march/mtune flags for clang as well
2021-10-18 00:26:14 +02:00
Martin Kroeker 02ea3db8e7
Merge pull request #3404 from guowangy/spr-build
Initial build support for Sapphire Rapids
2021-10-17 23:05:11 +02:00
Martin Kroeker 4e4f78442e
Merge pull request #3413 from MehdiChinoune/cmake-readibiltiy
[NFC] Improve CMakeLists.txt file readibility
2021-10-17 22:46:48 +02:00
Mehdi Chinoune 556788281d [NFC] Improve CMakeLists.txt file readibility
Add some extra lines and indentations.
2021-10-17 20:50:51 +01:00
Martin Kroeker f348506463
Merge pull request #3411 from MehdiChinoune/both_shared_static
Support building both static and shared libraries
2021-10-17 20:07:14 +02:00
Mehdi Chinoune 28a77a8698 Support building both static and shared libraries 2021-10-16 20:45:21 +01:00
Martin Kroeker 481b3dc4b4
Merge pull request #3410 from MehdiChinoune/mingw-clang-64
Fix MinGW/Clang 64 bits detection.
2021-10-16 13:52:41 +02:00
مهدي شينون (Mehdi Chinoune) efd7ac241d Fix MinGW/Clang 64 bits detection.
CMAKE_COMPILER_IS_GNUCC is only valid for GCC.
2021-10-16 08:02:27 +01:00
Wangyang Guo 1eca91f315 Fix build error in legacy gcc 2021-10-12 02:01:20 -07:00