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



