In BLAS API, the eight parameter for DGEMM is the physically-allocated leading (in Fortran sense) dimension of matrix B, as in C=(alpha)*A*B + (beta)*C.
See the comments in http://www.netlib.org/blas/dgemm.f Shao-Ching On Wed, Apr 09, 2008 at 10:02:41AM -0700, Yujie wrote: > hi, everyone > > My codes are as follows: > > ierr=MatGetSubMatrices(tempM_mat,1,&is_row,&is_col,MAT_INITIAL_MATRIX,&tempA_mat); > CHKERRQ(ierr); > A_mat=*tempA_mat; > ierr=MatDestroy(tempM_mat);CHKERRQ(ierr); > ierr=MatGetSize(A_mat,&M,&N);CHKERRQ(ierr); > //AtA > ierr=MatMatMultTranspose(A_mat,A_mat,MAT_INITIAL_MATRIX,fill,&AtA_mat); > > I get a seqdense submatrix "A_mat" by > MatGetSubMatrices(). I further get At*A by MatMatMultTranspose(). > However, I meet an error: > " ** On entry to DGEMM parameter number 8 had an illegal value" > > I debug my codes. > In MatMatMultTranspose_seqdense_seqdense(), the codes call > "BLASgemm_("T","N",&m,&n,&k,&_DOne,a->v,&a->lda,b->v,&b->lda,&_DZero,c->v,&c->lda);" > I don't know the meaning of the 8th parameters"&a->lda". In my codes, its > value is "0". > > Are there any problems in my codes? could you give me some advice? thanks a > lot. > > Regards, > Yujie
