MKLSparse.jl
MKLSparse.jl copied to clipboard
Cleanup Wrappers and Tests
This is a subset of #30 excluding the Matrix * SparseMatrix
:
- adds support for MKL 2023.x
- simplifies the MKLSparse wrappers by introducing
mkl_call(funcname, T, args...)
generated function that automatically transforms templates likemkl_Tcscmv
into appropriate MKLSparse function names for a specific input types (e.g.mkl_dcscmv
) - some unnecessary "type piracy" of
Base.*
was removed, I've also added comments explaining the motivation for specific LinearAlgrebra/Base (re)definitions -
fixes 4-arg ldiv!() from
ldiv!(a, A, B, C)
toldiv!(C, A, B, a)
to be compatible with 3-argldiv!()
already in Base (AFAIK 4-arg is only defined in MKLSparse). This would break any packages/script that use MKLSparse.jl 4-argldiv!()
, but this should be a rather exotic case. - streamlines testing, so that all 4 numeric types are covered
-
@test_blas
macro replaced by conventional@test
macro in combination with@blas
macro that allows more fine-grained checks of whether Sparse BLAS MKL methods are being called - in tests
maximum(abs.(...)) <= eps
is replaced with≈ atol=...
- update CI.yml to use julia-actions
- enable code coverage
No new version of MKLSparse.jl was tagged after #31 got merged. It could be done before/after this PR.