oneDAL icon indicating copy to clipboard operation
oneDAL copied to clipboard

Differences betwen SPBLAS - xcsrmultd & xcsrmm ?

Open rakshithgb-fujitsu opened this issue 9 months ago • 1 comments

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?

rakshithgb-fujitsu avatar Nov 06 '23 05:11 rakshithgb-fujitsu

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.

DhanusML avatar Feb 29 '24 05:02 DhanusML