[openblas] 04/04: Ensure that the testsuite is run on arm* arches at build time.
Sébastien Villemot
sebastien at debian.org
Wed Apr 29 16:28:00 UTC 2015
This is an automated email from the git hooks/post-receive script.
sebastien pushed a commit to branch master
in repository openblas.
commit f50d3e793b1f48d7eb922fd1aeb14009b7889648
Author: Sébastien Villemot <sebastien at debian.org>
Date: Wed Apr 29 18:27:37 2015 +0200
Ensure that the testsuite is run on arm* arches at build time.
+ d/p/arm-arch-detection.patch: new patch, avoids false detection of
cross-compilation.
+ d/p/disable-gemm3m-tests.patch: new patch, avoid compilation failure of the
testsuite.
+ d/p/test-custom-package.patch renamed to d/p/always-run-testsuite.patch, to
clearly show that it is needed even for vanilla arm* packages.
Git-Dch: Full
---
...om-package.patch => always-run-testsuite.patch} | 6 +-
debian/patches/arm-arch-detection.patch | 19 +
debian/patches/disable-gemm3m-tests.patch | 655 +++++++++++++++++++++
debian/patches/series | 4 +-
4 files changed, 681 insertions(+), 3 deletions(-)
diff --git a/debian/patches/test-custom-package.patch b/debian/patches/always-run-testsuite.patch
similarity index 69%
rename from debian/patches/test-custom-package.patch
rename to debian/patches/always-run-testsuite.patch
index 66702bb..9c1399b 100644
--- a/debian/patches/test-custom-package.patch
+++ b/debian/patches/always-run-testsuite.patch
@@ -1,8 +1,10 @@
-Description: Run testsuite even when compiling custom package
+Description: Run testsuite even when TARGET is set
+ This ensures that the testsuite is run on arches where DYNAMIC_ARCH is not set,
+ or when the user is building a custom package.
Author: Sébastien Villemot <sebastien at debian.org>
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=677866
Forwarded: not-needed
-Last-Update: 2013-07-26
+Last-Update: 2015-04-29
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/Makefile
diff --git a/debian/patches/arm-arch-detection.patch b/debian/patches/arm-arch-detection.patch
new file mode 100644
index 0000000..4db1924
--- /dev/null
+++ b/debian/patches/arm-arch-detection.patch
@@ -0,0 +1,19 @@
+Description: Fix detection of ARM architectures
+ This ensures that the setup is not incorrectly detected as cross-building.
+ This would prevent the testsuite from being run.
+Author: Sébastien Villemot <sebastien at debian.org>
+Forwarded: https://github.com/xianyi/OpenBLAS/pull/560
+Last-Update: 2015-04-29
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/c_check
++++ b/c_check
+@@ -4,6 +4,8 @@
+ $hostos = `uname -s | sed -e s/\-.*//`; chop($hostos);
+ $hostarch = `uname -m | sed -e s/i.86/x86/`;chop($hostarch);
+ $hostarch = "x86_64" if ($hostarch eq "amd64");
++$hostarch = "arm" if ($hostarch =~ /^arm.*/);
++$hostarch = "arm64" if ($hostarch eq "aarch64");
+
+ $binary = $ENV{"BINARY"};
+
diff --git a/debian/patches/disable-gemm3m-tests.patch b/debian/patches/disable-gemm3m-tests.patch
new file mode 100644
index 0000000..87d4770
--- /dev/null
+++ b/debian/patches/disable-gemm3m-tests.patch
@@ -0,0 +1,655 @@
+Description: Strip code for GEMM3M tests
+ They cause FTBFS on arm*.
+Author: Sébastien Villemot <sebastien at debian.org>
+Bug: https://github.com/xianyi/OpenBLAS/issues/559
+Last-Update: 2015-04-29
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/ctest/c_c3chke.c
++++ b/ctest/c_c3chke.c
+@@ -46,235 +46,7 @@ void F77_c3chke(char * rout) {
+ }
+
+
+- if (strncmp( sf,"cblas_cgemm3m" ,13)==0) {
+- cblas_rout = "cblas_cgemm3" ;
+-
+- cblas_info = 1;
+- cblas_cgemm3m( INVALID, CblasNoTrans, CblasNoTrans, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 1;
+- cblas_cgemm3m( INVALID, CblasNoTrans, CblasTrans, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 1;
+- cblas_cgemm3m( INVALID, CblasTrans, CblasNoTrans, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 1;
+- cblas_cgemm3m( INVALID, CblasTrans, CblasTrans, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 2; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, INVALID, CblasNoTrans, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 2; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, INVALID, CblasTrans, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 3; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasNoTrans, INVALID, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 3; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasTrans, INVALID, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasNoTrans, CblasTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasTrans, CblasNoTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasTrans, CblasTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasNoTrans, CblasTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasTrans, CblasNoTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasTrans, CblasTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasNoTrans, CblasTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasTrans, CblasNoTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasTrans, CblasTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasNoTrans, CblasNoTrans, 2, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 2 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasNoTrans, CblasTrans, 2, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 2 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasTrans, CblasNoTrans, 0, 0, 2,
+- ALPHA, A, 1, B, 2, BETA, C, 1 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasTrans, CblasTrans, 0, 0, 2,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasNoTrans, CblasNoTrans, 0, 0, 2,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasTrans, CblasNoTrans, 0, 0, 2,
+- ALPHA, A, 2, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasNoTrans, CblasTrans, 0, 2, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasTrans, CblasTrans, 0, 2, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasNoTrans, CblasNoTrans, 2, 0, 0,
+- ALPHA, A, 2, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasNoTrans, CblasTrans, 2, 0, 0,
+- ALPHA, A, 2, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasTrans, CblasNoTrans, 2, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = FALSE;
+- cblas_cgemm3m( CblasColMajor, CblasTrans, CblasTrans, 2, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasNoTrans, CblasTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasTrans, CblasNoTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasTrans, CblasTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasNoTrans, CblasTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasTrans, CblasNoTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasTrans, CblasTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasNoTrans, CblasTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasTrans, CblasNoTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasTrans, CblasTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasNoTrans, CblasNoTrans, 0, 0, 2,
+- ALPHA, A, 1, B, 1, BETA, C, 2 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasNoTrans, CblasTrans, 0, 0, 2,
+- ALPHA, A, 1, B, 2, BETA, C, 2 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasTrans, CblasNoTrans, 2, 0, 0,
+- ALPHA, A, 1, B, 2, BETA, C, 1 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasTrans, CblasTrans, 2, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasNoTrans, CblasNoTrans, 0, 2, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasTrans, CblasNoTrans, 0, 2, 0,
+- ALPHA, A, 2, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasNoTrans, CblasTrans, 0, 0, 2,
+- ALPHA, A, 2, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasTrans, CblasTrans, 0, 0, 2,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasNoTrans, CblasNoTrans, 0, 2, 0,
+- ALPHA, A, 1, B, 2, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasNoTrans, CblasTrans, 0, 2, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasTrans, CblasNoTrans, 0, 2, 0,
+- ALPHA, A, 1, B, 2, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = TRUE;
+- cblas_cgemm3m( CblasRowMajor, CblasTrans, CblasTrans, 0, 2, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+-
+- } else if (strncmp( sf,"cblas_cgemm" ,11)==0) {
++ if (strncmp( sf,"cblas_cgemm" ,11)==0) {
+ cblas_rout = "cblas_cgemm" ;
+
+
+--- a/ctest/c_cblas3.c
++++ b/ctest/c_cblas3.c
+@@ -567,81 +567,3 @@ void F77_ctrsm(int *order, char *rtlf, c
+
+
+
+-void F77_cgemm3m(int *order, char *transpa, char *transpb, int *m, int *n,
+- int *k, CBLAS_TEST_COMPLEX *alpha, CBLAS_TEST_COMPLEX *a, int *lda,
+- CBLAS_TEST_COMPLEX *b, int *ldb, CBLAS_TEST_COMPLEX *beta,
+- CBLAS_TEST_COMPLEX *c, int *ldc ) {
+-
+- CBLAS_TEST_COMPLEX *A, *B, *C;
+- int i,j,LDA, LDB, LDC;
+- enum CBLAS_TRANSPOSE transa, transb;
+-
+- get_transpose_type(transpa, &transa);
+- get_transpose_type(transpb, &transb);
+-
+- if (*order == TEST_ROW_MJR) {
+- if (transa == CblasNoTrans) {
+- LDA = *k+1;
+- A=(CBLAS_TEST_COMPLEX*)malloc((*m)*LDA*sizeof(CBLAS_TEST_COMPLEX));
+- for( i=0; i<*m; i++ )
+- for( j=0; j<*k; j++ ) {
+- A[i*LDA+j].real=a[j*(*lda)+i].real;
+- A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+- }
+- }
+- else {
+- LDA = *m+1;
+- A=(CBLAS_TEST_COMPLEX* )malloc(LDA*(*k)*sizeof(CBLAS_TEST_COMPLEX));
+- for( i=0; i<*k; i++ )
+- for( j=0; j<*m; j++ ) {
+- A[i*LDA+j].real=a[j*(*lda)+i].real;
+- A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+- }
+- }
+-
+- if (transb == CblasNoTrans) {
+- LDB = *n+1;
+- B=(CBLAS_TEST_COMPLEX* )malloc((*k)*LDB*sizeof(CBLAS_TEST_COMPLEX) );
+- for( i=0; i<*k; i++ )
+- for( j=0; j<*n; j++ ) {
+- B[i*LDB+j].real=b[j*(*ldb)+i].real;
+- B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+- }
+- }
+- else {
+- LDB = *k+1;
+- B=(CBLAS_TEST_COMPLEX* )malloc(LDB*(*n)*sizeof(CBLAS_TEST_COMPLEX));
+- for( i=0; i<*n; i++ )
+- for( j=0; j<*k; j++ ) {
+- B[i*LDB+j].real=b[j*(*ldb)+i].real;
+- B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+- }
+- }
+-
+- LDC = *n+1;
+- C=(CBLAS_TEST_COMPLEX* )malloc((*m)*LDC*sizeof(CBLAS_TEST_COMPLEX));
+- for( j=0; j<*n; j++ )
+- for( i=0; i<*m; i++ ) {
+- C[i*LDC+j].real=c[j*(*ldc)+i].real;
+- C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+- }
+- cblas_cgemm3m( CblasRowMajor, transa, transb, *m, *n, *k, alpha, A, LDA,
+- B, LDB, beta, C, LDC );
+- for( j=0; j<*n; j++ )
+- for( i=0; i<*m; i++ ) {
+- c[j*(*ldc)+i].real=C[i*LDC+j].real;
+- c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+- }
+- free(A);
+- free(B);
+- free(C);
+- }
+- else if (*order == TEST_COL_MJR)
+- cblas_cgemm3m( CblasColMajor, transa, transb, *m, *n, *k, alpha, a, *lda,
+- b, *ldb, beta, c, *ldc );
+- else
+- cblas_cgemm3m( UNDEFINED, transa, transb, *m, *n, *k, alpha, a, *lda,
+- b, *ldb, beta, c, *ldc );
+-}
+-
+-
+--- a/ctest/c_z3chke.c
++++ b/ctest/c_z3chke.c
+@@ -49,237 +49,7 @@ void F77_z3chke(char * rout) {
+
+
+
+- if (strncmp( sf,"cblas_zgemm3m" ,13)==0) {
+- cblas_rout = "cblas_zgemm3" ;
+-
+- cblas_info = 1;
+- cblas_zgemm3m( INVALID, CblasNoTrans, CblasNoTrans, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 1;
+- cblas_zgemm3m( INVALID, CblasNoTrans, CblasTrans, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 1;
+- cblas_zgemm3m( INVALID, CblasTrans, CblasNoTrans, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 1;
+- cblas_zgemm3m( INVALID, CblasTrans, CblasTrans, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 2; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, INVALID, CblasNoTrans, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 2; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, INVALID, CblasTrans, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 3; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasNoTrans, INVALID, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 3; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasTrans, INVALID, 0, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasNoTrans, CblasTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasTrans, CblasNoTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasTrans, CblasTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasNoTrans, CblasTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasTrans, CblasNoTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasTrans, CblasTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasNoTrans, CblasTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasTrans, CblasNoTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasTrans, CblasTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasNoTrans, CblasNoTrans, 2, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 2 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasNoTrans, CblasTrans, 2, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 2 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasTrans, CblasNoTrans, 0, 0, 2,
+- ALPHA, A, 1, B, 2, BETA, C, 1 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasTrans, CblasTrans, 0, 0, 2,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasNoTrans, CblasNoTrans, 0, 0, 2,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasTrans, CblasNoTrans, 0, 0, 2,
+- ALPHA, A, 2, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasNoTrans, CblasTrans, 0, 2, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasTrans, CblasTrans, 0, 2, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasNoTrans, CblasNoTrans, 2, 0, 0,
+- ALPHA, A, 2, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasNoTrans, CblasTrans, 2, 0, 0,
+- ALPHA, A, 2, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasTrans, CblasNoTrans, 2, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = FALSE;
+- cblas_zgemm3m( CblasColMajor, CblasTrans, CblasTrans, 2, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasNoTrans, CblasTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasTrans, CblasNoTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 4; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasTrans, CblasTrans, INVALID, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasNoTrans, CblasTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasTrans, CblasNoTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 5; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasTrans, CblasTrans, 0, INVALID, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasNoTrans, CblasTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasTrans, CblasNoTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 6; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasTrans, CblasTrans, 0, 0, INVALID,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasNoTrans, CblasNoTrans, 0, 0, 2,
+- ALPHA, A, 1, B, 1, BETA, C, 2 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasNoTrans, CblasTrans, 0, 0, 2,
+- ALPHA, A, 1, B, 2, BETA, C, 2 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasTrans, CblasNoTrans, 2, 0, 0,
+- ALPHA, A, 1, B, 2, BETA, C, 1 );
+- chkxer();
+- cblas_info = 9; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasTrans, CblasTrans, 2, 0, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasNoTrans, CblasNoTrans, 0, 2, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasTrans, CblasNoTrans, 0, 2, 0,
+- ALPHA, A, 2, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasNoTrans, CblasTrans, 0, 0, 2,
+- ALPHA, A, 2, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 11; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasTrans, CblasTrans, 0, 0, 2,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasNoTrans, CblasNoTrans, 0, 2, 0,
+- ALPHA, A, 1, B, 2, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasNoTrans, CblasTrans, 0, 2, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasTrans, CblasNoTrans, 0, 2, 0,
+- ALPHA, A, 1, B, 2, BETA, C, 1 );
+- chkxer();
+- cblas_info = 14; RowMajorStrg = TRUE;
+- cblas_zgemm3m( CblasRowMajor, CblasTrans, CblasTrans, 0, 2, 0,
+- ALPHA, A, 1, B, 1, BETA, C, 1 );
+- chkxer();
+-
+-
+-
+- } else if (strncmp( sf,"cblas_zgemm" ,11)==0) {
++ if (strncmp( sf,"cblas_zgemm" ,11)==0) {
+ cblas_rout = "cblas_zgemm" ;
+
+ cblas_info = 1;
+--- a/ctest/c_zblas3.c
++++ b/ctest/c_zblas3.c
+@@ -563,81 +563,3 @@ void F77_ztrsm(int *order, char *rtlf, c
+ a, *lda, b, *ldb);
+ }
+
+-
+-void F77_zgemm3m(int *order, char *transpa, char *transpb, int *m, int *n,
+- int *k, CBLAS_TEST_ZOMPLEX *alpha, CBLAS_TEST_ZOMPLEX *a, int *lda,
+- CBLAS_TEST_ZOMPLEX *b, int *ldb, CBLAS_TEST_ZOMPLEX *beta,
+- CBLAS_TEST_ZOMPLEX *c, int *ldc ) {
+-
+- CBLAS_TEST_ZOMPLEX *A, *B, *C;
+- int i,j,LDA, LDB, LDC;
+- enum CBLAS_TRANSPOSE transa, transb;
+-
+- get_transpose_type(transpa, &transa);
+- get_transpose_type(transpb, &transb);
+-
+- if (*order == TEST_ROW_MJR) {
+- if (transa == CblasNoTrans) {
+- LDA = *k+1;
+- A=(CBLAS_TEST_ZOMPLEX*)malloc((*m)*LDA*sizeof(CBLAS_TEST_ZOMPLEX));
+- for( i=0; i<*m; i++ )
+- for( j=0; j<*k; j++ ) {
+- A[i*LDA+j].real=a[j*(*lda)+i].real;
+- A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+- }
+- }
+- else {
+- LDA = *m+1;
+- A=(CBLAS_TEST_ZOMPLEX* )malloc(LDA*(*k)*sizeof(CBLAS_TEST_ZOMPLEX));
+- for( i=0; i<*k; i++ )
+- for( j=0; j<*m; j++ ) {
+- A[i*LDA+j].real=a[j*(*lda)+i].real;
+- A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+- }
+- }
+-
+- if (transb == CblasNoTrans) {
+- LDB = *n+1;
+- B=(CBLAS_TEST_ZOMPLEX* )malloc((*k)*LDB*sizeof(CBLAS_TEST_ZOMPLEX) );
+- for( i=0; i<*k; i++ )
+- for( j=0; j<*n; j++ ) {
+- B[i*LDB+j].real=b[j*(*ldb)+i].real;
+- B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+- }
+- }
+- else {
+- LDB = *k+1;
+- B=(CBLAS_TEST_ZOMPLEX* )malloc(LDB*(*n)*sizeof(CBLAS_TEST_ZOMPLEX));
+- for( i=0; i<*n; i++ )
+- for( j=0; j<*k; j++ ) {
+- B[i*LDB+j].real=b[j*(*ldb)+i].real;
+- B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+- }
+- }
+-
+- LDC = *n+1;
+- C=(CBLAS_TEST_ZOMPLEX* )malloc((*m)*LDC*sizeof(CBLAS_TEST_ZOMPLEX));
+- for( j=0; j<*n; j++ )
+- for( i=0; i<*m; i++ ) {
+- C[i*LDC+j].real=c[j*(*ldc)+i].real;
+- C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+- }
+- cblas_zgemm3m( CblasRowMajor, transa, transb, *m, *n, *k, alpha, A, LDA,
+- B, LDB, beta, C, LDC );
+- for( j=0; j<*n; j++ )
+- for( i=0; i<*m; i++ ) {
+- c[j*(*ldc)+i].real=C[i*LDC+j].real;
+- c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+- }
+- free(A);
+- free(B);
+- free(C);
+- }
+- else if (*order == TEST_COL_MJR)
+- cblas_zgemm3m( CblasColMajor, transa, transb, *m, *n, *k, alpha, a, *lda,
+- b, *ldb, beta, c, *ldc );
+- else
+- cblas_zgemm3m( UNDEFINED, transa, transb, *m, *n, *k, alpha, a, *lda,
+- b, *ldb, beta, c, *ldc );
+-}
+-
diff --git a/debian/patches/series b/debian/patches/series
index bc3f3d5..0c39fbb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,7 +1,9 @@
arm-gcc-flags.patch
kfreebsd.patch
-test-custom-package.patch
+always-run-testsuite.patch
remove-openmp-warning.patch
no-embedded-lapack.patch
shared-blas-lapack.patch
arm64.patch
+arm-arch-detection.patch
+disable-gemm3m-tests.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/openblas.git
More information about the debian-science-commits
mailing list