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.
Could we document this? It matches mul! so it's not entirely unexpected
There was a problem hiding this comment.
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_Tcscmvinto 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_blasmacro replaced by conventional@testmacro in combination with@blasmacro that allows more fine-grained checks of whether Sparse BLAS MKL methods are being calledmaximum(abs.(...)) <= epsis replaced with≈ atol=...No new version of MKLSparse.jl was tagged after #31 got merged. It could be done before/after this PR.