Skip to content
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

Differences betwen SPBLAS - xcsrmultd & xcsrmm ? #2569

Open
rakshithgb-fujitsu opened this issue Nov 6, 2023 · 1 comment
Open

Differences betwen SPBLAS - xcsrmultd & xcsrmm ? #2569

rakshithgb-fujitsu opened this issue Nov 6, 2023 · 1 comment
Assignees

Comments

@rakshithgb-fujitsu
Copy link
Contributor

rakshithgb-fujitsu commented Nov 6, 2023

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?

@DhanusML
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants