Commit Graph

494 Commits

Author SHA1 Message Date
Julien Schueller 5010c0abb8 blas: fix missing thread caps 2026-06-29 17:23:55 +02:00
Julien Schueller c0c2dadbd9 lapack: fix missing thread caps 2026-06-29 17:23:43 +02:00
Martin Kroeker 26c4eb65d1
Restore the quick return in common code - the earlier one is CBLAS only 2026-05-15 20:10:51 +02:00
Rajendra Prasad Matcha c32eefd87f Fix incorrect leading dimension check for SME SGEMM direct kernel path
For row-major matrices, the tight-packing condition should be k==lda
(A is m×k), n==ldb (B is k×n), and n==ldc (C is m×n). The old check
used m==lda and k==ldc, which prevented the SME/direct kernel from
being invoked except when m==k==n (square matrices).

Fixes https://github.com/OpenMathLib/OpenBLAS/issues/5794
2026-05-12 15:45:36 +05:30
Martin Kroeker 59cfea0859
Move quick return out of the scope of the potential DYNAMIC_ARCH check 2026-04-22 15:38:04 +02:00
Martin Kroeker fd862d43b6
Remove redundant quick return 2026-04-22 15:36:57 +02:00
Martin Kroeker 74486799bb
Move quick return out of the scope of the DYNAMIC_ARCH conditional for SME 2026-04-22 12:22:09 +02:00
Martin Kroeker dc8b16c57c
Move the early exit for NRHS=0 after the GETRF call 2026-03-04 12:21:27 +01:00
Martin Kroeker 0e28b427f3
Add slaed3/dlaed3 to complex builds 2026-02-18 19:09:36 +01:00
Alex James d2906e8787
Fix ARMV9SME/VORTEXM4 GEMM compilation with SMP disabled
gemm.c currently declares gotoblas_corename in SMP-enabled builds, but
the ARMV9SME and VORTEXM4 targets call gotoblas_corename even when SMP
is disabled. Fix compilation of the ARMV9SME and VORTEXM4 targets with
SMP disabled by unconditionally declaring gotoblas_corename for
DYNAMIC_ARCH builds.
2026-01-17 22:03:29 -08:00
Martin Kroeker bdcb9b7252
add prototype 2026-01-13 22:25:30 +01:00
Martin Kroeker 533cab235f
add prototype 2026-01-13 22:24:27 +01:00
Martin Kroeker 31150eb1e6
Move early exit up; don't rely on support_sme() for now 2026-01-12 15:47:33 +01:00
Martin Kroeker 0a53d91789
Move early exit up; don't rely on support_sme() for now 2026-01-12 15:44:49 +01:00
Martin Kroeker 2d46f1ec65
Merge branch 'develop' into issue5414 2026-01-09 15:04:06 +01:00
Martin Kroeker c040d5ed86
Merge pull request #5591 from quic/topic/ssyr2k_direct_sme1
Support for SME1 based ssyr2k_direct kernel for cblas_ssyr2k level 3 API
2026-01-08 15:47:38 +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 1f2bffb4fe
Merge pull request #5551 from almayne/sgemv_ramps
Updated SGEMV ramps.
2025-12-25 12:53:36 +01:00
mattip cbecf98308 fix regression due to adding bgemv interfaces 2025-12-15 21:49:14 +02:00
Anna Mayne 8da0a1fb9c Updated SGEMV ramps. 2025-11-24 14:43:43 +00: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
Martin Kroeker c1c1285236
Add lower limit for multithreading 2025-10-28 09:40:24 +01:00
Martin Kroeker 8e44cde3f6
Add lower limit for multithreading 2025-10-28 09:39:16 +01:00
Martin Kroeker 75b3e110c4
Add lower limit for multithreading 2025-10-28 09:34:45 +01:00
Martin Kroeker c5b0d1efd1
Add lower limit for multithreading 2025-10-28 09:33:32 +01: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 682f61e8b8
Add prototype for gotoblas_corename 2025-10-19 14:37:39 -07:00
Martin Kroeker 83d3e0ed1a
fix copy/paste 2025-10-19 14:16:46 -07:00
Martin Kroeker f4ee3aec88
Allow VortexM4 on the SME fast path only with non-gcc compilers 2025-10-19 13:43:11 -07:00
Martin Kroeker e01b1094de
Allow VortexM4 on the same fast path only with non-gcc compilers 2025-10-19 13:42:17 -07:00
Martin Kroeker 643a0b53b0
Allow VortexM4 on the direct_SME fast path only for clang-based compilers 2025-10-19 13:37:38 -07: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
Martin Kroeker fa912ce852
rework definitions of ?FLOAT16_GEMM_GEMV_FORWARD 2025-10-08 11:11:52 +02: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
Martin Kroeker e939c6c315
Merge pull request #5471 from quic/topic/ssymm_direct_sme1
Support for SME1 based ssymm_direct kernel for cblas_ssymm level 3 API
2025-10-01 06:22:36 -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 e58f6dc50d
Add extensions ?GEMM_BATCH_STRIDED and CBLAS_?GEMM_BATCH_STRIDED (#5458)
* Add ?GEMM_BATCH_STRIDED and CBLAS_?GEMM_BATCH_STRIDED
2025-09-26 14:00:47 +02:00
Martin Kroeker 99c077a3a7
Update gemm_batch.c 2025-09-23 15:43:33 +02:00
Martin Kroeker fc042d928b
fix symbol naming (underscoring) 2025-09-21 19:01:11 +02:00
Martin Kroeker cdeac0a3ae
Build non-CBLAS ?gemm_batch too 2025-09-17 11:42:11 -07:00
Martin Kroeker eb931deb22
Add BLAS interface to ?GEMM_BATCH 2025-09-17 10:23:48 -07:00
Martin Kroeker 1b88c9c742
remove debugging printouts 2025-08-24 13:48:22 -07:00
Martin Kroeker 7f89c6f353
smh-based direct sgemm currently requires leading dimensions to be same as matrix dimension 2025-08-23 14:20:15 -07:00
Martin Kroeker de91afd2ae
Move SGEMM_DIRECT after the CBLAS parameter check and add sgemm_direct_performant for ARM64 2025-08-18 01:44:21 -07:00
Martin Kroeker 30d11bc92c
Adjust multithreading threshold and add an intermediate step 2025-07-30 08:13:33 -07:00