Skip to content

Fix symv!/hemv! and symm!/hemm! dispatch for unsupported eltypes.#577

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

Fix symv!/hemv! and symm!/hemm! dispatch for unsupported eltypes.#577
maleadt merged 1 commit into
mainfrom
tb/symv_hemv_dispatch

Conversation

@maleadt

@maleadt maleadt commented Jun 10, 2026

Copy link
Copy Markdown
Member

generic_matvecmul! dispatched Symmetric inputs to symv! and Hermitian inputs to hemv! whenever the eltype was a BLAS float, but oneMKL only wraps symv! for real eltypes and hemv! for complex ones. Guard the branches accordingly: complex Symmetric falls through to generic_matmatmul! (which can use symm!), and real Hermitian uses symv! since a real Hermitian matrix is symmetric.

Similarly, the symm!/hemm! branches in generic_matmatmul! lacked any eltype or stridedness guards, and hemm! is only wrapped for complex eltypes; add the missing guards and route real Hermitian to symm!.

generic_matvecmul! dispatched Symmetric inputs to symv! and Hermitian
inputs to hemv! whenever the eltype was a BLAS float, but oneMKL only
wraps symv! for real eltypes and hemv! for complex ones. Guard the
branches accordingly: complex Symmetric falls through to
generic_matmatmul! (which can use symm!), and real Hermitian uses symv!
since a real Hermitian matrix is symmetric.

Similarly, the symm!/hemm! branches in generic_matmatmul! lacked any
eltype or stridedness guards, and hemm! is only wrapped for complex
eltypes; add the missing guards and route real Hermitian to symm!.

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

maleadt commented Jun 10, 2026

Copy link
Copy Markdown
Member Author

CI seems broken here. I tested this locally, let's merge.

@maleadt maleadt merged commit 942e431 into main Jun 10, 2026
2 of 4 checks passed
@maleadt maleadt deleted the tb/symv_hemv_dispatch branch June 10, 2026 14:13
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