Martin Kroeker
1ed99815fa
Add SME GEMM kernels
2026-08-12 10:53:07 +02:00
moluopro
2f21ad9282
CMake: Use effective core for fallback kernels
...
Keep the logical target for dynamic dispatch names while selecting kernel sources and capabilities from the core chosen by getarch after ISA restrictions.
2026-07-19 20:48:10 +08:00
moluopro
a33e238b35
cmake: define ARM64 SME direct kernel variants
2026-07-09 13:41:10 +08:00
Martin Kroeker
4a888bcb73
set USE_TRMM for WASM
2026-03-15 23:07:16 +01:00
Martin Kroeker
ef3315527f
Don't include the CPUID code in WebAssembly builds
2026-03-15 19:30:13 +01:00
Martin Kroeker
2d46f1ec65
Merge branch 'develop' into issue5414
2026-01-09 15:04:06 +01:00
Zhiqing xie
6939a43c3b
Support for SME1 based ssyr2k_direct kernel for cblas_ssyr2k level 3 API
2026-01-08 11:09:04 +08:00
Martin Kroeker
ea85b6696f
Merge branch 'OpenMathLib:develop' into issue5414
2025-11-23 10:14:07 +01:00
Martin Kroeker
f2d010de12
Merge pull request #5512 from quic/topic/ssyrk_direct_sme1
...
Support for SME1 based ssyrk_direct kernel for cblas_ssyrk level 3 API
2025-11-06 14:06:43 -08:00
changjua
43d38d336f
Support for SME1 based ssyrk_direct kernel for cblas_ssyrk level 3 API
2025-10-20 11:35:20 +08:00
Martin Kroeker
9bfc3612f9
Merge branch 'OpenMathLib:develop' into issue5414
2025-10-12 09:18:06 -07:00
Martin Kroeker
e40714cabd
Merge pull request #5450 from quic/topic/strmm_direct_sme1
...
Support for SME1 based strmm_direct kernel for cblas_strmm level 3 API
2025-10-11 15:20:19 -07:00
changjua
644ea07ef9
Support for SME1 based strmm_direct kernel for cblas_strmm level 3 API
2025-10-10 10:48:27 +08:00
Martin Kroeker
20f5ed1a94
Merge branch 'OpenMathLib:develop' into issue5414
2025-10-08 05:27:28 -07:00
Chris Sidebottom
37fc3bbca0
Add Infrastructure for SHGEMV
...
This adds all the relevant bits and pieces to add a `shgemv` path as
well as a future `hgemm`/`hgemv` path in a similar model to `sb` and `b`
interfaces.
I've also fixed a few bits and pieces around `shgemm` which didn't build
in a few situations.
2025-10-07 15:03:24 +00:00
Martin Kroeker
fc516af155
Merge branch 'develop' into issue5414
2025-10-01 14:12:59 -07:00
Rajendra Prasad Matcha
19268471cc
Support for SME1 based ssymm_direct kernel for cblas_ssymm level 3 API
2025-09-30 15:05:33 +05:30
Martin Kroeker
107c883c8a
Update SME-related kernels
2025-08-19 05:13:28 -07:00
Martin Kroeker
39c90f9859
Merge pull request #5380 from quic/topic/sgemm_direct_sme1_alpha_beta
...
SME1 based direct kernel (with alpha and beta) for cblas_sgemm level 3
2025-07-18 23:23:39 +02:00
Rajendra Prasad Matcha
eae0abfdb6
SME1 based direct kernel with alpha and beta for cblas_sgemm level 3 API.
2025-07-17 16:14:31 +05:30
Chris Sidebottom
947d7af4c9
Fix CMake references to bscal and bgemv
2025-07-15 15:41:53 +01:00
Martin Kroeker
ff614575c9
Fix arm64 HAVE_SME setting for DYNAMIC_ARCH builds
2025-07-09 14:44:25 +02:00
Chris Sidebottom
66d9185ebe
Fix CMake support
2025-07-08 22:49:55 +00:00
gkdddd
670ec6f757
Added shgemm_kernel_8x8 for RISCV64_ZVL128B and shgemm_kernel_16x8 for RISCV64_ZVL256B
...
Added HFLOAT16 support for RISCV64
Added shgemm_kernel_8x8 for RISCV64_ZVL128B and shgemm_kernel_16x8 for RISCV64_ZVL256B based on HFLOAT16
The instruction sets used are ZVFH and ZFH, which need to be supported by RVV1.0
Related to issue #5279
Co-authored-by Linjin Li <linjin_li@163.com >
2025-06-03 20:14:30 +08:00
Martin Kroeker
5141a90993
Fix ARMV9SME target in DYNAMIC_ARCH and add SME query code for MacOS ( #5222 )
...
* Fix ARMV9SME target and add support_sme1 code for MacOS
* make sgemm_direct unconditionally available on all arm64
* build a (dummy) sgemm_direct kernel on all arm64
* Update dynamic_arm64.c
2025-05-10 22:39:32 +02:00
Ruiyang Wu
02fd1df10b
CMake: Pass OpenMP compiler and linker flags through CMake targets
...
Using `OpenMP::OpenMP_LANG` targets for CMake is less error-prone than
passing the compiler and linker flags manually. Furthermore, it allows
the user to customize those flags by setting `OpenMP_LANG_FLAGS`,
`OpenMP_LANG_LIB_NAMES`, and `OpenMP_omp_LIBRARY`.
2025-03-26 23:09:54 -04:00
Martin Kroeker
eb84aac7ad
Merge pull request #5084 from quic/topic/sgemm_direct_sme1
...
Support for SGEMM_DIRECT Kernel based on SME1
2025-02-19 10:56:49 +01:00
Martin Kroeker
b9ae246f20
define USE_TRMM for RISCV64 targets as well
2025-02-16 23:18:04 +01:00
Vaisakh K V
d23eb3b93e
Support for SME1 based sgemm_direct kernel for cblas_sgemm level 3 API
...
* Added ARMV9SME target
* Added SGEMM_DIRECT kernel based on SME1
2025-02-13 14:51:21 +05:30
Martin Kroeker
1a6a9fb22f
add another generator line for rotm
2025-01-23 00:17:04 +01:00
tingbo.liao
3c8df6358f
Further rearranged the rotm kernel for the different architectures.
...
Signed-off-by: tingbo.liao <tingbo.liao@starfivetech.com >
2025-01-22 11:41:12 +08:00
Dmitry Mikushin
d0f5dc763b
Adding USE_GEMM3M macro to kernel targets, so that the *gemm3m functions and parameters can be included into the gotoblas structure. Fixes #4500
2024-02-12 02:29:58 +01:00
Martin Kroeker
38d6fb4225
Fix dependencies in builds with specified subsets of precision types
2023-02-23 23:12:06 +01:00
Martin Kroeker
e412bee313
fix GEMM kernel dependencies in builds that use only a subset of precisions
2023-02-22 00:37:14 +01:00
Martin Kroeker
84cb58b7fb
Fix generator rules for ?laswp_ncopy and ?neg_tcopy
2022-04-30 15:28:38 +02:00
Martin Kroeker
0698212c8c
Remove stray $
2022-02-25 15:33:02 +01:00
Bine Brank
f158d59087
adapt CMake
2022-01-17 22:36:48 +01:00
Bine Brank
0c91d043ae
adapt CMake for SVE
2022-01-05 14:36:39 +01:00
Rafael Cardoso Fernandes Sousa
23a7561353
Fix error cmake (small kernels)
2021-12-09 09:57:39 -06:00
Martin Kroeker
454edd741c
Merge pull request #3425 from binebrank/arm_sve_dgemm
...
Add dgemm kernel for arm64 SVE
2021-11-26 16:14:55 +01:00
Bine Brank
1af73ce38e
Adapt CMake for SVE
2021-11-26 10:35:01 +01:00
Rafael Cardoso Fernandes Sousa
d5c9353f1b
Modify the order that cmake set the KERNEL variables (generic now is fallback)
2021-11-24 20:08:35 -06:00
Wangyang Guo
3dc6052c7e
initial support for Sapphire Rapids platform
2021-10-12 01:30:40 -07:00
Martin Kroeker
ddf106f769
Add dedicated entries for BFLOAT16 kernels
2021-09-14 16:17:18 +02:00
Wangyang Guo
989e6bbdd3
Small Matrix: reduce generic kernel source files
2021-08-13 03:17:38 +00:00
Wangyang Guo
fee5abd84b
Small Matrix: support cmake build
2021-08-04 08:50:15 +00:00
Albert Ziegenhagel
e3f4063683
Fix building "generic" TRMM kernel with CMake
...
The CMake "TARGET_CORE" variables stores the "generic" target name in all lowercase letters, but gets compared to an all uppercase string, which results in the wrong TRMM kernel being selected.
This commit converts the TARGET_CORE to all uppercase before comparing its value to make sure case mismatches are not an issue in the future anymore.
2021-01-14 10:00:49 +01:00
Martin Kroeker
3aecafad80
Change "HALF" and "sh" to "BFLOAT16" and "sb"
2020-10-12 00:00:55 +02:00
Martin Kroeker
6b6adf8a4a
Allow compiling only a subset of kernels for specific variable types
2020-10-11 14:52:09 +02:00
Martin Kroeker
dfbc62ef7e
Support building only a subset of types
2020-09-22 23:25:59 +02:00