Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package openblas for openSUSE:Factory checked in at 2026-04-30 20:26:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openblas (Old) and /work/SRC/openSUSE:Factory/.openblas.new.30200 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openblas" Thu Apr 30 20:26:00 2026 rev:75 rq:1349982 version:0.3.30 Changes: -------- --- /work/SRC/openSUSE:Factory/openblas/openblas.changes 2025-10-21 11:15:20.048053900 +0200 +++ /work/SRC/openSUSE:Factory/.openblas.new.30200/openblas.changes 2026-04-30 20:26:12.544533214 +0200 @@ -1,0 +2,110 @@ +Wed Jan 14 15:00:00 UTC 2026 - Christian Goll <[email protected]> + +- moved the testing to the build itself + +------------------------------------------------------------------- +Wed Jan 14 14:00:00 UTC 2026 - Christian Goll <[email protected]> +- Update to version 0.3.30: + general: + * fixed an installation problem with the thread safety test in gmake builds + * fixed spurious overwriting of an input array in complex GEMMT/GEMMTR + * fixed naming of GEMMTR in error messages from XERBLA + * fixed compilation of SBGEMMT/SBGEMMTR in CMake builds + * fixed the implementation of ?NRM2 to handle INCX=0 correctly + * removed tests for CSROT and ZDROT that relied on unspecified behavior + * fixed a performance regression in multithreaded GEMM that was particularly + serious on POWER targets + * fixed linking issues when using LLVM's flang-new with gmake + * fixed a potential thread safety problem with C11 atomic operations + * further improved the workload partitioning in parallel GEMM + * fixed omission of LAPACKE interfaces for CGESVDQ,CTRSYL3 and ?GEQPF in + CMake builds + * fixed mishandling of setting NO_LAPACK to FALSE, and incorrect dependencies + for LAPACK function SPMV in CMake builds + * added explicit CMake options for building LAPACKE and shared libraries + * simplified and improved handling of OpenMP options in CMake builds + * renaming (pre/postfixing) and optional generation of PDB files for debugging + * Fixed building with (Mingw) gmake on Windows to ensure completeness of the + LAPACK included in the static library (potential race condition due to the + Windows version of the "ln" utility creating snapshot copies rather than links) + * fixed unwanted deletion of the lapacke_mangling.h file by "make clean" + * fixed potential duplication of a _64 suffix on library names in CMake builds + * fixed compilation of the C fallback copies of the LAPACK code with GCC 15 + * included fixed from the Reference-LAPACK project: + fixed a truncated error message in the EIG part of the testsuite + (Reference-LAPACK PR 1119) + fixed too strict check in LAPACKE_?gesdd_work (PR #1126) + fixed memory corruption when calling ?GEEV with non-finite data (PR #1128) + fixed missing initialization of a variable in C/GEQP3RK (PR #1131) + fixed 2nd dimension chosen in C/ZUNMLQ transposition operation (PR #1135) + x86_64: + * fixed an error in the SBGEMV kernel for Cooper Lake/Sapphire Rapids + * fixed corner cases of NAN and INF input handling in CSCAL and ZSCAL + * improved the compiler identification code for flang-new + * fixed a potential build issue in the ZSUM kernel + * fixed "argument list too long" errors when building on MacOS + * added cpu autodetection support for several new Arrow Lake models + * fixed conditional inclusion of the fast path SGEMM kernel in DYNAMIC_ARCH + * fixed compilation with the MinGW build of GCC 15 + x86: + * fixed corner cases of NAN and INF input handling in CSCAL and ZSCAL + * worked around potential miscompilation of CDOT with very old binutils + arm64: + * fixed cpu type detection of A64FX and some ThunderX models (broken in 0.3.29) + * added support for the AmpereOne/1A cpus in DYNAMIC_ ARCH builds + * added an optimized SBGEMM kernel for NEOVERSEV1 + * improved 1xN SBGEMM performance by forwarding to SBGEMV + * introduced a stepwise increase of the thread count used for + SGEMM and SGEMV on NEOVERSEV1/V2 in relation to problem size + * introduced a stepwise increase of the thread count used for + DGEMV on NEOVERSEV1 in relation to problem size + * introduced a stepwise increase of the thread count used for + SDOT and DDOT on NEOVERSEV1 in relation to problem size + * fixed corner cases of NAN and INF input handling in CSCAL and ZSCAL + * added a fast path SGEMM kernel for small workloads on SME capable targets + * improved performance of SGEMM and DGEMM kernels for small workloads + * improved performance of SGEMV and DGEMV on SVE-capable targets + * improved performance of SGEMV on NEOVERSEN1 and Apple M + added optimized SSYMV and DSYMV kernels for NEOVERSEN1, Apple M and all + SVE capable targets + * added optimized SBGEMV kernels for NEOVERSEV1/V2/N2 + * improved performance of SGEMM through faster NCOPY kernels + * added compiler options for the NVIDIA HPC Compiler Suite + * fixed cpu core type and cache size detection on Apple M4 + * updated GEMM parameter settings for Neoverse cpus in cross-builds with CMake + * fixed default compiler options for NEOVERSEN1 and CORTEXX2 in CMake builds + * fixed conditional inclusion of the fast path SGEMM kernel in DYNAMIC_ARCH + * fixed potential miscompilation of the non-SVE SDOT kernel + arm: + * fixed corner cases of NAN and INF input handling in CSCAL and ZSCAL + * fixed unwanted generation of object files with a writable stack + riscv64: + * added optimized SROTM and DROTM kernels for x280 + * fixed corner cases of NAN and INF input handling in CSCAL and ZSCAL + * improved performance of GEMM_TCOPY on RVV1.0 targets with + VLEN of 128 or 256 + * improved performance of OMATCOPY on targets with VLEN 256 + * greatly improved performance of SGEMV/DGEMV + * improved performance of CGEMV and ZGEMV on C910V and all RVV targets + with VLEN 256 + * improved performance of SAXPBY and DAXPBY on C910V and all RVV targets + with VLEN 256 + * improved performance of AXPY and DOT on C910V and ZVL256B targets by + * falling back to non-vectorized code for very small N. (Thereby fixing + poor performance of CHBMV/ZHBMV for very small K) + * fixed CMake build failures of the TRMM kernels + power: + * fixed building for PPCG4 with CMake + * fixed SSCAL/DSCAL on PPC970 running FreeBSD + * fixed a potential alignment issue in the POWER8 SGEMV kernel + * fixed corner cases of NAN and INF input handling in CSCAL and ZSCAL + zarch: + * fixed corner cases of NAN and INF input handling in CSCAL and ZSCAL + * fixed unwanted generation of object files with a writable stack + +- Removed Restore-the-non-vectorized-code-from-before-PR4880-for-POWER8.patch + as incorporated upstream +- Added testrun package which runs the tests separately, the package + itself is empty, but build fails if any test fails + +------------------------------------------------------------------- Old: ---- OpenBLAS-0.3.29.tar.gz Restore-the-non-vectorized-code-from-before-PR4880-for-POWER8.patch New: ---- OpenBLAS-0.3.30.tar.gz ----------(Old B)---------- Old: - Removed Restore-the-non-vectorized-code-from-before-PR4880-for-POWER8.patch as incorporated upstream ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openblas.spec ++++++ --- /var/tmp/diff_new_pack.7IFXRm/_old 2026-04-30 20:26:13.812585257 +0200 +++ /var/tmp/diff_new_pack.7IFXRm/_new 2026-04-30 20:26:13.816585421 +0200 @@ -1,6 +1,7 @@ # # spec file for package openblas # +# Copyright (c) 2026 SUSE LLC # Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties @@ -105,7 +106,7 @@ %endif Name: %{package_name} -Version: 0.3.29 +Version: 0.3.30 Release: 0 Summary: An optimized BLAS library based on GotoBLAS2 License: BSD-3-Clause @@ -118,7 +119,6 @@ # PATCH port Patch102: Handle-s390-correctly.patch Patch103: openblas-ppc64be_up2_p8.patch -Patch104: Restore-the-non-vectorized-code-from-before-PR4880-for-POWER8.patch #BuildRequires: cmake BuildRequires: memory-constraints @@ -208,7 +208,6 @@ This package contains test binaries. %prep - %setup -q -n OpenBLAS-%{?sha1:%{sha1}}%{!?sha1:%{version}} %autopatch -p1 %ifarch s390 @@ -240,7 +239,6 @@ EOF %build - # For static libraries use -ffat-lto-objects to make sure the 'regular' # assembler code is generated as well as the intermediate code will be # stripped during pre-packaging post-processing. Also, set ldflags_tests @@ -338,6 +336,7 @@ PREFIX=%{p_prefix} sed -e 's#@FLAVOR@#%{flavor}#' \ -e 's#@COMPILER@#%{?compiler_family:%compiler_family}}#' \ + -e 's#@DIR@#%{p_testdir}#' \ < %{S:3} > %{buildroot}/%{p_testdir}/openblas_tests.sh chmod 0755 %{buildroot}/%{p_testdir}/openblas_tests.sh for i in %{buildroot}/%{p_testdir}/*; do @@ -443,6 +442,13 @@ fi /sbin/ldconfig +%check +sed -e 's#@FLAVOR@#%{flavor}#' \ + -e 's#@COMPILER@#%{?compiler_family:%compiler_family}}#' \ + -e 's#@DIR@#%{buildroot}/%{p_testdir}#' \ + < %{S:3} > ./openblas_tests_check.sh +bash ./openblas_tests_check.sh + %files -n lib%{name}%{so_a} %defattr(-,root,root,-) %{p_libdir}/lib%{pname}.so.%{so_v} ++++++ Handle-s390-correctly.patch ++++++ --- /var/tmp/diff_new_pack.7IFXRm/_old 2026-04-30 20:26:13.856587063 +0200 +++ /var/tmp/diff_new_pack.7IFXRm/_new 2026-04-30 20:26:13.860587226 +0200 @@ -1,9 +1,7 @@ +From d3b136268a7017cf1db298443024ec3477e1ca2d Mon Sep 17 00:00:00 2001 From: Egbert Eich <[email protected]> -Date: Wed Nov 30 20:14:53 2022 +0100 -Subject: Handle s390 correctly -Patch-mainline: Not yet -Git-commit: f1761f16899756e4da71df35b82772bcbcc33460 -References: +Date: Wed, 30 Nov 2022 20:14:53 +0100 +Subject: [PATCH] Handle s390 correctly Signed-off-by: Egbert Eich <[email protected]> Signed-off-by: Egbert Eich <[email protected]> @@ -11,11 +9,12 @@ c_check | 2 +- ctest.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) + diff --git a/c_check b/c_check -index 01d4f4a7..7db8bb42 100755 +index 9801b8778..05ef8df9f 100755 --- a/c_check +++ b/c_check -@@ -11,7 +11,7 @@ case "$hostarch" in +@@ -14,7 +14,7 @@ case "$hostarch" in arm*) [ "$hostarch" = "arm64" ] || hostarch='arm' ;; aarch64) hostarch=arm64 ;; powerpc*|ppc*) hostarch=power ;; @@ -25,7 +24,7 @@ makefile="$1" diff --git a/ctest.c b/ctest.c -index df628b1d..f09571b1 100644 +index cbc15326f..3ac5c335f 100644 --- a/ctest.c +++ b/ctest.c @@ -121,7 +121,7 @@ ARCH_X86_64 @@ -37,4 +36,7 @@ ARCH_ZARCH #endif +-- +2.46.1 + ++++++ OpenBLAS-0.3.29.tar.gz -> OpenBLAS-0.3.30.tar.gz ++++++ /work/SRC/openSUSE:Factory/openblas/OpenBLAS-0.3.29.tar.gz /work/SRC/openSUSE:Factory/.openblas.new.30200/OpenBLAS-0.3.30.tar.gz differ: char 13, line 1 ++++++ _multibuild ++++++ --- /var/tmp/diff_new_pack.7IFXRm/_old 2026-04-30 20:26:13.940590510 +0200 +++ /var/tmp/diff_new_pack.7IFXRm/_new 2026-04-30 20:26:13.952591002 +0200 @@ -1,6 +1,6 @@ <multibuild> - <package>serial</package> - <package>pthreads</package> - <package>openmp</package> + <flavor>serial</flavor> + <flavor>pthreads</flavor> + <flavor>openmp</flavor> </multibuild> ++++++ openblas-ppc64be_up2_p8.patch ++++++ --- /var/tmp/diff_new_pack.7IFXRm/_old 2026-04-30 20:26:13.972591824 +0200 +++ /var/tmp/diff_new_pack.7IFXRm/_new 2026-04-30 20:26:13.976591988 +0200 @@ -1,6 +1,7 @@ +From 1d6e9be8108677ff9b662fa96737172499d48ed9 Mon Sep 17 00:00:00 2001 From: Michel Normand <[email protected]> -Subject: openblas ppc64be up2 p8 -Date: Wed, 03 Feb 2021 15:39:25 +0100 +Date: Wed, 3 Feb 2021 15:39:25 +0100 +Subject: [PATCH] openblas ppc64be up2 p8 openblas ppc64be up2 p8 @@ -11,14 +12,44 @@ Signed-off-by: Michel Normand <[email protected]> --- - Makefile.system | 10 +++++++--- - driver/others/dynamic_power.c | 11 +++++++++++ + Makefile.system | 10 +++++++--- + driver/others/dynamic_power.c | 11 +++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) -Index: OpenBLAS-0.3.25/driver/others/dynamic_power.c -=================================================================== ---- OpenBLAS-0.3.25.orig/driver/others/dynamic_power.c -+++ OpenBLAS-0.3.25/driver/others/dynamic_power.c +diff --git a/Makefile.system b/Makefile.system +index 38646c3c6..78e7c00a5 100644 +--- a/Makefile.system ++++ b/Makefile.system +@@ -792,6 +792,9 @@ ifeq ($(ARCH), power) + ifneq ($(C_COMPILER), PGI) + DYNAMIC_CORE = POWER6 + DYNAMIC_CORE += POWER8 ++ifeq ($(__BYTE_ORDER__),__ORDER_BIG_ENDIAN__) ++$(info, OpenBLAS: for big endian limit to POWER8 kernels.) ++else + ifneq ($(C_COMPILER), GCC) + DYNAMIC_CORE += POWER9 + DYNAMIC_CORE += POWER10 +@@ -820,11 +823,12 @@ else + $(info, OpenBLAS: Your gcc version is too old to build the POWER10 kernels.) + endif + endif +-else ++endif # __ORDER_BIG_ENDIAN__ ++else # C_COMPILER PGI + DYNAMIC_CORE = POWER8 + DYNAMIC_CORE += POWER9 +-endif +-endif ++endif # C_COMPILER PGI ++endif # ARCH power + + # If DYNAMIC_CORE is not set, DYNAMIC_ARCH cannot do anything, so force it to empty + ifndef DYNAMIC_CORE +diff --git a/driver/others/dynamic_power.c b/driver/others/dynamic_power.c +index 4c1f4a26e..4216da19b 100644 +--- a/driver/others/dynamic_power.c ++++ b/driver/others/dynamic_power.c @@ -3,12 +3,14 @@ extern gotoblas_t gotoblas_POWER6; @@ -34,7 +65,7 @@ extern void openblas_warning(int verbose, const char *msg); -@@ -28,11 +30,13 @@ char *gotoblas_corename(void) { +@@ -28,10 +30,12 @@ char *gotoblas_corename(void) { #endif if (gotoblas == &gotoblas_POWER8) return corename[2]; #if ((!defined __GNUC__) || ( __GNUC__ >= 6)) || defined(__clang__) @@ -43,12 +74,11 @@ #endif #ifdef HAVE_P10_SUPPORT if (gotoblas == &gotoblas_POWER10) return corename[4]; - #endif +#endif + #endif return corename[0]; } - -@@ -243,6 +247,10 @@ static gotoblas_t *get_coretype(void) { +@@ -257,6 +261,10 @@ static gotoblas_t *get_coretype(void) { #endif if (__builtin_cpu_is("power8")) return &gotoblas_POWER8; @@ -59,15 +89,15 @@ #if ((!defined __GNUC__) || ( __GNUC__ >= 6)) || defined(__clang__) if (__builtin_cpu_is("power9")) return &gotoblas_POWER9; -@@ -260,6 +268,7 @@ static gotoblas_t *get_coretype(void) { +@@ -273,6 +281,7 @@ static gotoblas_t *get_coretype(void) { + #if (!defined __GNUC__) || ( __GNUC__ >= 11) || (__GNUC__ == 10 && __GNUC_MINOR__ >= 2) if (__builtin_cpu_is("power10")) return &gotoblas_POWER9; - #endif +#endif + #endif return NULL; } - -@@ -284,12 +293,14 @@ static gotoblas_t *force_coretype(char * +@@ -298,11 +307,13 @@ static gotoblas_t *force_coretype(char * coretype) { case 1: return (&gotoblas_POWER6); #endif case 2: return (&gotoblas_POWER8); @@ -77,39 +107,11 @@ #endif #ifdef HAVE_P10_SUPPORT case 4: return (&gotoblas_POWER10); - #endif +#endif + #endif default: return NULL; } - snprintf(message, 128, "Core not found: %s\n", coretype); -Index: OpenBLAS-0.3.25/Makefile.system -=================================================================== ---- OpenBLAS-0.3.25.orig/Makefile.system -+++ OpenBLAS-0.3.25/Makefile.system -@@ -748,6 +748,9 @@ ifeq ($(ARCH), power) - ifneq ($(C_COMPILER), PGI) - DYNAMIC_CORE = POWER6 - DYNAMIC_CORE += POWER8 -+ifeq ($(__BYTE_ORDER__),__ORDER_BIG_ENDIAN__) -+$(info, OpenBLAS: for big endian limit to POWER8 kernels.) -+else - ifneq ($(C_COMPILER), GCC) - DYNAMIC_CORE += POWER9 - DYNAMIC_CORE += POWER10 -@@ -776,11 +779,12 @@ else - $(info, OpenBLAS: Your gcc version is too old to build the POWER10 kernels.) - endif - endif --else -+endif # __ORDER_BIG_ENDIAN__ -+else # C_COMPILER PGI - DYNAMIC_CORE = POWER8 - DYNAMIC_CORE += POWER9 --endif --endif -+endif # C_COMPILER PGI -+endif # ARCH power - - # If DYNAMIC_CORE is not set, DYNAMIC_ARCH cannot do anything, so force it to empty - ifndef DYNAMIC_CORE +-- +2.46.1 + ++++++ openblas_tests.sh.in ++++++ --- /var/tmp/diff_new_pack.7IFXRm/_old 2026-04-30 20:26:14.020593793 +0200 +++ /var/tmp/diff_new_pack.7IFXRm/_new 2026-04-30 20:26:14.024593958 +0200 @@ -2,75 +2,78 @@ FLAVOR=@FLAVOR@ COMPILER=@COMPILER@ +dir=@DIR@ + + +testfailed=0 +declare -a failed_test + +failed() { + echo "$1 failed" + testfailed=1 + failed_test+=("$1") +} + # Series 'test' series_test() { - ${dir}/sblat1 || echo "sblat1 failed" - ${dir}/dblat1 || echo "dblat1 failed" - ${dir}/cblat1 || echo "cblat1 failed" - ${dir}/zblat1 || echo "zblat1 failed" - ${dir}/sblat2 < ${dir}/sblat2.dat || echo " failed" + ${dir}/sblat1 || failed sblat1 + ${dir}/dblat1 || failed dblat1 + ${dir}/cblat1 || failed cblat1 + ${dir}/zblat1 || failed zblat1 + ${dir}/sblat2 < ${dir}/sblat2.dat || echo failed sblat2 grep -q FATAL SBLAT2.SUMM && cat SBLAT2.SUMM || true - ${dir}/dblat2 < ${dir}/dblat2.dat || echo " failed" + ${dir}/dblat2 < ${dir}/dblat2.dat || failed dblat2 grep -q FATAL DBLAT2.SUMM && cat DBLAT2.SUMM || true - ${dir}/cblat2 < ${dir}/cblat2.dat || echo " failed" + ${dir}/cblat2 < ${dir}/cblat2.dat || echo failed cblat2 grep -q FATAL CBLAT2.SUMM && cat CBLAT2.SUMM || true - ${dir}/zblat2 < ${dir}/zblat2.dat || echo " failed" + ${dir}/zblat2 < ${dir}/zblat2.dat || echo failed zblat2 grep -q FATAL ZBLAT2.SUMM && cat ZBLAT2.SUMM || true - ${dir}/test_sbgemm > SBBLAT3.SUMM || echo "test_sbgemm failed" + ${dir}/test_sbgemm > SBBLAT3.SUMM || failed test_sbgemm grep -q FATAL SBBLAT3.SUMM && cat SBBLAT3.SUMM || true - ${dir}/dblat3 < ${dir}/dblat3.dat || echo "dblat3 failed" + ${dir}/dblat3 < ${dir}/dblat3.dat || failed dblat3 grep -q FATAL DBLAT3.SUMM && cat DBLAT3.SUMM || true - ${dir}/cblat3 < ${dir}/cblat3.dat || echo "cblat3 failed" + ${dir}/cblat3 < ${dir}/cblat3.dat || failed cblat3 grep -q FATAL CBLAT3.SUMM && cat CBLAT3.SUMM || true [ -x ${dir}/cblat3_3m ] && \ { ${dir}/cblat3_3m < ${dir}/cblat3_3m.dat; grep -q FATAL CBLAT3_3M.SUMM && cat CBLAT3_3M.SUMM || true; } - ${dir}/zblat3 < ${dir}/zblat3.dat || echo "zblat3 failed"; + ${dir}/zblat3 < ${dir}/zblat3.dat || failed zblat3; grep -q FATAL ZBLAT3.SUMM && cat ZBLAT3.SUMM || true [ -x ${dir}/zblat3_3m ] && \ - { ${dir}/zblat3_3m < ${dir}/zblat3_3m.dat || echo "zblat3 failed"; + { ${dir}/zblat3_3m < ${dir}/zblat3_3m.dat || failed zblat3; grep -q FATAL ZBLAT3_3M.SUMM && cat ZBLAT3_3M.SUMM || true; } } # Series 'ctest' series_ctest() { - ${dir}/xscblat1 || echo "xscblat1 failed" - ${dir}/xdcblat1 || echo "sdcblat1 failed" - ${dir}/xccblat1 || echo "xccblat1 failed" - ${dir}/xzcblat1 || echo "xzcblat1 failed" - ${dir}/xscblat2 < ${dir}/sin2 || echo "xscblat2 failed" - ${dir}/xdcblat2 < ${dir}/din2 || echo "xdcblat2 failed" - ${dir}/xccblat2 < ${dir}/cin2 || echo "xccblat2 failed" - ${dir}/xzcblat2 < ${dir}/zin2 || echo "xzcblat2 failed" - ${dir}/xscblat3 < ${dir}/sin3 || echo "xscblat3 failed" - ${dir}/xdcblat3 < ${dir}/din3 || echo "xdcblat3 failed" - ${dir}/xccblat3 < ${dir}/cin3 || echo "xccblat3 failed" - ${dir}/xzcblat3 < ${dir}/zin3 || echo "xzcblat3 failed" - [ -x ${dir}/xccblat3_3m ] && { ${dir}/xccblat3_3m < ${dir}/cin3_3m || echo "cin3_3m failed"; }; - [ -x ${dir}/xzcblat3_3m ] && { ${dir}/xzcblat3_3m < ${dir}/zin3_3m || echo "zin3_3m failed"; }; + ${dir}/xscblat1 || failed xscblat1 + ${dir}/xdcblat1 || failed sdcblat1 + ${dir}/xccblat1 || failed xccblat1 + ${dir}/xzcblat1 || failed xzcblat1 + ${dir}/xscblat2 < ${dir}/sin2 || failed xscblat2 + ${dir}/xdcblat2 < ${dir}/din2 || failed xdcblat2 + ${dir}/xccblat2 < ${dir}/cin2 || failed xccblat2 + ${dir}/xzcblat2 < ${dir}/zin2 || failed xzcblat2 + ${dir}/xscblat3 < ${dir}/sin3 || failed xscblat3 + ${dir}/xdcblat3 < ${dir}/din3 || failed xdcblat3 + ${dir}/xccblat3 < ${dir}/cin3 || failed xccblat3 + ${dir}/xzcblat3 < ${dir}/zin3 || failed xzcblat3 + [ -x ${dir}/xccblat3_3m ] && { ${dir}/xccblat3_3m < ${dir}/cin3_3m || failed cin3_3m; }; + [ -x ${dir}/xzcblat3_3m ] && { ${dir}/xzcblat3_3m < ${dir}/zin3_3m || failed zin3_3m; }; } # Series 'utest' series_utest() { - ${dir}/openblas_utest || echo "openblas_utest failed" - ${dir}/openblas_utest_ext || echo "openblas_utest_ext failed" + ${dir}/openblas_utest || failed openblas_utest + ${dir}/openblas_utest_ext || failed openblas_utest_ext } -dir=/usr/lib/openblas-${FLAVOR}/tests case $FLAVOR in serial) export THREADS=false; export OMP=false ;; pthreads) export THREADS=true; export OMP=false ;; openmp) export THREADS=false; export OMP=true ;; - gnu-hpc) module pure; - module load gnu/$COMPILER openblas; - dir=$OPENBLAS_DIR/bin - export THREADS=false; export OMP=true - ;; - gnu-hpc-ptreads) module pure; - module load gnu/$COMPILER_VERSION openblas; - export THREADS=true; export OMP=false ;; esac OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 series_test @@ -91,3 +94,13 @@ series_utest +if [ ${#failed_test[@]} -ne 0 ]; then + echo + echo "The following tests failed:" + for test in "${failed_test[@]}"; do + echo " - $test" + done +fi + +exit $testfailed +
