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:
parent
e2b7712e17
commit
436e09b8b4
@ -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
|
@ -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;
|
@ -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;
|
39
Handle-s390-correctly.patch
Normal file
39
Handle-s390-correctly.patch
Normal 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
|
||||
|
24
Link-library-with-z-noexecstack.patch
Normal file
24
Link-library-with-z-noexecstack.patch
Normal 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.
|
@ -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
3
OpenBLAS-0.3.21.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f36ba3d7a60e7c8bcc54cd9aaa9b1223dd42eaf02c811791c37e8ca707c241ca
|
||||
size 23729571
|
@ -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)
|
@ -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 */
|
@ -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
|
30
Use-blasint-for-INTERFACE64-compatibility.patch
Normal file
30
Use-blasint-for-INTERFACE64-compatibility.patch
Normal 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';
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
||||
|
@ -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
|
||||
|
34
remove-spurious-loops.patch
Normal file
34
remove-spurious-loops.patch
Normal 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++;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user