aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJianzhong Xu2016-05-13 15:24:48 -0500
committerJianzhong Xu2016-05-13 15:24:48 -0500
commitf2eba74bbc6f2128fa7b8be2ad7df45580483c13 (patch)
tree653c264513231e28fd28306294001ef948a31325
parentf85a37ee21113e5839a64ac61009b1e2dde10fbc (diff)
downloadlinalg-f2eba74bbc6f2128fa7b8be2ad7df45580483c13.tar.gz
linalg-f2eba74bbc6f2128fa7b8be2ad7df45580483c13.tar.xz
linalg-f2eba74bbc6f2128fa7b8be2ad7df45580483c13.zip
Addressing issues found by Klockwork
-rw-r--r--src/ti/linalg/blis/frame/1m/packm/bli_packm_blk_var2.c3
-rw-r--r--src/ti/linalg/blis/frame/3/gemm/bli_gemm_blk_var1f.c5
-rw-r--r--src/ti/linalg/blis/frame/3/herk/bli_herk_blk_var1f.c6
-rw-r--r--src/ti/linalg/blis/frame/3/herk/bli_herk_l_ker_var2.c17
-rw-r--r--src/ti/linalg/blis/frame/3/trmm/bli_trmm_blk_var1f.c5
-rw-r--r--src/ti/linalg/blis/frame/3/trsm/bli_trsm_blk_var1b.c5
-rw-r--r--src/ti/linalg/blis/frame/3/trsm/bli_trsm_blk_var1f.c5
-rwxr-xr-xsrc/ti/linalg/blis/frame/base/bli_dma.c8
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 ) )