Cusparse cusparseScsrmv with very large matrices

I have developed a distributed multi-gpu implementation of cusparse. For the computation phase I am calling cusparseScsrmv and this appears to work properly with matrices containing nnz amounts below the integer value limit.

I am now attempting to evaluate matrices which have well beyond the integer limit of nnz’s and therefore have adapted my code to utilize long int instead. The issue I see is with the call to cusparseScsrmv as it expects nnz to be of the type int. I do not see anywhere in the documentation where this function is overloaded to accept long int for the nnz parameter.

Is this a hard limit on what cusparseScsrmv is capable of handling or is there some other means of getting cusparseScsrmv to accept long int parameters?

Consider filing an enhancement request with NVIDIA. You can file an enhancement request via the bug reporting form on the developer website; simply prefix the synopsis with “RFE:” to mark it as an enhancement request.

I looked closely at the latest cuSparse documentation, and (like you) cannot find an alternative interface that accepts a wider type than ‘int’ for the ‘nnz’ argument.

I guess sparse matrices with more than 8 GB worth of non-zero data are reasonably rare so the issue may not have come up much. The more people file enhancement requests the earlier you can hope for change, in particular if the RFEs describe important use cases / market opportunities that cannot be addressed without the desired feature.

Out of intellectual curiosity: What are (roughly) the dimensions of the matrices you are working with, and what is the typical number of non-zero elements in them?