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
This commit is contained in:
Atri Bhattacharya 2023-12-08 10:59:32 +00:00 committed by Git OBS Bridge
parent 5f43c36430
commit 3ba6a4aff8
8 changed files with 79 additions and 95 deletions

View File

@ -10,10 +10,10 @@ 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
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)

View File

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

BIN
OpenBLAS-0.3.25.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,30 +0,0 @@
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

@ -15,19 +15,18 @@ Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
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

View File

@ -1,3 +1,55 @@
-------------------------------------------------------------------
Wed Nov 29 05:43:18 UTC 2023 - Atri Bhattacharya <badshah400@gmail.com>
- 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 <stefan.bruens@rwth-aachen.de>

View File

@ -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

View File

@ -1,34 +0,0 @@
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++;
}