Loading src/dmrg_vbatch.c +64 −33 Original line number Diff line number Diff line Loading @@ -149,7 +149,7 @@ void dmrg_Xgemm_vbatch( char ctransa_array[], int group_size[] ) { const int idebug = 0; const int idebug = 1; double gflops = 0; double elapsed_time = 0; Loading Loading @@ -384,6 +384,69 @@ double elapsed_time = 0; FpType alpha = alpha_vbatch[0]; FpType beta = beta_vbatch[0]; /* * ------------ * extra checks * ------------ */ if (idebug >= 1) { int i = 0; for(i=0; i < batch_size; i++) { int mm = m_vbatch[i]; int nn = n_vbatch[i]; int kk = k_vbatch[i]; int lda = lda_vbatch[i]; int ldb = ldb_vbatch[i]; int ldc = ldc_vbatch[i]; FpType *Amat = a_vbatch[i]; FpType *Bmat = b_vbatch[i]; FpType *Cmat = c_vbatch[i]; int is_ok_mm = (mm >= 1 ); int is_ok_nn = (nn >= 1 ); int is_ok_kk = (kk >= 1 ); int is_ok_mnk = is_ok_mm && is_ok_nn && is_ok_kk; if (!is_ok_mnk) { fprintf(stderr, "dmrg_vbatch:batch_size=%d,i=%d,mm=%d,nn=%d,kk=%d\n", batch_size, i, mm, nn, kk ); fflush(stderr); }; int is_ok_lda = (lda >= 1); int is_ok_ldb = (ldb >= 1); int is_ok_ldc = (ldc >= 1); int is_ok_ldabc = is_ok_lda && is_ok_ldb && is_ok_ldc; if (!is_ok_ldabc) { fprintf(stderr, "dmrg_vbatch:batch_size=%d,i=%d,lda=%d,ldb=%d,ldc=%d\n", batch_size, i, lda, ldb, ldc ); fflush(stderr); }; assert( mm >= 1 ); assert( nn >= 1 ); assert( kk >= 1 ); assert( lda >= 1 ); assert( ldb >= 1 ); assert( ldc >= 1 ); assert( Amat != 0 ); assert( Bmat != 0 ); assert( Cmat != 0 ); }; }; if (ngpu == 1) { Loading Loading @@ -430,38 +493,6 @@ double elapsed_time = 0; int *pldb_vbatch = &(ldb_vbatch[istart]); int *pldc_vbatch = &(ldc_vbatch[istart]); /* * ------------ * extra checks * ------------ */ int i = 0; for(i=0; i < isize; i++) { int mm = pm_vbatch[i]; int nn = pn_vbatch[i]; int kk = pk_vbatch[i]; int lda = plda_vbatch[i]; int ldb = pldb_vbatch[i]; int ldc = pldc_vbatch[i]; FpType *Amat = a_vbatch[i]; FpType *Bmat = b_vbatch[i]; FpType *Cmat = c_vbatch[i]; assert( mm >= 1 ); assert( nn >= 1 ); assert( kk >= 1 ); assert( lda >= 1 ); assert( ldb >= 1 ); assert( ldc >= 1 ); assert( Amat != 0 ); assert( Bmat != 0 ); assert( Cmat != 0 ); }; int pbatch_size = isize; Loading Loading
src/dmrg_vbatch.c +64 −33 Original line number Diff line number Diff line Loading @@ -149,7 +149,7 @@ void dmrg_Xgemm_vbatch( char ctransa_array[], int group_size[] ) { const int idebug = 0; const int idebug = 1; double gflops = 0; double elapsed_time = 0; Loading Loading @@ -384,6 +384,69 @@ double elapsed_time = 0; FpType alpha = alpha_vbatch[0]; FpType beta = beta_vbatch[0]; /* * ------------ * extra checks * ------------ */ if (idebug >= 1) { int i = 0; for(i=0; i < batch_size; i++) { int mm = m_vbatch[i]; int nn = n_vbatch[i]; int kk = k_vbatch[i]; int lda = lda_vbatch[i]; int ldb = ldb_vbatch[i]; int ldc = ldc_vbatch[i]; FpType *Amat = a_vbatch[i]; FpType *Bmat = b_vbatch[i]; FpType *Cmat = c_vbatch[i]; int is_ok_mm = (mm >= 1 ); int is_ok_nn = (nn >= 1 ); int is_ok_kk = (kk >= 1 ); int is_ok_mnk = is_ok_mm && is_ok_nn && is_ok_kk; if (!is_ok_mnk) { fprintf(stderr, "dmrg_vbatch:batch_size=%d,i=%d,mm=%d,nn=%d,kk=%d\n", batch_size, i, mm, nn, kk ); fflush(stderr); }; int is_ok_lda = (lda >= 1); int is_ok_ldb = (ldb >= 1); int is_ok_ldc = (ldc >= 1); int is_ok_ldabc = is_ok_lda && is_ok_ldb && is_ok_ldc; if (!is_ok_ldabc) { fprintf(stderr, "dmrg_vbatch:batch_size=%d,i=%d,lda=%d,ldb=%d,ldc=%d\n", batch_size, i, lda, ldb, ldc ); fflush(stderr); }; assert( mm >= 1 ); assert( nn >= 1 ); assert( kk >= 1 ); assert( lda >= 1 ); assert( ldb >= 1 ); assert( ldc >= 1 ); assert( Amat != 0 ); assert( Bmat != 0 ); assert( Cmat != 0 ); }; }; if (ngpu == 1) { Loading Loading @@ -430,38 +493,6 @@ double elapsed_time = 0; int *pldb_vbatch = &(ldb_vbatch[istart]); int *pldc_vbatch = &(ldc_vbatch[istart]); /* * ------------ * extra checks * ------------ */ int i = 0; for(i=0; i < isize; i++) { int mm = pm_vbatch[i]; int nn = pn_vbatch[i]; int kk = pk_vbatch[i]; int lda = plda_vbatch[i]; int ldb = pldb_vbatch[i]; int ldc = pldc_vbatch[i]; FpType *Amat = a_vbatch[i]; FpType *Bmat = b_vbatch[i]; FpType *Cmat = c_vbatch[i]; assert( mm >= 1 ); assert( nn >= 1 ); assert( kk >= 1 ); assert( lda >= 1 ); assert( ldb >= 1 ); assert( ldc >= 1 ); assert( Amat != 0 ); assert( Bmat != 0 ); assert( Cmat != 0 ); }; int pbatch_size = isize; Loading