oneDAL
oneDAL copied to clipboard
Differences betwen SPBLAS - xcsrmultd & xcsrmm ?
The current workflow of PCA depends on xcsrmultd. Going through MKL docs here for this routine shows it does the sparse matrix-matrix op of the following form and also points out that its deprecated-
C := op(A)*B
On the other hand xcsrmm is defined here as (and also mentions it supports 1 based indexing as well)-
C := alphaAB + beta*C
which essentially means the same as xcsrmultd when alpha = 1 and beta = 0 right? Also, why are the deprecated forms still used in onedal?
In csrmm only A is in csr format (4-array version). B and C are in dense format. Whereas in csrmultd, both A and B are in csr format (3-array version) and C is dense. So csrmm with alpha=1 and beta=0 cannot replace csrmultd.
Regardless, the MKL guide states that csrmultd is deprecated and recommends the use of spmmd.