-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cleanup Wrappers and Tests #37
Conversation
d8bce50
to
a2b6e6b
Compare
@KristofferC Considering |
Codecov Report
@@ Coverage Diff @@
## master #37 +/- ##
=========================================
Coverage ? 10.41%
=========================================
Files ? 6
Lines ? 1258
Branches ? 0
=========================================
Hits ? 131
Misses ? 1127
Partials ? 0 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
774508b
to
d08f03c
Compare
83b5cee
to
f01272c
Compare
Either Julia nightly was fixed on macOS or with the given explicitly specified random seed the multiplication error does not manifest itself. I think the PR is ready for review. cc @KristofferC |
@alyst I should be able to review the PR next week. |
src/matmul.jl
Outdated
return cscsm!($tchar, $T(α), matdescra(A), _get_data(A), B, C) | ||
end | ||
end | ||
LinearAlgebra.ldiv!(C::StridedVector{$T}, A::$AT, B::StridedVector{$T}, α::Number) = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we document this? It matches mul!
so it's not entirely unexpected
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You mean add the docstring?
bump. I would really appreciate if someone can review the PR :) |
@alyst Long pending here, but seems like we should get this merged if you still have the bandwidth for it. |
@alyst I have switched to the new API and generated all wrappers in |
and some whitespace cleanups
to be compatible with 3-arg ldiv!() in base Julia; add tests for 3- and 4-arg ldiv!()
replace implicit counter increment with method call (so that the behaviour could be changed globally)
f235e88
to
01e873e
Compare
3765196
to
069dfc4
Compare
the default ones seem to not use the 5-arg mul!() defined in MKLSparse.jl
for keeping github-actions up-to-date
in a hope to increase the chances of compile-time evaluation and constant propagation
069dfc4
to
260de15
Compare
@amontoison Thank you! I've rebased this PR on top of the current master. I've checked, and on 1.10.4 the I've also updated the CI to use Julia actions. One thing that does not work is the upload of the coverage reports to the codecov: it needs a token, and I don't have access to modifying this repo secrets. Would be nice if somebody reviews the PR before it becomes stale again. |
Thanks @alyst !! |
This is a subset of #30 excluding the
Matrix * SparseMatrix
:adds support for MKL 2023.xmkl_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
).@eval
-based generation of all possible wrapper method parameter combinations is replaced by a single method with a proper signature and the use ofmkl_call()
that automatically generates a proper method MKLSparse method name to call. That should make debugging and code coverage analysis easier.Base.*
was removed, I've also added comments explaining the motivation for specific LinearAlgrebra/Base (re)definitionsldiv!(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.@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 calledmaximum(abs.(...)) <= eps
is replaced with≈ atol=...
No new version of MKLSparse.jl was tagged after #31 got merged. It could be done before/after this PR.