diff --git a/Define-sbgemm_r-to-fix-DYNAMIC_ARCH-builds.patch b/Define-sbgemm_r-to-fix-DYNAMIC_ARCH-builds.patch deleted file mode 100644 index 2d55329..0000000 --- a/Define-sbgemm_r-to-fix-DYNAMIC_ARCH-builds.patch +++ /dev/null @@ -1,32 +0,0 @@ -From: Martin Kroeker -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 ---- - 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 diff --git a/Do-not-include-symbols-defined-in-driver-others-parameter.c-in-DYNAMIC_BUILD.patch b/Do-not-include-symbols-defined-in-driver-others-parameter.c-in-DYNAMIC_BUILD.patch deleted file mode 100644 index 6190a6b..0000000 --- a/Do-not-include-symbols-defined-in-driver-others-parameter.c-in-DYNAMIC_BUILD.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: Egbert Eich -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 -Signed-off-by: Egbert Eich ---- - 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; diff --git a/Fix-checks-for-AVX512-and-atomics.patch b/Fix-checks-for-AVX512-and-atomics.patch deleted file mode 100644 index 8d28c97..0000000 --- a/Fix-checks-for-AVX512-and-atomics.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Martin Kroeker -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 ---- - 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 \n\nint main(void){ __asm__ volatile($code); }\n"; -+ print $fh "#include \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 \nint main(void){}\n"; -+ print $fh "#include \nint main(void){}\n"; - $args = " -c -o $tmpf.o $tmpf"; - my @cmd = ("$compiler_name $flags $args >/dev/null 2>/dev/null"); - system(@cmd) == 0; diff --git a/Handle-s390-correctly.patch b/Handle-s390-correctly.patch new file mode 100644 index 0000000..09a4b49 --- /dev/null +++ b/Handle-s390-correctly.patch @@ -0,0 +1,39 @@ +From: Egbert Eich +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 +Signed-off-by: Egbert Eich +--- + 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 + diff --git a/Link-library-with-z-noexecstack.patch b/Link-library-with-z-noexecstack.patch new file mode 100644 index 0000000..3a4d998 --- /dev/null +++ b/Link-library-with-z-noexecstack.patch @@ -0,0 +1,24 @@ +From: Egbert Eich +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 +Signed-off-by: Egbert Eich +--- + 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. diff --git a/OpenBLAS-0.3.20.tar.gz b/OpenBLAS-0.3.20.tar.gz deleted file mode 100644 index f1ac2f6..0000000 --- a/OpenBLAS-0.3.20.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8495c9affc536253648e942908e88e097f2ec7753ede55aca52e5dead3029e3c -size 12742441 diff --git a/OpenBLAS-0.3.21.tar.gz b/OpenBLAS-0.3.21.tar.gz new file mode 100644 index 0000000..8607ebe --- /dev/null +++ b/OpenBLAS-0.3.21.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f36ba3d7a60e7c8bcc54cd9aaa9b1223dd42eaf02c811791c37e8ca707c241ca +size 23729571 diff --git a/Remove-extraneous-and-wrong-definition-of-sbgemm_r-on-x86_64.patch b/Remove-extraneous-and-wrong-definition-of-sbgemm_r-on-x86_64.patch deleted file mode 100644 index 9c5de9c..0000000 --- a/Remove-extraneous-and-wrong-definition-of-sbgemm_r-on-x86_64.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Martin Kroeker -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 ---- - 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) diff --git a/Revert-AVX512-capability-check-from-PR-1980-moved-to-build.patch b/Revert-AVX512-capability-check-from-PR-1980-moved-to-build.patch deleted file mode 100644 index ff48226..0000000 --- a/Revert-AVX512-capability-check-from-PR-1980-moved-to-build.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: Martin Kroeker -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 ---- - 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 - #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 */ diff --git a/Use-CC-and-full-command-line-instead-of-hard-coding-gcc-for-AVX512-checking.patch b/Use-CC-and-full-command-line-instead-of-hard-coding-gcc-for-AVX512-checking.patch deleted file mode 100644 index 2765653..0000000 --- a/Use-CC-and-full-command-line-instead-of-hard-coding-gcc-for-AVX512-checking.patch +++ /dev/null @@ -1,30 +0,0 @@ -From: Egbert Eich -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 -Signed-off-by: Egbert Eich ---- - 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 diff --git a/Use-blasint-for-INTERFACE64-compatibility.patch b/Use-blasint-for-INTERFACE64-compatibility.patch new file mode 100644 index 0000000..3e7704e --- /dev/null +++ b/Use-blasint-for-INTERFACE64-compatibility.patch @@ -0,0 +1,30 @@ +From: Martin Kroeker +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 +--- + 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'; diff --git a/Utilize-compiler-AVX512-capability-info-from-c_check-when-building-getarch.patch b/Utilize-compiler-AVX512-capability-info-from-c_check-when-building-getarch.patch deleted file mode 100644 index e94d6db..0000000 --- a/Utilize-compiler-AVX512-capability-info-from-c_check-when-building-getarch.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Martin Kroeker -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 ---- - 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 diff --git a/openblas-noexecstack.patch b/openblas-noexecstack.patch deleted file mode 100644 index 3261bab..0000000 --- a/openblas-noexecstack.patch +++ /dev/null @@ -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 diff --git a/openblas-s390.patch b/openblas-s390.patch deleted file mode 100644 index 2def1b0..0000000 --- a/openblas-s390.patch +++ /dev/null @@ -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 diff --git a/openblas.changes b/openblas.changes index 93aae50..5060c84 100644 --- a/openblas.changes +++ b/openblas.changes @@ -1,3 +1,50 @@ +------------------------------------------------------------------- +Wed Nov 30 19:24:20 UTC 2022 - Egbert Eich + +- 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 @@ -42,7 +89,7 @@ Mon Apr 4 08:57:16 UTC 2022 - Egbert Eich ------------------------------------------------------------------- Wed Mar 30 12:00:30 UTC 2022 - Egbert Eich -- 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 diff --git a/openblas.spec b/openblas.spec index 1bd4787..d53e85d 100644 --- a/openblas.spec +++ b/openblas.spec @@ -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 diff --git a/remove-spurious-loops.patch b/remove-spurious-loops.patch new file mode 100644 index 0000000..7fc8260 --- /dev/null +++ b/remove-spurious-loops.patch @@ -0,0 +1,34 @@ +From: Martin Kroeker +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 +--- + 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++; + }