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:
parent
5f43c36430
commit
3ba6a4aff8
@ -10,10 +10,10 @@ Signed-off-by: Egbert Eich <eich@suse.de>
|
|||||||
---
|
---
|
||||||
exports/Makefile | 1 +
|
exports/Makefile | 1 +
|
||||||
1 file changed, 1 insertion(+)
|
1 file changed, 1 insertion(+)
|
||||||
diff --git a/exports/Makefile b/exports/Makefile
|
Index: OpenBLAS-0.3.25/exports/Makefile
|
||||||
index d8173534..a23fbc7f 100644
|
===================================================================
|
||||||
--- a/exports/Makefile
|
--- OpenBLAS-0.3.25.orig/exports/Makefile
|
||||||
+++ b/exports/Makefile
|
+++ OpenBLAS-0.3.25/exports/Makefile
|
||||||
@@ -193,6 +193,7 @@ else ifeq ($(F_COMPILER), FLANG)
|
@@ -193,6 +193,7 @@ else ifeq ($(F_COMPILER), FLANG)
|
||||||
else
|
else
|
||||||
ifneq ($(C_COMPILER), LSB)
|
ifneq ($(C_COMPILER), LSB)
|
||||||
|
@ -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
BIN
OpenBLAS-0.3.25.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -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';
|
|
@ -15,19 +15,18 @@ Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
|
|||||||
driver/others/dynamic_power.c | 11 +++++++++++
|
driver/others/dynamic_power.c | 11 +++++++++++
|
||||||
2 files changed, 18 insertions(+), 3 deletions(-)
|
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.25.orig/driver/others/dynamic_power.c
|
||||||
+++ OpenBLAS-0.3.14/driver/others/dynamic_power.c
|
+++ OpenBLAS-0.3.25/driver/others/dynamic_power.c
|
||||||
@@ -3,6 +3,7 @@
|
@@ -3,12 +3,14 @@
|
||||||
|
|
||||||
extern gotoblas_t gotoblas_POWER6;
|
extern gotoblas_t gotoblas_POWER6;
|
||||||
extern gotoblas_t gotoblas_POWER8;
|
extern gotoblas_t gotoblas_POWER8;
|
||||||
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
||||||
#if (!defined __GNUC__) || ( __GNUC__ >= 6)
|
#if ((!defined __GNUC__) || ( __GNUC__ >= 6)) || defined(__clang__)
|
||||||
extern gotoblas_t gotoblas_POWER9;
|
extern gotoblas_t gotoblas_POWER9;
|
||||||
#endif
|
#endif
|
||||||
@@ -13,6 +14,7 @@ extern gotoblas_t gotoblas_POWER9;
|
|
||||||
#ifdef HAVE_P10_SUPPORT
|
#ifdef HAVE_P10_SUPPORT
|
||||||
extern gotoblas_t gotoblas_POWER10;
|
extern gotoblas_t gotoblas_POWER10;
|
||||||
#endif
|
#endif
|
||||||
@ -35,12 +34,11 @@ Index: OpenBLAS-0.3.14/driver/others/dynamic_power.c
|
|||||||
|
|
||||||
extern void openblas_warning(int verbose, const char *msg);
|
extern void openblas_warning(int verbose, const char *msg);
|
||||||
|
|
||||||
@@ -31,12 +33,14 @@ char *gotoblas_corename(void) {
|
@@ -28,11 +30,13 @@ char *gotoblas_corename(void) {
|
||||||
if (gotoblas == &gotoblas_POWER6) return corename[1];
|
|
||||||
#endif
|
#endif
|
||||||
if (gotoblas == &gotoblas_POWER8) return corename[2];
|
if (gotoblas == &gotoblas_POWER8) return corename[2];
|
||||||
|
#if ((!defined __GNUC__) || ( __GNUC__ >= 6)) || defined(__clang__)
|
||||||
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
||||||
#if (!defined __GNUC__) || ( __GNUC__ >= 6)
|
|
||||||
if (gotoblas == &gotoblas_POWER9) return corename[3];
|
if (gotoblas == &gotoblas_POWER9) return corename[3];
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_P10_SUPPORT
|
#ifdef HAVE_P10_SUPPORT
|
||||||
@ -50,7 +48,7 @@ Index: OpenBLAS-0.3.14/driver/others/dynamic_power.c
|
|||||||
return corename[0];
|
return corename[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -200,6 +204,10 @@ static gotoblas_t *get_coretype(void) {
|
@@ -243,6 +247,10 @@ static gotoblas_t *get_coretype(void) {
|
||||||
#endif
|
#endif
|
||||||
if (__builtin_cpu_is("power8"))
|
if (__builtin_cpu_is("power8"))
|
||||||
return &gotoblas_POWER8;
|
return &gotoblas_POWER8;
|
||||||
@ -58,10 +56,10 @@ Index: OpenBLAS-0.3.14/driver/others/dynamic_power.c
|
|||||||
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||||
+ return &gotoblas_POWER8;
|
+ return &gotoblas_POWER8;
|
||||||
+#else
|
+#else
|
||||||
#if (!defined __GNUC__) || ( __GNUC__ >= 6)
|
#if ((!defined __GNUC__) || ( __GNUC__ >= 6)) || defined(__clang__)
|
||||||
if (__builtin_cpu_is("power9"))
|
if (__builtin_cpu_is("power9"))
|
||||||
return &gotoblas_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"))
|
if (__builtin_cpu_is("power10"))
|
||||||
return &gotoblas_POWER9;
|
return &gotoblas_POWER9;
|
||||||
#endif
|
#endif
|
||||||
@ -69,12 +67,12 @@ Index: OpenBLAS-0.3.14/driver/others/dynamic_power.c
|
|||||||
return NULL;
|
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);
|
case 1: return (&gotoblas_POWER6);
|
||||||
#endif
|
#endif
|
||||||
case 2: return (&gotoblas_POWER8);
|
case 2: return (&gotoblas_POWER8);
|
||||||
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
||||||
#if (!defined __GNUC__) || ( __GNUC__ >= 6)
|
#if ((!defined __GNUC__) || ( __GNUC__ >= 6)) || defined(__clang__)
|
||||||
case 3: return (&gotoblas_POWER9);
|
case 3: return (&gotoblas_POWER9);
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_P10_SUPPORT
|
#ifdef HAVE_P10_SUPPORT
|
||||||
@ -84,11 +82,11 @@ Index: OpenBLAS-0.3.14/driver/others/dynamic_power.c
|
|||||||
default: return NULL;
|
default: return NULL;
|
||||||
}
|
}
|
||||||
snprintf(message, 128, "Core not found: %s\n", coretype);
|
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.25.orig/Makefile.system
|
||||||
+++ OpenBLAS-0.3.14/Makefile.system
|
+++ OpenBLAS-0.3.25/Makefile.system
|
||||||
@@ -673,6 +673,9 @@ ifeq ($(ARCH), power)
|
@@ -748,6 +748,9 @@ ifeq ($(ARCH), power)
|
||||||
ifneq ($(C_COMPILER), PGI)
|
ifneq ($(C_COMPILER), PGI)
|
||||||
DYNAMIC_CORE = POWER6
|
DYNAMIC_CORE = POWER6
|
||||||
DYNAMIC_CORE += POWER8
|
DYNAMIC_CORE += POWER8
|
||||||
@ -98,7 +96,7 @@ Index: OpenBLAS-0.3.14/Makefile.system
|
|||||||
ifneq ($(C_COMPILER), GCC)
|
ifneq ($(C_COMPILER), GCC)
|
||||||
DYNAMIC_CORE += POWER9
|
DYNAMIC_CORE += POWER9
|
||||||
DYNAMIC_CORE += POWER10
|
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.)
|
$(info, OpenBLAS: Your gcc version is too old to build the POWER10 kernels.)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
@ -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>
|
Fri Oct 27 11:26:28 UTC 2023 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||||
|
|
||||||
|
@ -18,8 +18,8 @@
|
|||||||
|
|
||||||
%global flavor @BUILD_FLAVOR@%{nil}
|
%global flavor @BUILD_FLAVOR@%{nil}
|
||||||
|
|
||||||
%define _vers 0_3_21
|
%define _vers 0_3_25
|
||||||
%define vers 0.3.21
|
%define vers 0.3.25
|
||||||
%define so_v 0
|
%define so_v 0
|
||||||
%define pname openblas
|
%define pname openblas
|
||||||
|
|
||||||
@ -224,8 +224,6 @@ Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz#/O
|
|||||||
Source1: README.SUSE
|
Source1: README.SUSE
|
||||||
Source2: README.HPC.SUSE
|
Source2: README.HPC.SUSE
|
||||||
Source3: openblas.rpmlintrc
|
Source3: openblas.rpmlintrc
|
||||||
Patch1: Use-blasint-for-INTERFACE64-compatibility.patch
|
|
||||||
Patch2: remove-spurious-loops.patch
|
|
||||||
Patch101: Link-library-with-z-noexecstack.patch
|
Patch101: Link-library-with-z-noexecstack.patch
|
||||||
# PATCH port
|
# PATCH port
|
||||||
Patch102: Handle-s390-correctly.patch
|
Patch102: Handle-s390-correctly.patch
|
||||||
|
@ -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++;
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user