diff options
author | Jianzhong Xu | 2016-05-13 15:24:48 -0500 |
---|---|---|
committer | Jianzhong Xu | 2016-05-13 15:24:48 -0500 |
commit | f2eba74bbc6f2128fa7b8be2ad7df45580483c13 (patch) | |
tree | 653c264513231e28fd28306294001ef948a31325 | |
parent | f85a37ee21113e5839a64ac61009b1e2dde10fbc (diff) | |
download | linalg-f2eba74bbc6f2128fa7b8be2ad7df45580483c13.tar.gz linalg-f2eba74bbc6f2128fa7b8be2ad7df45580483c13.tar.xz linalg-f2eba74bbc6f2128fa7b8be2ad7df45580483c13.zip |
Addressing issues found by Klockwork
8 files changed, 35 insertions, 19 deletions
diff --git a/src/ti/linalg/blis/frame/1m/packm/bli_packm_blk_var2.c b/src/ti/linalg/blis/frame/1m/packm/bli_packm_blk_var2.c index 75e4091..b1ddf84 100644 --- a/src/ti/linalg/blis/frame/1m/packm/bli_packm_blk_var2.c +++ b/src/ti/linalg/blis/frame/1m/packm/bli_packm_blk_var2.c | |||
@@ -144,6 +144,9 @@ void bli_packm_blk_var2( obj_t* c, | |||
144 | kappa_p = &BLIS_ONE; | 144 | kappa_p = &BLIS_ONE; |
145 | } | 145 | } |
146 | } | 146 | } |
147 | else { | ||
148 | kappa_p = NULL; | ||
149 | } | ||
147 | kappa_p = thread_obroadcast( t, kappa_p ); | 150 | kappa_p = thread_obroadcast( t, kappa_p ); |
148 | 151 | ||
149 | 152 | ||
diff --git a/src/ti/linalg/blis/frame/3/gemm/bli_gemm_blk_var1f.c b/src/ti/linalg/blis/frame/3/gemm/bli_gemm_blk_var1f.c index f739d56..fd421d8 100644 --- a/src/ti/linalg/blis/frame/3/gemm/bli_gemm_blk_var1f.c +++ b/src/ti/linalg/blis/frame/3/gemm/bli_gemm_blk_var1f.c | |||
@@ -248,7 +248,10 @@ void bli_gemm_blk_var1f( obj_t* a, | |||
248 | cntl_sub_unpackm_c( cntl ), | 248 | cntl_sub_unpackm_c( cntl ), |
249 | gemm_thread_sub_ipackm( thread ) ); | 249 | gemm_thread_sub_ipackm( thread ) ); |
250 | 250 | ||
251 | bli_obj_alias_to(c2, c1); | 251 | if(i < end) // Only if i < end do we want to DMA the next block |
252 | { | ||
253 | bli_obj_alias_to(c2, c1); | ||
254 | } | ||
252 | } | 255 | } |
253 | } | 256 | } |
254 | 257 | ||
diff --git a/src/ti/linalg/blis/frame/3/herk/bli_herk_blk_var1f.c b/src/ti/linalg/blis/frame/3/herk/bli_herk_blk_var1f.c index 7817434..492d246 100644 --- a/src/ti/linalg/blis/frame/3/herk/bli_herk_blk_var1f.c +++ b/src/ti/linalg/blis/frame/3/herk/bli_herk_blk_var1f.c | |||
@@ -456,8 +456,10 @@ void bli_herk_blk_var1f( obj_t* a, | |||
456 | cntl_sub_unpackm_c( cntl ), | 456 | cntl_sub_unpackm_c( cntl ), |
457 | herk_thread_sub_ipackm( thread ) ); | 457 | herk_thread_sub_ipackm( thread ) ); |
458 | 458 | ||
459 | bli_obj_alias_to(c2, c1); | 459 | if(i < end) // Only if i < end do we want to DMA the next block |
460 | 460 | { | |
461 | bli_obj_alias_to(c2, c1); | ||
462 | } | ||
461 | } | 463 | } |
462 | } | 464 | } |
463 | #else | 465 | #else |
diff --git a/src/ti/linalg/blis/frame/3/herk/bli_herk_l_ker_var2.c b/src/ti/linalg/blis/frame/3/herk/bli_herk_l_ker_var2.c index 0ffd2b4..a046708 100644 --- a/src/ti/linalg/blis/frame/3/herk/bli_herk_l_ker_var2.c +++ b/src/ti/linalg/blis/frame/3/herk/bli_herk_l_ker_var2.c | |||
@@ -670,13 +670,16 @@ void PASTEMAC(ch,varname)( \ | |||
670 | ptr_dest += cs_c; \ | 670 | ptr_dest += cs_c; \ |
671 | } \ | 671 | } \ |
672 | } \ | 672 | } \ |
673 | c1_new = c1_next; \ | 673 | if(j < (n_iter-jr_num_threads)) /* no transfer for last iteration */ \ |
674 | a1_new = a1_next; \ | 674 | {\ |
675 | mc_new = mc_next; \ | 675 | c1_new = c1_next; \ |
676 | m_iter_new = m_iter_next; \ | 676 | a1_new = a1_next; \ |
677 | m_left_new = m_left_next; \ | 677 | mc_new = mc_next; \ |
678 | diagoffc_j = diagoffc_j_next; \ | 678 | m_iter_new = m_iter_next; \ |
679 | cs_c11 = cs_c11_next; \ | 679 | m_left_new = m_left_next; \ |
680 | diagoffc_j = diagoffc_j_next; \ | ||
681 | cs_c11 = cs_c11_next; \ | ||
682 | }\ | ||
680 | } \ | 683 | } \ |
681 | if (BLIS_ENABLE_PROFILE_KERVAR2 == 1) \ | 684 | if (BLIS_ENABLE_PROFILE_KERVAR2 == 1) \ |
682 | { \ | 685 | { \ |
diff --git a/src/ti/linalg/blis/frame/3/trmm/bli_trmm_blk_var1f.c b/src/ti/linalg/blis/frame/3/trmm/bli_trmm_blk_var1f.c index 32ae4af..1003313 100644 --- a/src/ti/linalg/blis/frame/3/trmm/bli_trmm_blk_var1f.c +++ b/src/ti/linalg/blis/frame/3/trmm/bli_trmm_blk_var1f.c | |||
@@ -449,7 +449,10 @@ void bli_trmm_blk_var1f( obj_t* a, | |||
449 | cntl_sub_unpackm_c( cntl ), | 449 | cntl_sub_unpackm_c( cntl ), |
450 | trmm_thread_sub_ipackm( thread ) ); | 450 | trmm_thread_sub_ipackm( thread ) ); |
451 | 451 | ||
452 | bli_obj_alias_to(c2, c1); | 452 | if(i < end) // Only if i < end do we want to DMA the next block |
453 | { | ||
454 | bli_obj_alias_to(c2, c1); | ||
455 | } | ||
453 | } | 456 | } |
454 | } | 457 | } |
455 | 458 | ||
diff --git a/src/ti/linalg/blis/frame/3/trsm/bli_trsm_blk_var1b.c b/src/ti/linalg/blis/frame/3/trsm/bli_trsm_blk_var1b.c index c6154d1..c85eee2 100644 --- a/src/ti/linalg/blis/frame/3/trsm/bli_trsm_blk_var1b.c +++ b/src/ti/linalg/blis/frame/3/trsm/bli_trsm_blk_var1b.c | |||
@@ -232,7 +232,10 @@ void bli_trsm_blk_var1b( obj_t* a, | |||
232 | } | 232 | } |
233 | #endif | 233 | #endif |
234 | #ifdef BLIS_ENABLE_C66X_EDMA | 234 | #ifdef BLIS_ENABLE_C66X_EDMA |
235 | bli_obj_alias_to(c2, c1); | 235 | if( (i+b_alg) < end ) //Making sure we aren't at the end of the matrix |
236 | { | ||
237 | bli_obj_alias_to(c2, c1); | ||
238 | } | ||
236 | #endif | 239 | #endif |
237 | } | 240 | } |
238 | 241 | ||
diff --git a/src/ti/linalg/blis/frame/3/trsm/bli_trsm_blk_var1f.c b/src/ti/linalg/blis/frame/3/trsm/bli_trsm_blk_var1f.c index 8296455..8c7d159 100644 --- a/src/ti/linalg/blis/frame/3/trsm/bli_trsm_blk_var1f.c +++ b/src/ti/linalg/blis/frame/3/trsm/bli_trsm_blk_var1f.c | |||
@@ -204,7 +204,10 @@ void bli_trsm_blk_var1f( obj_t* a, | |||
204 | trsm_thread_sub_trsm( thread ) ); | 204 | trsm_thread_sub_trsm( thread ) ); |
205 | 205 | ||
206 | #ifdef BLIS_ENABLE_C66X_EDMA | 206 | #ifdef BLIS_ENABLE_C66X_EDMA |
207 | bli_obj_alias_to(c2, c1); | 207 | if( (i+b_alg) < end ) //Making sure we aren't at the end of the matrix |
208 | { | ||
209 | bli_obj_alias_to(c2, c1); | ||
210 | } | ||
208 | #endif | 211 | #endif |
209 | } | 212 | } |
210 | 213 | ||
diff --git a/src/ti/linalg/blis/frame/base/bli_dma.c b/src/ti/linalg/blis/frame/base/bli_dma.c index f1ee815..be509d9 100755 --- a/src/ti/linalg/blis/frame/base/bli_dma.c +++ b/src/ti/linalg/blis/frame/base/bli_dma.c | |||
@@ -510,6 +510,8 @@ void bli_dma_var1( obj_t* a, | |||
510 | uplo_p = bli_obj_uplo( *p ); | 510 | uplo_p = bli_obj_uplo( *p ); |
511 | diagoff_p = bli_obj_diag_offset( *p ); | 511 | diagoff_p = bli_obj_diag_offset( *p ); |
512 | 512 | ||
513 | m_transfer = m_p; | ||
514 | n_transfer = n_p; | ||
513 | if(!bli_obj_root_is_general( *p ) && bli_obj_intersects_diag( *p ) && !(bli_is_triangular( struc_p ))) | 515 | if(!bli_obj_root_is_general( *p ) && bli_obj_intersects_diag( *p ) && !(bli_is_triangular( struc_p ))) |
514 | { | 516 | { |
515 | //printf("not general and diag intersects\n"); | 517 | //printf("not general and diag intersects\n"); |
@@ -532,12 +534,6 @@ void bli_dma_var1( obj_t* a, | |||
532 | } | 534 | } |
533 | } | 535 | } |
534 | } | 536 | } |
535 | else | ||
536 | { | ||
537 | m_transfer = m_p; | ||
538 | n_transfer = n_p; | ||
539 | } | ||
540 | |||
541 | 537 | ||
542 | //If source is column major | 538 | //If source is column major |
543 | if( bli_is_col_stored( rs_source, cs_source ) ) | 539 | if( bli_is_col_stored( rs_source, cs_source ) ) |