Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

sparse matrix vector products

itabhiyanta
Beginner
366 Views

Hi

I hope you are doing good. I am using INtel MKl 10.3 2011_sp1.12.361. I want to try out all the marix formats the nkl librayr provides for the matrices i have.

I have been able to use COO and CSR but i have troubles using the BSR format. It seems while specifiying the size of the column and value arrays for BSR i must know the number of non-zero blocks. I do not know how to calculate that. Is there a function for this. I am pasting here what i do and it generates segfaults.

job[0]=0; job[1]=1; job[2]=1; job[4]=0; job[5]=3; mblk=2;
   mb = (rowlenA + mblk-1)/mblk;
   nb = (collenA + mblk-1)/mblk;
   ldabsr=mblk*mblk;
   absrvals=(double*) initVector(mb*nb*mblk*mblk, MYDOUBLE);
   absrcols=(int*)initVector(mb*nb,MYINT);
   absrrows=(int*)initVector(rowlenA+1,MYINT);
   mkl_dcsrbsr (job, &rowlenA, &mblk, &ldabsr, a0csrvals, a0csrcols, a0rwcsr,
        absrvals, absrcols, absrrows, &info);

Please not that rowlenA and collenA are actual row and column lengths for the matrix A. initvector is just a wrapper for malloc on the CPU. Kindly suggest what i am not doing correctly.

thanks for your attention and time in reading my question.

with best regards

rohit


0 Kudos
3 Replies
Gennady_F_Intel
Moderator
366 Views

the code snip is not complete, may be the sparse format converters C example which you can find into ..\examples\spblasc\source\dconverters.c  will helps you?

0 Kudos
itabhiyanta
Beginner
366 Views

thanks gennady for your prompt reply. i looked through the example you had mentioned. HOwever i still cannot understand how to find out the number of non-zeroes in the bsr matrix and assign the right about of space for the column and the values matrix.

you have mentioned that my cope snip is incomplete. do you suggest sending a standalone working code?

my intention was to find out if my calculation of the sizes of the matrices was ok or not because i get segmentation faults when i use this function with the arrays specified in the code snip.

kindly suggest/advise on how to choose the number of non-zeros in the bsr matrix or if you have any advice about how to debug this problem.

thanks and regards

0 Kudos
SergeyKostrov
Valued Contributor II
366 Views
>>...my intention was to find out if my calculation of the sizes of the matrices was ok or not because i get segmentation faults when >>i use this function with the arrays specified in the code snip. Please provide a complete test case because it looks like a different problem.
0 Kudos
Reply