Please note that I am crossposting this question from stackoverflow: https://stackoverflow.com/questions/515 ... lpformat:
I have written a code to compute the product of a sparse matrix and dense matrix using Magma, which works fine in the CSR format:
magma_d_matrix hA={Magma_CSR},hA_sellp={Magma_CSR}; //host matrices
magma_d_matrix A={Magma_CSR},A_sellp={Magma_CSR}; //device matrices
//initialize CSR matrix on host and transfer it to device memory
hA.num_rows = myrows;
hA.num_cols = mycols;
hA.storage_type = Magma_CSR;
hA.memory_location = Magma_CPU;
hA.val = myvalptr;
hA.col = mycolptr;
hA.row = myrowptr;
hA.nnz = nnz;
magma_dmtransfer(hA, &A, Magma_CPU, Magma_DEV, queue );
//G and res are both dense magma_d_matrix on device memory
magma_d_spmv(1.0,A,G,0.0,res,queue);
//this returns the correct answer i.e. res=A*G;
But, when I try converting the matrix to SELLP (as done here: viewtopic.php?f=2&t=1506&p=4263&hilit=SELLP#p4263 and in the example magma2.2.0/sparse/testing/testing_dspmm) and repeat the same thing, it fails:
//convert CSR to SELLP
hgg_sellp.blocksize = 64;
hgg_sellp.alignment = 1;
magma_dmconvert( hA, &hA_sellp, Magma_CSR, Magma_SELLP, queue );
magma_dmtransfer( hA_sellp, &A_sellp, Magma_CPU, Magma_DEV, queue );
//the following returns the wrong answer. res is left unchanged.
magma_d_spmv(1.0,A_sellp,G,0.0,res,queue);
What am I doing wrong?
I also have a couple of less important questions:
1. Do the CSR, BSR, and SELLP spmv routines use the diameter and max_nnz_row parameters? What are these parameters for?
How do I figure out what is a good blockSize and allignment for my problem when using the SELLP format?
2. What other parameters should I tune to get maximum performance? How do I figure out what is a good blockSize and alignment for my problem when using the SELLP format?
Thanks for your time and for developing this very useful software!
Why is Magma skipping calculation when using SELLP format?

 Posts: 90
 Joined: Tue Sep 02, 2014 5:44 pm
Re: Why is Magma skipping calculation when using SELLP form
Dear Mohammed,
would you mind sharing the complete code along with the test matrices? Or is this difficult?
@hanzt@icl.utk.edu
Thanks, Hartwig
would you mind sharing the complete code along with the test matrices? Or is this difficult?
@hanzt@icl.utk.edu
Thanks, Hartwig
Re: Why is Magma skipping calculation when using SELLP form
Thanks so much. Will do.
Re: Why is Magma skipping calculation when using SELLP form
Thanks for taking the time to look into why the SELLP format calculation is being skipped for me. I sincerely appreciate it. I am wondering if you have received my email last week? Thanks again for your time!