Skip to content
This repository has been archived by the owner on Mar 21, 2024. It is now read-only.

SpMV with different matrix and vector types #541

Closed
michaelmigliore opened this issue Aug 3, 2022 · 4 comments
Closed

SpMV with different matrix and vector types #541

michaelmigliore opened this issue Aug 3, 2022 · 4 comments
Assignees
Labels

Comments

@michaelmigliore
Copy link

michaelmigliore commented Aug 3, 2022

Right now, the SpMV kernel allows to specify the matrix and vector type by specializing the ValueT type.

In our case, our sparse matrix elements is stored in CRS format and the blocks are 3x3 matrices, and our vector elements are vector3.
In practice, the 3x3 blocks are 3 float4, and the vector3 is a float4, and we have defined the multiplication operator.

Do you think it's possible to separate the matrix type and the vector type in two different templated types?

@gevtushenko
Copy link
Collaborator

Hello, @michaelmigliore! We were posponing cub::DeviceSpmv deprecation for a while. At the moment we are going to deprecate it in CUB 2.1. Therefore, I don't anticipate any efforts on this facility from our end. Is there any chance you could use cuSPARSE instead?

@michaelmigliore
Copy link
Author

Unfortunately it seems like cusparseSpMV only supports real types, and not more complicated custom types.

@fbusato
Copy link

fbusato commented Aug 5, 2022

cuSPARSE SpMV is limited to real and complex data types and doesn't support custom operators. We plan to add JIT LTO to SpMV (similar to SpMMOp) in the future to support this feature. You could also consider bsrmv

@jrhemstad
Copy link
Collaborator

Closing as we are planning to deprecate cub::SpMV and not adding any new features.

@jrhemstad jrhemstad closed this as not planned Won't fix, can't repro, duplicate, stale Feb 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
Archived in project
Development

No branches or pull requests

5 participants