Update to 0.3.21

This commit is contained in:
starlet-dx 2023-08-24 17:00:30 +08:00
parent 501979dc26
commit 04ca8755a4
8 changed files with 99 additions and 74 deletions

View File

@ -4,24 +4,24 @@ Date: Thu, 9 Mar 2023 11:50:01 +0000
Subject: [PATCH] modify the ABI for loongarch64
---
OpenBLAS-0.3.18/Makefile.system | 4 ++--
Makefile.system | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git OpenBLAS-0.3.18/Makefile.system OpenBLAS-0.3.18/Makefile.system
index 150dbef..f9101af 100644
--- OpenBLAS-0.3.18/Makefile.system
+++ OpenBLAS-0.3.18/Makefile.system
@@ -869,8 +869,8 @@ endif
diff --git a/Makefile.system b/Makefile.system
index bada954..ade9b18 100644
--- a/Makefile.system
+++ b/Makefile.system
@@ -896,8 +896,8 @@ BINARY_DEFINED = 1
endif
ifeq ($(ARCH), loongarch64)
ifeq ($(CORE), LOONGSON3R5)
-CCOMMON_OPT += -march=loongarch64 -mabi=lp64
-FCOMMON_OPT += -march=loongarch64 -mabi=lp64
+CCOMMON_OPT += -march=loongarch64 -mabi=lp64d
+FCOMMON_OPT += -march=loongarch64 -mabi=lp64d
endif
endif
--
2.33.0
2.30.0

View File

@ -1,19 +0,0 @@
diff -up OpenBLAS-0.2.15/driver/others/memory.c.priority OpenBLAS-0.2.15/driver/others/memory.c
--- OpenBLAS-0.2.15/driver/others/memory.c.priority 2015-10-27 21:44:50.000000000 +0100
+++ OpenBLAS-0.2.15/driver/others/memory.c 2016-01-13 21:12:01.862225898 +0100
@@ -146,8 +146,15 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF
#define CONSTRUCTOR __attribute__ ((constructor))
#define DESTRUCTOR __attribute__ ((destructor))
#else
+#if __GNUC__ && INIT_PRIORITY && ((GCC_VERSION >= 40300) || (CLANG_VERSION >= 20900))
#define CONSTRUCTOR __attribute__ ((constructor(101)))
#define DESTRUCTOR __attribute__ ((destructor(101)))
+#elif __GNUC__ && INIT_PRIORITY
+#define CONSTRUCTOR __attribute__ ((constructor))
+#define DESTRUCTOR __attribute__ ((destructor))
+#else
+#define CONSTRUCTOR
+#define DESTRUCTOR
#endif
#ifdef DYNAMIC_ARCH

View File

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

Binary file not shown.

View 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++;
}

BIN
openblas-0.3.21.tar.gz Normal file

Binary file not shown.

View File

@ -1,42 +0,0 @@
diff -up OpenBLAS-0.3.7/Makefile.tests OpenBLAS-0.3.7/Makefile
--- OpenBLAS-0.3.7/Makefile.tests 2019-08-11 23:23:27.000000000 +0200
+++ OpenBLAS-0.3.7/Makefile 2019-08-12 11:32:09.937281485 +0200
@@ -123,13 +123,13 @@ 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
- $(MAKE) -C utest all
+ $(MAKE) -C utest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all
ifneq ($(NO_CBLAS), 1)
- $(MAKE) -C ctest all
+ $(MAKE) -C ctest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all
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 -up OpenBLAS-0.3.7/cpp_thread_test/Makefile.tests OpenBLAS-0.3.7/cpp_thread_test/Makefile
--- OpenBLAS-0.3.7/cpp_thread_test/Makefile.tests 2019-08-11 19:23:00.000000000 +0000
+++ OpenBLAS-0.3.7/cpp_thread_test/Makefile 2019-12-12 11:05:51.426334062 +0000
@@ -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 ::

View File

@ -1,16 +1,17 @@
%bcond_with system_lapack
Name: openblas
Version: 0.3.18
Release: 4
Version: 0.3.21
Release: 1
Summary: An optimized BLAS library based on GotoBLAS2 1.13 BSD version
License: BSD-3-Clause
URL: https://github.com/xianyi/OpenBLAS/
Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}/openblas-%{version}.tar.gz
Patch0000: openblas-0.2.15-system_lapack.patch
Patch0001: openblas-0.2.5-libname.patch
Patch0002: openblas-0.3.7-tests.patch
Patch0002: openblas-0.3.11-tests.patch
Patch0003: 0001-modify-the-ABI-for-loongarch.patch
Patch0004: openblas-0.3.21-sbgemm-test.patch
Requires: %{name}-devel = %{version}-%{release}
BuildRequires: gcc gcc-gfortran perl-devel gcc-c++
@ -59,6 +60,7 @@ cd OpenBLAS-%{version}
%patch0001 -p1 -b .libname
%patch0002 -p1 -b .tests
%patch0003 -p1
%patch0004 -p1 -b .sbgemm
# Set source permissions
find -name \*.f -exec chmod 644 {} \;
@ -367,6 +369,9 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig
%{_libdir}/lib%{name}*64_.so
%changelog
* Thu Aug 24 2023 yaoxin <yao_xin001@hoperun.com> - 0.3.21-1
- Update to 0.3.21
* Fri Jun 30 2023 xiaoqianlv <xiaoqian@nj.iscas.ac.cn>- 0.3.18-4
- add support for riscv