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; job=1; job=1; job=0; job=3; mblk=2;
mb = (rowlenA + mblk-1)/mblk;
nb = (collenA + mblk-1)/mblk;
absrvals=(double*) initVector(mb*nb*mblk*mblk, MYDOUBLE);
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