From 3ba6a4aff87eeebf84fa295720f3fdf29b56ba4cc49ca633e0ce9df3c7de6b1d Mon Sep 17 00:00:00 2001 From: Atri Bhattacharya Date: Fri, 8 Dec 2023 10:59:32 +0000 Subject: [PATCH] Accepting request 1129726 from home:badshah400:branches:science Note: Please allow to build in science and check what it breaks before forwarding to Factory. Thanks in advance. Changes: * Update to version 0.3.25. * Minor rebase of openblas-ppc64be_up2_p8.patch to apply cleanly. * Drop upstreamed patches: Use-blasint-for-INTERFACE64-compatibility.patch, remove-spurious-loops.patch OBS-URL: https://build.opensuse.org/request/show/1129726 OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=164 --- Link-library-with-z-noexecstack.patch | 8 +-- OpenBLAS-0.3.21.tar.gz | 3 -- OpenBLAS-0.3.25.tar.gz | 3 ++ ...lasint-for-INTERFACE64-compatibility.patch | 30 ----------- openblas-ppc64be_up2_p8.patch | 38 +++++++------- openblas.changes | 52 +++++++++++++++++++ openblas.spec | 6 +-- remove-spurious-loops.patch | 34 ------------ 8 files changed, 79 insertions(+), 95 deletions(-) delete mode 100644 OpenBLAS-0.3.21.tar.gz create mode 100644 OpenBLAS-0.3.25.tar.gz delete mode 100644 Use-blasint-for-INTERFACE64-compatibility.patch delete mode 100644 remove-spurious-loops.patch diff --git a/Link-library-with-z-noexecstack.patch b/Link-library-with-z-noexecstack.patch index 3a4d998..944a3d9 100644 --- a/Link-library-with-z-noexecstack.patch +++ b/Link-library-with-z-noexecstack.patch @@ -10,10 +10,10 @@ 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 +Index: OpenBLAS-0.3.25/exports/Makefile +=================================================================== +--- OpenBLAS-0.3.25.orig/exports/Makefile ++++ OpenBLAS-0.3.25/exports/Makefile @@ -193,6 +193,7 @@ else ifeq ($(F_COMPILER), FLANG) else ifneq ($(C_COMPILER), LSB) diff --git a/OpenBLAS-0.3.21.tar.gz b/OpenBLAS-0.3.21.tar.gz deleted file mode 100644 index 8607ebe..0000000 --- a/OpenBLAS-0.3.21.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f36ba3d7a60e7c8bcc54cd9aaa9b1223dd42eaf02c811791c37e8ca707c241ca -size 23729571 diff --git a/OpenBLAS-0.3.25.tar.gz b/OpenBLAS-0.3.25.tar.gz new file mode 100644 index 0000000..7fd2373 --- /dev/null +++ b/OpenBLAS-0.3.25.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c25cb30c4bb23eddca05d7d0a85997b8db6144f5464ba7f8c09ce91e2f35543 +size 24073168 diff --git a/Use-blasint-for-INTERFACE64-compatibility.patch b/Use-blasint-for-INTERFACE64-compatibility.patch deleted file mode 100644 index 3e7704e..0000000 --- a/Use-blasint-for-INTERFACE64-compatibility.patch +++ /dev/null @@ -1,30 +0,0 @@ -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/openblas-ppc64be_up2_p8.patch b/openblas-ppc64be_up2_p8.patch index 27740a7..b4ca1e8 100644 --- a/openblas-ppc64be_up2_p8.patch +++ b/openblas-ppc64be_up2_p8.patch @@ -15,19 +15,18 @@ Signed-off-by: Michel Normand driver/others/dynamic_power.c | 11 +++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) -Index: OpenBLAS-0.3.14/driver/others/dynamic_power.c +Index: OpenBLAS-0.3.25/driver/others/dynamic_power.c =================================================================== ---- OpenBLAS-0.3.14.orig/driver/others/dynamic_power.c -+++ OpenBLAS-0.3.14/driver/others/dynamic_power.c -@@ -3,6 +3,7 @@ +--- OpenBLAS-0.3.25.orig/driver/others/dynamic_power.c ++++ OpenBLAS-0.3.25/driver/others/dynamic_power.c +@@ -3,12 +3,14 @@ extern gotoblas_t gotoblas_POWER6; extern gotoblas_t gotoblas_POWER8; +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ - #if (!defined __GNUC__) || ( __GNUC__ >= 6) + #if ((!defined __GNUC__) || ( __GNUC__ >= 6)) || defined(__clang__) extern gotoblas_t gotoblas_POWER9; #endif -@@ -13,6 +14,7 @@ extern gotoblas_t gotoblas_POWER9; #ifdef HAVE_P10_SUPPORT extern gotoblas_t gotoblas_POWER10; #endif @@ -35,12 +34,11 @@ Index: OpenBLAS-0.3.14/driver/others/dynamic_power.c extern void openblas_warning(int verbose, const char *msg); -@@ -31,12 +33,14 @@ char *gotoblas_corename(void) { - if (gotoblas == &gotoblas_POWER6) return corename[1]; +@@ -28,11 +30,13 @@ char *gotoblas_corename(void) { #endif if (gotoblas == &gotoblas_POWER8) return corename[2]; + #if ((!defined __GNUC__) || ( __GNUC__ >= 6)) || defined(__clang__) +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ - #if (!defined __GNUC__) || ( __GNUC__ >= 6) if (gotoblas == &gotoblas_POWER9) return corename[3]; #endif #ifdef HAVE_P10_SUPPORT @@ -50,7 +48,7 @@ Index: OpenBLAS-0.3.14/driver/others/dynamic_power.c return corename[0]; } -@@ -200,6 +204,10 @@ static gotoblas_t *get_coretype(void) { +@@ -243,6 +247,10 @@ static gotoblas_t *get_coretype(void) { #endif if (__builtin_cpu_is("power8")) return &gotoblas_POWER8; @@ -58,23 +56,23 @@ Index: OpenBLAS-0.3.14/driver/others/dynamic_power.c +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + return &gotoblas_POWER8; +#else - #if (!defined __GNUC__) || ( __GNUC__ >= 6) + #if ((!defined __GNUC__) || ( __GNUC__ >= 6)) || defined(__clang__) if (__builtin_cpu_is("power9")) return &gotoblas_POWER9; -@@ -213,6 +221,7 @@ static gotoblas_t *get_coretype(void) { +@@ -260,6 +268,7 @@ static gotoblas_t *get_coretype(void) { if (__builtin_cpu_is("power10")) return &gotoblas_POWER9; - #endif + #endif +#endif return NULL; } -@@ -237,12 +246,14 @@ static gotoblas_t *force_coretype(char * +@@ -284,12 +293,14 @@ static gotoblas_t *force_coretype(char * case 1: return (&gotoblas_POWER6); #endif case 2: return (&gotoblas_POWER8); +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ - #if (!defined __GNUC__) || ( __GNUC__ >= 6) + #if ((!defined __GNUC__) || ( __GNUC__ >= 6)) || defined(__clang__) case 3: return (&gotoblas_POWER9); #endif #ifdef HAVE_P10_SUPPORT @@ -84,11 +82,11 @@ Index: OpenBLAS-0.3.14/driver/others/dynamic_power.c default: return NULL; } snprintf(message, 128, "Core not found: %s\n", coretype); -Index: OpenBLAS-0.3.14/Makefile.system +Index: OpenBLAS-0.3.25/Makefile.system =================================================================== ---- OpenBLAS-0.3.14.orig/Makefile.system -+++ OpenBLAS-0.3.14/Makefile.system -@@ -673,6 +673,9 @@ ifeq ($(ARCH), power) +--- 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 @@ -98,7 +96,7 @@ Index: OpenBLAS-0.3.14/Makefile.system ifneq ($(C_COMPILER), GCC) DYNAMIC_CORE += POWER9 DYNAMIC_CORE += POWER10 -@@ -697,11 +700,12 @@ else +@@ -776,11 +779,12 @@ else $(info, OpenBLAS: Your gcc version is too old to build the POWER10 kernels.) endif endif diff --git a/openblas.changes b/openblas.changes index 0b6f232..69fd9bd 100644 --- a/openblas.changes +++ b/openblas.changes @@ -1,3 +1,55 @@ +------------------------------------------------------------------- +Wed Nov 29 05:43:18 UTC 2023 - Atri Bhattacharya + +- Update to version 0.3.25: + * General: + - improved the error message shown on exceeding the maximum + thread count + - improved the code to add supplementary thread buffers in + case of overflow + - fixed a potential division by zero in ?ROTG + - improved the ?MATCOPY functions to accept zero-sized rows or + columns + - corrected empty prototypes in function declarations + - cleaned up unused declarations in the f2c-converted versions + of the LAPACK sources + - fixed compilation with the Cray CCE Compiler suite + - improved link line rewriting to avoid mixed libgomp/libomp + builds with clang&gfortran + - worked around OPENMP builds with LLVM14's libomp hanging on + FreeBSD + - improved the Makefiles to require less option duplication on + "make install" + - imported the following changes from the upcoming release + 3.12 of Reference-LAPACK: LAPACK PR 900, LAPACK PR 904, + LAPACK PR 907, LAPACK PR 909, LAPACK PR 926, LAPACK PR 927, + LAPACK PR 928 & 930 + * x86-64: + - fixed compile-time autodetection of AMD Ryzen3 and Ryzen4 + cpus + - fixed capability-based fallback selection for unknown cpus + in DYNAMIC_ARCH + - added AVX512 optimizations for ?ASUM on Sapphire Rapids and + Cooper Lake + * ARM64: + - fixed building on Apple with homebrew gcc + - fixed building with XCODE 15 + - fixed building on A64FX and Cortex A710/X1/X2 + - increased the default buffer size for recent ARM server cpus + * POWER: + - fixed building with the IBM xlf 16.1.1 compiler + - fixed building with IBM XL C + - added support for DYNAMIC_ARCH builds with clang + - fixed union declaration in the BFLOAT16 test case + - enable optimizations for the AIX assembler on POWER10 + * LOONGARCH64: + - added an optimized SGEMV kernel + - added an optimized DTRSM kernel +- Minor rebase of openblas-ppc64be_up2_p8.patch to apply cleanly. +- Drop upstreamed patches: + * Use-blasint-for-INTERFACE64-compatibility.patch + * remove-spurious-loops.patch + ------------------------------------------------------------------- Fri Oct 27 11:26:28 UTC 2023 - Stefan BrĂ¼ns diff --git a/openblas.spec b/openblas.spec index 23e92c3..065cb01 100644 --- a/openblas.spec +++ b/openblas.spec @@ -18,8 +18,8 @@ %global flavor @BUILD_FLAVOR@%{nil} -%define _vers 0_3_21 -%define vers 0.3.21 +%define _vers 0_3_25 +%define vers 0.3.25 %define so_v 0 %define pname openblas @@ -224,8 +224,6 @@ Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz#/O Source1: README.SUSE Source2: README.HPC.SUSE Source3: openblas.rpmlintrc -Patch1: Use-blasint-for-INTERFACE64-compatibility.patch -Patch2: remove-spurious-loops.patch Patch101: Link-library-with-z-noexecstack.patch # PATCH port Patch102: Handle-s390-correctly.patch diff --git a/remove-spurious-loops.patch b/remove-spurious-loops.patch deleted file mode 100644 index 7fc8260..0000000 --- a/remove-spurious-loops.patch +++ /dev/null @@ -1,34 +0,0 @@ -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++; - }