Closed albestro closed 11 months ago
This looks good to me for the current use cases. I see now what the main difficulty would be with relaxing constraints on the input matrices: ETI. I don't know what the best way around this is. Inheritance works, but if possible I'd rather not go there. We might have to try out and see how bad the compile times would be from exposing the implementations again to allow arbitrary instantiations.
cscs-ci run
cscs-ci run
cscs-ci run
Quickly tested ROCm image, which was super slow. I had a look about bindings and they seemed ok.
Anyway, I did not investigate any further about slowness, and I went on by runnning just test_multiplication_general
, which passed with all green. So, the "workaround" for scal
using gemm
with nullptr
s works correctly there too.
That's enough for what concerns this PR. 🟢
cscs-ci run
This PR partially address #915 (just local variant)
gemm
(local) implementation working with MatrixRef (only, at the moment) with related tests for both full and sub-matrix test-casesscal
tile extensionlocal_matrix
andmultipliable
assert + introduction ofsame_process_grid
subValues
andmixValues
)MatrixBase
string representation also print information aboutsource_rank_index
andoffset
TODO
multipliable
assertion (separate it from algorithm details)scal
workaround of usinggemm
with nullptr works there too)Note:
GeneralSub
was intended to work on submatrices, while now thesub-matrix
concept is hidden byMatrixRef
. For this reason, the new gemm helper might just be considered a full general multiplication, and it might be moved inmultiplication::general::General
(or something like that).