cuda - Converting a dense matrix to sparse CSR format with cuSPARSE -


i want use scsrmv cusparse function.

reading documentation here, can't figure how define csrrowptra , csrcolinda:

csrrowptra : integer array of m+1 elements contains start of every row , end of last row plus one.

csrcolinda : integer array of nnz ( = csrrowptra(m) - csrrowptra(0) ) column indices of nonzero elements of matrix a.

so , example:

  float *devrow;   cudamalloc((void **)&devrow, (m+1)*sizeof(float)); 

and if a matrix, then:

for (int i=0; i<m; i+= n)   //m rows , n columns     devrow[i] = a[i]; 

this start of every row. last row , plus 1? confused me.

and columns? like:

for (int i=0;i<nnz;i++)    devcol = devrow[m] - devrow[0]; 

you can convert dense matrix sparse code write yourself. csr (compressed-sparse-row) formulation, use cusparse function this.

the general format of csr sparse matrix representation documented in many places, including cusparse manual.


Comments

Popular posts from this blog

commonjs - How to write a typescript definition file for a node module that exports a function? -

openid - Okta: Failed to get authorization code through API call -

ios - Change Storyboard View using Seague -