diff options
author | Martin Kroeker <martin@ruby.chemie.uni-freiburg.de> | 2017-07-21 11:20:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-21 11:20:15 +0200 |
commit | 376048156b3ea5774ee2c28d25f7641150b8b1db (patch) | |
tree | 9e07bea9c9e650e734aeae6a4f8270a12dfebafb | |
parent | d1c5b8f91362126d0963f40f87cccb72d7177b22 (diff) | |
download | openblas-376048156b3ea5774ee2c28d25f7641150b8b1db.tar.gz openblas-376048156b3ea5774ee2c28d25f7641150b8b1db.tar.bz2 openblas-376048156b3ea5774ee2c28d25f7641150b8b1db.zip |
Use in-place transform shortcut only if matrix is square
-rw-r--r-- | interface/zimatcopy.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/interface/zimatcopy.c b/interface/zimatcopy.c index 3479c489b..87964e20d 100644 --- a/interface/zimatcopy.c +++ b/interface/zimatcopy.c @@ -126,8 +126,7 @@ void CNAME( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, return; } #ifdef NEW_IMATCOPY - if (*lda == *ldb) { -fprintf(stderr," lda=ldb, new_imatcopy in place\n"); + if (*lda == *ldb && *cols == *rows) { if ( order == BlasColMajor ) { @@ -141,7 +140,7 @@ fprintf(stderr," lda=ldb, new_imatcopy in place\n"); } if ( trans == BlasTrans ) { - IMATCOPY_K_CT(*cols, *rows, alpha[0], alpha[1], a, *lda ); + IMATCOPY_K_CT(*rows, *cols, alpha[0], alpha[1], a, *lda ); } if ( trans == BlasTransConj ) { @@ -161,7 +160,6 @@ fprintf(stderr," lda=ldb, new_imatcopy in place\n"); } if ( trans == BlasTrans ) { -fprintf(stderr,"rows trans inplace\n"); IMATCOPY_K_RT(*rows, *cols, alpha[0], alpha[1], a, *lda ); } if ( trans == BlasTransConj ) @@ -172,7 +170,7 @@ fprintf(stderr,"rows trans inplace\n"); return; } #endif -fprintf(stderr,"lda: %d ldb:%d\n",*lda,*ldb); + if ( *lda > *ldb ) msize = (*lda) * (*ldb) * sizeof(FLOAT) * 2; else @@ -181,7 +179,7 @@ fprintf(stderr,"lda: %d ldb:%d\n",*lda,*ldb); b = malloc(msize); if ( b == NULL ) { - printf("Memory alloc failed\n"); + printf("Memory alloc failed in zimatcopy\n"); exit(1); } |