Accepting request 1039250 from home:eeich:branches:science

- Update to v0.3.21:
  * general:
    - Updated the included LAPACK to Reference-LAPACK release 3.10.1
    - when no Fortran compiler is available, OpenBLAS builds will now automatically
    - function LAPACKE_lsame is now annotated with the GCC attribute "const" to aid static analyzers
    - added USE_TLS to the list of options reported by the openblas_get_config() function
    - added SYMBOLPREFIX/SYMBOLSUFFIX handling for LAPACK 3.10.0 functions added in 0.3.20
    - reverted OpenMP threadpool behaviour in the exec_blas call to its state before 0.3.11, that is
      the threadpool will no longer grow or shrink on demand as the overhead for this is too big at least with
      GNU OpenMP. The adaptive behaviour introduced in 0.3.11 can still be requested at runtime by setting
      the environment variable OMP_ADAPTIVE
    - worked around spurious STFSM/CTFSM errors reported by the LAPACK testsuite
  * x86_64:
    - fixed determination of compiler support for AVX512 and removed the 0.3.19
    - workaround for building SKYLAKEX kernels on Sandybridge hardware
    - fixed compilation for the SKYLAKEX target with gcc 6
    - fixed compilation of the SkyLakeX small matrix GEMM kernels with LLVM or ICC
    - added support for the Zhaoxin/Centaur KH40000 cpu
    - fixed a potential crash in the ZSYMV kernel used for all targets except generic
  * POWER:
    - worked around an overflow error in the POWER6 DNRM2 kernel
    - fixed compilation on PPC440
    - fixed a performance regression in the level1 BLAS on POWER10
    - fixed the POWER10 ZGEMM kernel
    - fixed singlethreaded builds for POWER10
    - fixed compilation of the POWER10 DGEMV kernel with older gcc versions
    - enabled compilation of the BFLOAT16 kernels by default
    - enabled the small matrix kernels by default for DYNAMIC_ARCH builds
    - added a workaround for a miscompilation of the CDOT and ZDOT kernels by GCC 12
- Obsolete:

OBS-URL: https://build.opensuse.org/request/show/1039250
OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=146
This commit is contained in:
Dmitry Roshchin 2022-12-01 13:36:16 +00:00 committed by Git OBS Bridge
parent e2b7712e17
commit 436e09b8b4
17 changed files with 187 additions and 302 deletions

View File

@ -1,32 +0,0 @@
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Fri Feb 25 10:04:00 2022 +0100
Subject: Define sbgemm_r to fix DYNAMIC_ARCH builds
Patch-mainline: Not yet
Git-repo: https://github.com/xianyi/OpenBLAS
Git-commit: d9894f45d30e82fd1491ae38477a1fcd79faeed1
References:
Signed-off-by: Egbert Eich <eich@suse.de>
---
kernel/setparam-ref.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/kernel/setparam-ref.c b/kernel/setparam-ref.c
index fe796be6..a81b32dd 100644
--- a/kernel/setparam-ref.c
+++ b/kernel/setparam-ref.c
@@ -1824,6 +1824,13 @@ static void init_parameter(void) {
fprintf(stderr, "L2 = %8d DGEMM_P .. %d\n", l2, TABLE_NAME.dgemm_p);
#endif
+#if BUILD_BFLOAT16==1
+ TABLE_NAME.sbgemm_r = (((BUFFER_SIZE -
+ ((TABLE_NAME.sbgemm_p * TABLE_NAME.sbgemm_q * 4 + TABLE_NAME.offsetA
+ + TABLE_NAME.align) & ~TABLE_NAME.align)
+ ) / (TABLE_NAME.sbgemm_q * 4) - 15) & ~15);
+#endif
+
#if BUILD_SINGLE==1
TABLE_NAME.sgemm_r = (((BUFFER_SIZE -
((TABLE_NAME.sgemm_p * TABLE_NAME.sgemm_q * 4 + TABLE_NAME.offsetA

View File

@ -1,33 +0,0 @@
From: Egbert Eich <eich@suse.com>
Date: Sun Mar 13 10:57:59 2022 +0100
Subject: Do not include symbols defined in driver/others/parameter.c in DYNAMIC_BUILD
Patch-mainline: Not yet
Git-repo: https://github.com/xianyi/OpenBLAS
Git-commit: 53cd07b0201c94ea50a499867382dcf39d1b8766
References:
driver/others/parameter.c does not get build during DYNAMIC_BUILD, thus,
do not declare its symbols. This will make the build fail early and in
an obvious way if functions are trying to use these symbols.
Signed-off-by: Egbert Eich <eich@suse.com>
Signed-off-by: Egbert Eich <eich@suse.de>
---
common_macro.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/common_macro.h b/common_macro.h
index 9826f180..d2fa822c 100644
--- a/common_macro.h
+++ b/common_macro.h
@@ -2610,8 +2610,9 @@
#endif
#ifndef ASSEMBLER
-#if defined(ARCH_X86) || defined(ARCH_X86_64) || defined(ARCH_IA64) || defined(ARCH_MIPS64) || defined(ARCH_ARM64)\
-|| defined(ARCH_LOONGARCH64) || defined(ARCH_E2K)
+#if !defined(DYNAMIC_ARCH) \
+ && (defined(ARCH_X86) || defined(ARCH_X86_64) || defined(ARCH_IA64) || defined(ARCH_MIPS64) || defined(ARCH_ARM64) \
+ || defined(ARCH_LOONGARCH64) || defined(ARCH_E2K))
extern BLASLONG gemm_offset_a;
extern BLASLONG gemm_offset_b;
extern BLASLONG sbgemm_p;

View File

@ -1,36 +0,0 @@
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Wed Mar 23 15:48:58 2022 +0100
Subject: Fix checks for AVX512 and atomics
Patch-mainline: Not yet
Git-repo: https://github.com/xianyi/OpenBLAS
Git-commit: c87a4dbf35c809ebe6bc88c7d8dce8f2e7b135ea
References:
Signed-off-by: Egbert Eich <eich@suse.de>
---
c_check | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/c_check b/c_check
index 999f5a7a..e10ddfeb 100644
--- a/c_check
+++ b/c_check
@@ -254,7 +254,7 @@ if (($architecture eq "x86") || ($architecture eq "x86_64")) {
# $tmpf = new File::Temp( UNLINK => 1 );
($fh,$tmpf) = tempfile( SUFFIX => '.c' , UNLINK => 1 );
$code = '"vbroadcastss -4 * 4(%rsi), %zmm2"';
- print $tmpf "#include <immintrin.h>\n\nint main(void){ __asm__ volatile($code); }\n";
+ print $fh "#include <immintrin.h>\n\nint main(void){ __asm__ volatile($code); }\n";
$args = " -march=skylake-avx512 -c -o $tmpf.o $tmpf";
if ($compiler eq "PGI") {
$args = " -tp skylake -c -o $tmpf.o $tmpf";
@@ -278,7 +278,7 @@ if ($data =~ /HAVE_C11/) {
$c11_atomics = 0;
} else {
($fh,$tmpf) = tempfile( SUFFIX => '.c' , UNLINK => 1 );
- print $tmpf "#include <stdatomic.h>\nint main(void){}\n";
+ print $fh "#include <stdatomic.h>\nint main(void){}\n";
$args = " -c -o $tmpf.o $tmpf";
my @cmd = ("$compiler_name $flags $args >/dev/null 2>/dev/null");
system(@cmd) == 0;

View File

@ -0,0 +1,39 @@
From: Egbert Eich <eich@suse.com>
Date: Wed Nov 30 20:14:53 2022 +0100
Subject: Handle s390 correctly
Patch-mainline: Not yet
Git-commit: f1761f16899756e4da71df35b82772bcbcc33460
References:
Signed-off-by: Egbert Eich <eich@suse.com>
Signed-off-by: Egbert Eich <eich@suse.de>
---
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
--- a/c_check
+++ b/c_check
@@ -11,7 +11,7 @@ case "$hostarch" in
arm*) [ "$hostarch" = "arm64" ] || hostarch='arm' ;;
aarch64) hostarch=arm64 ;;
powerpc*|ppc*) hostarch=power ;;
- s390x) hostarch=zarch ;;
+ s390*) hostarch=zarch ;;
esac
makefile="$1"
diff --git a/ctest.c b/ctest.c
index df628b1d..f09571b1 100644
--- a/ctest.c
+++ b/ctest.c
@@ -121,7 +121,7 @@ ARCH_X86_64
ARCH_POWER
#endif
-#if defined(__s390x__) || defined(__zarch__)
+#if defined(__s390x__) || defined(__s390__) || defined(__zarch__)
ARCH_ZARCH
#endif

View File

@ -0,0 +1,24 @@
From: Egbert Eich <eich@suse.com>
Date: Wed Nov 30 20:16:21 2022 +0100
Subject: Link library with -z,noexecstack
Patch-mainline: Not yet
Git-commit: adddc0eadc81bcd29c48594793cb33eac0edb572
References:
Signed-off-by: Egbert Eich <eich@suse.com>
Signed-off-by: Egbert Eich <eich@suse.de>
---
exports/Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/exports/Makefile b/exports/Makefile
index d8173534..a23fbc7f 100644
--- a/exports/Makefile
+++ b/exports/Makefile
@@ -193,6 +193,7 @@ else ifeq ($(F_COMPILER), FLANG)
else
ifneq ($(C_COMPILER), LSB)
$(CC) $(CFLAGS) $(LDFLAGS) -shared -o ../$(LIBSONAME) \
+ -Wl,-z,noexecstack \
-Wl,--whole-archive $< -Wl,--no-whole-archive \
-Wl,-soname,$(INTERNALNAME) $(EXTRALIB)
$(CC) $(CFLAGS) $(LDFLAGS) -w -o linktest linktest.c ../$(LIBSONAME) $(FEXTRALIB) && echo OK.

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8495c9affc536253648e942908e88e097f2ec7753ede55aca52e5dead3029e3c
size 12742441

3
OpenBLAS-0.3.21.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f36ba3d7a60e7c8bcc54cd9aaa9b1223dd42eaf02c811791c37e8ca707c241ca
size 23729571

View File

@ -1,26 +0,0 @@
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Wed Mar 23 20:05:32 2022 +0100
Subject: Remove extraneous (and wrong) definition of sbgemm_r on x86_64
Patch-mainline: Not yet
Git-repo: https://github.com/xianyi/OpenBLAS
Git-commit: 40302558ed3d3c3f100e96dd042a5996c3d16bbd
References:
Signed-off-by: Egbert Eich <eich@suse.de>
---
kernel/setparam-ref.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/kernel/setparam-ref.c b/kernel/setparam-ref.c
index a81b32dd..9f5d34d9 100644
--- a/kernel/setparam-ref.c
+++ b/kernel/setparam-ref.c
@@ -1239,7 +1239,6 @@ static void init_parameter(void) {
#ifdef BUILD_BFLOAT16
TABLE_NAME.sbgemm_p = SBGEMM_DEFAULT_P;
- TABLE_NAME.sbgemm_r = SBGEMM_DEFAULT_R;
TABLE_NAME.sbgemm_q = SBGEMM_DEFAULT_Q;
#endif
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)

View File

@ -1,33 +0,0 @@
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Wed Mar 23 15:22:13 2022 +0100
Subject: Revert AVX512 capability check from PR #1980 (moved to build)
Patch-mainline: Not yet
Git-repo: https://github.com/xianyi/OpenBLAS
Git-commit: 93a81856ae6a34c4329054744237d46ed347ccec
References:
Signed-off-by: Egbert Eich <eich@suse.de>
---
getarch.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/getarch.c b/getarch.c
index 00e544bc..e49eac1a 100644
--- a/getarch.c
+++ b/getarch.c
@@ -94,14 +94,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <sys/sysinfo.h>
#endif
-#if defined(__x86_64__) || defined(_M_X64)
-#if (( defined(__GNUC__) && __GNUC__ > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6))
-#else
-#ifndef NO_AVX512
-#define NO_AVX512
-#endif
-#endif
-#endif
/* #define FORCE_P2 */
/* #define FORCE_KATMAI */
/* #define FORCE_COPPERMINE */

View File

@ -1,30 +0,0 @@
From: Egbert Eich <eich@suse.com>
Date: Mon Mar 28 08:14:52 2022 +0200
Subject: Use CC and full command line instead of hard-coding gcc for AVX512 checking
Patch-mainline: Not yet
Git-repo: https://github.com/xianyi/OpenBLAS
Git-commit: 0b69fa6ddf7fc6d92bc42ef085f39337a4489f3c
References:
Hard-coding gcc may not provide incorrect results when a different compiler
for the target build is used. To remain in sync with the main call to c_check,
pass the full command line.
Signed-off-by: Egbert Eich <eich@suse.com>
Signed-off-by: Egbert Eich <eich@suse.de>
---
Makefile.prebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.prebuild b/Makefile.prebuild
index 4dad74d6..5e8874d4 100644
--- a/Makefile.prebuild
+++ b/Makefile.prebuild
@@ -71,7 +71,7 @@ endif
getarch : getarch.c cpuid.S dummy $(CPUIDEMU)
- avx512=$$(perl c_check - - gcc | grep NO_AVX512); \
+ avx512=$$(perl c_check - - $(CC) $(TARGET_FLAGS) $(CFLAGS) | grep NO_AVX512); \
$(HOSTCC) $(HOST_CFLAGS) $(EXFLAGS) $${avx512:+-D$${avx512}} -o $(@F) getarch.c cpuid.S $(CPUIDEMU)
getarch_2nd : getarch_2nd.c config.h dummy

View File

@ -0,0 +1,30 @@
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Mon Aug 8 14:52:10 2022 +0200
Subject: Use blasint for INTERFACE64 compatibility
Patch-mainline: Not yet
Git-repo: https://github.com/xianyi/OpenBLAS
Git-commit: d9dc015cfc78fc32f555995a89d6957ef0184ea2
References:
Signed-off-by: Egbert Eich <eich@suse.de>
---
test/compare_sgemm_sbgemm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/compare_sgemm_sbgemm.c b/test/compare_sgemm_sbgemm.c
index a2c358cf..d4b59145 100644
--- a/test/compare_sgemm_sbgemm.c
+++ b/test/compare_sgemm_sbgemm.c
@@ -76,9 +76,9 @@ float16to32 (bfloat16_bits f16)
int
main (int argc, char *argv[])
{
- int m, n, k;
+ blasint m, n, k;
int i, j, l;
- int x;
+ blasint x;
int ret = 0;
int loop = 100;
char transA = 'N', transB = 'N';

View File

@ -1,28 +0,0 @@
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Wed Mar 23 15:19:55 2022 +0100
Subject: Utilize compiler AVX512 capability info from c_check when building getarch
Patch-mainline: Not yet
Git-repo: https://github.com/xianyi/OpenBLAS
Git-commit: 9fbeb88fb87dcc418c9ef01c5f24c85029dfbbef
References:
Signed-off-by: Egbert Eich <eich@suse.de>
---
Makefile.prebuild | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Makefile.prebuild b/Makefile.prebuild
index 399db956..4dad74d6 100644
--- a/Makefile.prebuild
+++ b/Makefile.prebuild
@@ -71,7 +71,8 @@ endif
getarch : getarch.c cpuid.S dummy $(CPUIDEMU)
- $(HOSTCC) $(HOST_CFLAGS) $(EXFLAGS) -o $(@F) getarch.c cpuid.S $(CPUIDEMU)
+ avx512=$$(perl c_check - - gcc | grep NO_AVX512); \
+ $(HOSTCC) $(HOST_CFLAGS) $(EXFLAGS) $${avx512:+-D$${avx512}} -o $(@F) getarch.c cpuid.S $(CPUIDEMU)
getarch_2nd : getarch_2nd.c config.h dummy
ifndef TARGET_CORE

View File

@ -1,28 +0,0 @@
Index: OpenBLAS-0.3.14/exports/Makefile
===================================================================
--- OpenBLAS-0.3.14.orig/exports/Makefile
+++ OpenBLAS-0.3.14/exports/Makefile
@@ -179,6 +179,7 @@ else ifeq ($(F_COMPILER), FLANG)
else
ifneq ($(C_COMPILER), LSB)
$(CC) $(CFLAGS) $(LDFLAGS) -shared -o ../$(LIBSONAME) \
+ -Wl,-z,noexecstack \
-Wl,--whole-archive $< -Wl,--no-whole-archive \
-Wl,-soname,$(INTERNALNAME) $(EXTRALIB)
$(CC) $(CFLAGS) $(LDFLAGS) -w -o linktest linktest.c ../$(LIBSONAME) $(FEXTRALIB) && echo OK.
@@ -207,6 +208,7 @@ else
../$(LIBSONAME) : ../$(LIBNAME).renamed linktest.c
endif
$(CC) $(CFLAGS) $(LDFLAGS) -shared -o ../$(LIBSONAME) \
+ -Wl,-z,noexecstack \
-Wl,--whole-archive $< -Wl,--no-whole-archive \
$(FEXTRALIB) $(EXTRALIB)
$(CC) $(CFLAGS) $(LDFLAGS) -w -o linktest linktest.c ../$(LIBSONAME) $(FEXTRALIB) && echo OK.
@@ -226,6 +228,7 @@ ifeq ($(OSNAME), SunOS)
so : ../$(LIBSONAME)
$(CC) $(CFLAGS) $(LDFLAGS) -shared -o ../$(LIBSONAME) \
+ -Wl,-z,noexecstack \
-Wl,--whole-archive ../$(LIBNAME) -Wl,--no-whole-archive $(EXTRALIB)
$(CC) $(CFLAGS) $(LDFLAGS) -w -o linktest linktest.c ../$(LIBSONAME) $(FEXTRALIB) && echo OK.
rm -f linktest

View File

@ -1,39 +0,0 @@
Index: OpenBLAS-0.3.14/c_check
===================================================================
--- OpenBLAS-0.3.14.orig/c_check
+++ OpenBLAS-0.3.14/c_check
@@ -12,7 +12,7 @@ $hostarch = "x86_64" if ($hostarch eq "a
$hostarch = "arm" if ($hostarch ne "arm64" && $hostarch =~ /^arm.*/);
$hostarch = "arm64" if ($hostarch eq "aarch64");
$hostarch = "power" if ($hostarch =~ /^(powerpc|ppc).*/);
-$hostarch = "zarch" if ($hostarch eq "s390x");
+$hostarch = "zarch" if ($hostarch =~ /^s390/);
#$tmpf = new File::Temp( UNLINK => 1 );
$binary = $ENV{"BINARY"};
Index: OpenBLAS-0.3.14/ctest.c
===================================================================
--- OpenBLAS-0.3.14.orig/ctest.c
+++ OpenBLAS-0.3.14/ctest.c
@@ -117,7 +117,7 @@ ARCH_X86_64
ARCH_POWER
#endif
-#if defined(__s390x__) || defined(__zarch__)
+#if defined(__s390x__) || defined(__s390__) || defined(__zarch__)
ARCH_ZARCH
#endif
Index: OpenBLAS-0.3.14/getarch.c
===================================================================
--- OpenBLAS-0.3.14.orig/getarch.c
+++ OpenBLAS-0.3.14/getarch.c
@@ -1333,7 +1333,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF
#define OPENBLAS_SUPPORTED
#endif
-#if defined(__zarch__) || defined(__s390x__)
+#if defined(__zarch__) || defined(__s390x__) || defined(__s390__)
#define ZARCH
#include "cpuid_zarch.c"
#define OPENBLAS_SUPPORTED

View File

@ -1,3 +1,50 @@
-------------------------------------------------------------------
Wed Nov 30 19:24:20 UTC 2022 - Egbert Eich <eich@suse.com>
- Update to v0.3.21:
* general:
- Updated the included LAPACK to Reference-LAPACK release 3.10.1
- when no Fortran compiler is available, OpenBLAS builds will now automatically
- function LAPACKE_lsame is now annotated with the GCC attribute "const" to aid static analyzers
- added USE_TLS to the list of options reported by the openblas_get_config() function
- added SYMBOLPREFIX/SYMBOLSUFFIX handling for LAPACK 3.10.0 functions added in 0.3.20
- reverted OpenMP threadpool behaviour in the exec_blas call to its state before 0.3.11, that is
the threadpool will no longer grow or shrink on demand as the overhead for this is too big at least with
GNU OpenMP. The adaptive behaviour introduced in 0.3.11 can still be requested at runtime by setting
the environment variable OMP_ADAPTIVE
- worked around spurious STFSM/CTFSM errors reported by the LAPACK testsuite
* x86_64:
- fixed determination of compiler support for AVX512 and removed the 0.3.19
- workaround for building SKYLAKEX kernels on Sandybridge hardware
- fixed compilation for the SKYLAKEX target with gcc 6
- fixed compilation of the SkyLakeX small matrix GEMM kernels with LLVM or ICC
- added support for the Zhaoxin/Centaur KH40000 cpu
- fixed a potential crash in the ZSYMV kernel used for all targets except generic
* POWER:
- worked around an overflow error in the POWER6 DNRM2 kernel
- fixed compilation on PPC440
- fixed a performance regression in the level1 BLAS on POWER10
- fixed the POWER10 ZGEMM kernel
- fixed singlethreaded builds for POWER10
- fixed compilation of the POWER10 DGEMV kernel with older gcc versions
- enabled compilation of the BFLOAT16 kernels by default
- enabled the small matrix kernels by default for DYNAMIC_ARCH builds
- added a workaround for a miscompilation of the CDOT and ZDOT kernels by GCC 12
- Obsolete:
* Define-sbgemm_r-to-fix-DYNAMIC_ARCH-builds.patch
* Remove-extraneous-and-wrong-definition-of-sbgemm_r-on-x86_64.patch
* Do-not-include-symbols-defined-in-driver-others-parameter.c-in-DYNAMIC_BUILD.patch
* Utilize-compiler-AVX512-capability-info-from-c_check-when-building-getarch.patch
* Revert-AVX512-capability-check-from-PR-1980-moved-to-build.patch
* Fix-checks-for-AVX512-and-atomics.patch
* Use-CC-and-full-command-line-instead-of-hard-coding-gcc-for-AVX512-checking.patch
- Updated/renamed:
* openblas-noexecstack.patch to Link-library-with-z-noexecstack.patch
* openblas-s390.patch to Handle-s390-correctly.patch
- Added (see https://github.com/xianyi/OpenBLAS/issues/3738):
* remove-spurious-loops.patch
* Use-blasint-for-INTERFACE64-compatibility.patch
-------------------------------------------------------------------
Wed Sep 14 06:08:40 UTC 2022 - Egbert Eich <eich@suse.com>
@ -42,7 +89,7 @@ Mon Apr 4 08:57:16 UTC 2022 - Egbert Eich <eich@suse.com>
-------------------------------------------------------------------
Wed Mar 30 12:00:30 UTC 2022 - Egbert Eich <eich@suse.com>
- Build PPC64LE libraries with the lastest gcc available to
- Build PPC64LE libraries with the latest gcc available to
take advantage of instruction sets in later CPUs used in
the CPU specific kernels (jsc#SLE-18143, bsc#1197721).
For fortran use the stock compiler to avoid compatibility

View File

@ -18,8 +18,8 @@
%global flavor @BUILD_FLAVOR@%{nil}
%define _vers 0_3_20
%define vers 0.3.20
%define _vers 0_3_21
%define vers 0.3.21
%define pname openblas
%bcond_with ringdisabled
@ -133,6 +133,9 @@ ExclusiveArch: do_not_build
%ifarch ppc64le x86_64 s390x
%if 0%{?c_f_ver} > 9
%else
%if 0%{?sle_version} == 150500
%define cc_v 12
%endif
%if 0%{?sle_version} == 150400
%define cc_v 11
%endif
@ -181,18 +184,11 @@ URL: http://www.openblas.net
Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz#/OpenBLAS-%{version}.tar.gz
Source1: README.SUSE
Source2: README.HPC.SUSE
Patch1: Define-sbgemm_r-to-fix-DYNAMIC_ARCH-builds.patch
Patch2: Remove-extraneous-and-wrong-definition-of-sbgemm_r-on-x86_64.patch
Patch3: Do-not-include-symbols-defined-in-driver-others-parameter.c-in-DYNAMIC_BUILD.patch
Patch4: Utilize-compiler-AVX512-capability-info-from-c_check-when-building-getarch.patch
Patch5: Revert-AVX512-capability-check-from-PR-1980-moved-to-build.patch
Patch6: Fix-checks-for-AVX512-and-atomics.patch
Patch7: Use-CC-and-full-command-line-instead-of-hard-coding-gcc-for-AVX512-checking.patch
# PATCH-FIX-UPSTREAM openblas-noexecstack.patch
Patch101: openblas-noexecstack.patch
Patch1: Use-blasint-for-INTERFACE64-compatibility.patch
Patch2: remove-spurious-loops.patch
#Patch101: Link-library-with-z-noexecstack.patch
# PATCH port
Patch102: openblas-s390.patch
Patch102: Handle-s390-correctly.patch
Patch103: openblas-ppc64be_up2_p8.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build

View File

@ -0,0 +1,34 @@
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Mon Aug 8 17:09:45 2022 +0200
Subject: remove spurious loops
Patch-mainline: Not yet
Git-repo: https://github.com/xianyi/OpenBLAS
Git-commit: 3d338b57de1837f1e2264a1262a9ee9203f31c6c
References:
Signed-off-by: Egbert Eich <eich@suse.de>
---
test/compare_sgemm_sbgemm.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/test/compare_sgemm_sbgemm.c b/test/compare_sgemm_sbgemm.c
index d4b59145..276fecae 100644
--- a/test/compare_sgemm_sbgemm.c
+++ b/test/compare_sgemm_sbgemm.c
@@ -112,7 +112,6 @@ main (int argc, char *argv[])
&m, BB, &k, &beta, CC, &m);
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
- for (l = 0; l < k; l++)
if (fabs (CC[i * m + j] - C[i * m + j]) > 1.0)
ret++;
if (transA == 'N' && transB == 'N')
@@ -126,7 +125,6 @@ main (int argc, char *argv[])
}
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
- for (l = 0; l < k; l++)
if (CC[i * m + j] != DD[i * m + j])
ret++;
}