Skip to content

Keep Symmetric/Hermitian matmul with BLAS eltypes off BLAS.symm!/hemm!.#734

Merged
maleadt merged 1 commit into
mainfrom
tb/symm_hemm_dispatch
Jun 10, 2026
Merged

Keep Symmetric/Hermitian matmul with BLAS eltypes off BLAS.symm!/hemm!.#734
maleadt merged 1 commit into
mainfrom
tb/symm_hemm_dispatch

Conversation

@maleadt

@maleadt maleadt commented Jun 10, 2026

Copy link
Copy Markdown
Member

GPU arrays are DenseArrays, so they match LinearAlgebra's StridedMatrix{<:BlasFloat} generic_matmatmul_wrapper! methods for the SymmHemmGeneric flags, which call BLAS.symm!/hemm! on device memory. Route them to generic_matmatmul! like the existing SyrkHerkGemm override, letting backends (or the generic kernel) handle the wrapper.

Also requires Adapt 4.6.1, which fixes uplo being dropped when adapting Symmetric/Hermitian kernel arguments.

GPU arrays are DenseArrays, so they match LinearAlgebra's
StridedMatrix{<:BlasFloat} generic_matmatmul_wrapper! methods for the
SymmHemmGeneric flags, which call BLAS.symm!/hemm! on device memory.
Route them to generic_matmatmul! like the existing SyrkHerkGemm
override, letting backends (or the generic kernel) handle the wrapper.

Also requires Adapt 4.6.1, which fixes uplo being dropped when adapting
Symmetric/Hermitian kernel arguments.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@maleadt

maleadt commented Jun 10, 2026

Copy link
Copy Markdown
Member Author

oneAPI.jl failure is real; JuliaGPU/oneAPI.jl#577

@maleadt maleadt merged commit fe57c0b into main Jun 10, 2026
17 of 18 checks passed
@maleadt maleadt deleted the tb/symm_hemm_dispatch branch June 10, 2026 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant