Update to 0.3.21 to bring primarily the latest power10 optimizations
Resolves: #2112099 Also fix SBGEMM test to work with INTERFACE64 to make the new version build-able (rhbz#2120974)
This commit is contained in:
parent
2643e455d4
commit
6b48a4a021
1
.gitignore
vendored
1
.gitignore
vendored
@ -24,3 +24,4 @@
|
||||
/openblas-0.3.12.tar.gz
|
||||
/openblas-0.3.13.tar.gz
|
||||
/openblas-0.3.15.tar.gz
|
||||
/openblas-0.3.21.tar.gz
|
||||
|
@ -1,8 +1,7 @@
|
||||
diff --git a/Makefile.system b/Makefile.system
|
||||
index ae703e4d..80739dc4 100644
|
||||
--- a/Makefile.system
|
||||
+++ b/Makefile.system
|
||||
@@ -1515,16 +1515,16 @@ ifndef SMP
|
||||
diff -up OpenBLAS-0.2.5/Makefile.system.orig OpenBLAS-0.2.5/Makefile.system
|
||||
--- OpenBLAS-0.2.5/Makefile.system.orig 2012-11-27 01:24:53.000000000 +0200
|
||||
+++ OpenBLAS-0.2.5/Makefile.system 2012-12-24 16:13:57.316689688 +0200
|
||||
@@ -758,16 +758,16 @@ ifndef SMP
|
||||
LIBNAME = $(LIBPREFIX)_$(LIBCORE)$(REVISION).$(LIBSUFFIX)
|
||||
LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)$(REVISION)_p.$(LIBSUFFIX)
|
||||
else
|
||||
|
@ -1,44 +1,26 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 555d1c46..7dc74273 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -144,13 +144,13 @@ tests :
|
||||
diff -up OpenBLAS-0.3.21/Makefile.fixtests OpenBLAS-0.3.21/Makefile
|
||||
--- OpenBLAS-0.3.21/Makefile.fixtests 2022-08-26 07:37:06.257272957 +0200
|
||||
+++ OpenBLAS-0.3.21/Makefile 2022-08-26 07:37:53.168414307 +0200
|
||||
@@ -147,18 +147,18 @@ tests :
|
||||
ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
|
||||
touch $(LIBNAME)
|
||||
ifndef NO_FBLAS
|
||||
- $(MAKE) -C test all
|
||||
+ $(MAKE) -C test FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all
|
||||
endif
|
||||
endif
|
||||
ifneq ($(ONLY_CBLAS), 1)
|
||||
- $(MAKE) -C utest all
|
||||
+ $(MAKE) -C utest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all
|
||||
endif
|
||||
ifneq ($(NO_CBLAS), 1)
|
||||
ifneq ($(ONLY_CBLAS), 1)
|
||||
- $(MAKE) -C ctest all
|
||||
+ $(MAKE) -C ctest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all
|
||||
endif
|
||||
ifeq ($(CPP_THREAD_SAFETY_TEST), 1)
|
||||
- $(MAKE) -C cpp_thread_test all
|
||||
+ $(MAKE) -C cpp_thread_test FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
diff --git a/cpp_thread_test/Makefile b/cpp_thread_test/Makefile
|
||||
index 81e3470e..d541b70d 100644
|
||||
--- a/cpp_thread_test/Makefile
|
||||
+++ b/cpp_thread_test/Makefile
|
||||
@@ -1,13 +1,14 @@
|
||||
-include ../Makefile.rule
|
||||
+TOPDIR = ..
|
||||
+include $(TOPDIR)/Makefile.system
|
||||
|
||||
all :: dgemv_tester dgemm_tester
|
||||
|
||||
dgemv_tester :
|
||||
- $(CXX) $(COMMON_OPT) -Wall -Wextra -Wshadow -fopenmp -std=c++11 dgemv_thread_safety.cpp ../libopenblas.a -lpthread -o dgemv_tester
|
||||
+ $(CXX) $(COMMON_OPT) -Wall -Wextra -Wshadow -fopenmp -std=c++11 dgemv_thread_safety.cpp ../$(LIBNAME) -lpthread -o dgemv_tester
|
||||
./dgemv_tester
|
||||
|
||||
dgemm_tester : dgemv_tester
|
||||
- $(CXX) $(COMMON_OPT) -Wall -Wextra -Wshadow -fopenmp -std=c++11 dgemm_thread_safety.cpp ../libopenblas.a -lpthread -o dgemm_tester
|
||||
+ $(CXX) $(COMMON_OPT) -Wall -Wextra -Wshadow -fopenmp -std=c++11 dgemm_thread_safety.cpp ../$(LIBNAME) -lpthread -o dgemm_tester
|
||||
./dgemm_tester
|
||||
|
||||
clean ::
|
||||
|
@ -1,27 +0,0 @@
|
||||
From 337b65133df174796794871b3988cd03426e6d41 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
|
||||
Date: Fri, 1 Oct 2021 11:19:53 +0200
|
||||
Subject: [PATCH] Fix out of bounds read in ?llarv (Reference-LAPACK PR 625)
|
||||
|
||||
Resolves: CVE-2021-4048
|
||||
|
||||
---
|
||||
lapack-netlib/SRC/zlarrv.f | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lapack-netlib/SRC/zlarrv.f b/lapack-netlib/SRC/zlarrv.f
|
||||
index 23976dbe..8d10e3c2 100644
|
||||
--- a/lapack-netlib/SRC/zlarrv.f
|
||||
+++ b/lapack-netlib/SRC/zlarrv.f
|
||||
@@ -351,7 +351,7 @@
|
||||
*
|
||||
* Quick return if possible
|
||||
*
|
||||
- IF( N.LE.0 ) THEN
|
||||
+ IF( (N.LE.0).OR.(M.LE.0) ) THEN
|
||||
RETURN
|
||||
END IF
|
||||
*
|
||||
--
|
||||
2.33.1
|
||||
|
55
openblas-0.3.21-sbgemm-test.patch
Normal file
55
openblas-0.3.21-sbgemm-test.patch
Normal file
@ -0,0 +1,55 @@
|
||||
Fixing FTBFS on power:
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=2120974
|
||||
|
||||
Upstream issue: https://github.com/xianyi/OpenBLAS/issues/3738
|
||||
Upstream fix: https://github.com/xianyi/OpenBLAS/pull/3718
|
||||
|
||||
commit d9dc015cfc78fc32f555995a89d6957ef0184ea2
|
||||
Author: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
|
||||
Date: Mon Aug 8 14:52:10 2022 +0200
|
||||
|
||||
Use blasint for INTERFACE64 compatibility
|
||||
|
||||
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';
|
||||
|
||||
commit 3d338b57de1837f1e2264a1262a9ee9203f31c6c
|
||||
Author: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
|
||||
Date: Mon Aug 8 17:09:45 2022 +0200
|
||||
|
||||
remove spurious loops
|
||||
|
||||
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++;
|
||||
}
|
@ -14,8 +14,8 @@
|
||||
# "obsoleted" features are still kept in the spec.
|
||||
|
||||
Name: openblas
|
||||
Version: 0.3.15
|
||||
Release: 3%{?dist}
|
||||
Version: 0.3.21
|
||||
Release: 1%{?dist}
|
||||
Summary: An optimized BLAS library based on GotoBLAS2
|
||||
License: BSD
|
||||
URL: https://github.com/xianyi/OpenBLAS/
|
||||
@ -28,8 +28,8 @@ Patch1: openblas-0.2.5-libname.patch
|
||||
Patch2: openblas-0.2.15-constructor.patch
|
||||
# Supply the proper flags to the test makefile
|
||||
Patch3: openblas-0.3.11-tests.patch
|
||||
# Fix out of bounds read in ?llarv (Reference-LAPACK PR 625)
|
||||
Patch4: openblas-0.3.15-out-of-bounds-read.patch
|
||||
# Fix SBGEMM test to work with INTERFACE64
|
||||
Patch4: openblas-0.3.21-sbgemm-test.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc
|
||||
@ -243,7 +243,7 @@ cd OpenBLAS-%{version}
|
||||
%patch2 -p1 -b .constructor
|
||||
%endif
|
||||
%patch3 -p1 -b .tests
|
||||
%patch4 -p1 -b .out-of-bound-read
|
||||
%patch4 -p1 -b .sbgemm
|
||||
|
||||
# Fix source permissions
|
||||
find -name \*.f -exec chmod 644 {} \;
|
||||
@ -649,6 +649,11 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Aug 24 2022 Honza Horak <hhorak@redhat.com> - 0.3.21-1
|
||||
- Update to 0.3.21
|
||||
Resolves: #2112099
|
||||
- Fix SBGEMM test to work with INTERFACE64 (rhbz#2120974)
|
||||
|
||||
* Tue Jan 11 2022 Honza Horak <hhorak@redhat.com> - 0.3.15-3
|
||||
- Fix out of bounds read in ?llarv (Reference-LAPACK PR 625)
|
||||
(CVE-2021-4048)
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (openblas-0.3.15.tar.gz) = c07964ead5ffe9cf088364697bfe5cb409170663e420bdcd08a6366a028625d2a3c23ee4ddbaf0e625860a9fd08cbbb39f97eb985c366c052696d6f8598a844f
|
||||
SHA512 (openblas-0.3.21.tar.gz) = 4625c8e6ccfa9120281fd714d3f6b7c3ba2265470c1be76121d6b25dc3dacb899d26e5d9a417ddc616d23909f1411495aa995ef8d8d6df8511cd5cefbabcb1c5
|
||||
|
Loading…
Reference in New Issue
Block a user