diff --git a/0001-modify-the-ABI-for-loongarch.patch b/0001-modify-the-ABI-for-loongarch.patch index 83c81d7..b17832a 100644 --- a/0001-modify-the-ABI-for-loongarch.patch +++ b/0001-modify-the-ABI-for-loongarch.patch @@ -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 diff --git a/openblas-0.2.15-constructor.patch b/openblas-0.2.15-constructor.patch deleted file mode 100644 index 6b6a092..0000000 --- a/openblas-0.2.15-constructor.patch +++ /dev/null @@ -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 diff --git a/openblas-0.3.11-tests.patch b/openblas-0.3.11-tests.patch new file mode 100644 index 0000000..abbdf45 --- /dev/null +++ b/openblas-0.3.11-tests.patch @@ -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 + diff --git a/openblas-0.3.18.tar.gz b/openblas-0.3.18.tar.gz deleted file mode 100644 index 86d3704..0000000 Binary files a/openblas-0.3.18.tar.gz and /dev/null differ diff --git a/openblas-0.3.21-sbgemm-test.patch b/openblas-0.3.21-sbgemm-test.patch new file mode 100644 index 0000000..3a21470 --- /dev/null +++ b/openblas-0.3.21-sbgemm-test.patch @@ -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 +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 +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++; + } diff --git a/openblas-0.3.21.tar.gz b/openblas-0.3.21.tar.gz new file mode 100644 index 0000000..63ac0be Binary files /dev/null and b/openblas-0.3.21.tar.gz differ diff --git a/openblas-0.3.7-tests.patch b/openblas-0.3.7-tests.patch deleted file mode 100644 index f379bca..0000000 --- a/openblas-0.3.7-tests.patch +++ /dev/null @@ -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 :: diff --git a/openblas.spec b/openblas.spec index dc6f066..6d5cbe7 100644 --- a/openblas.spec +++ b/openblas.spec @@ -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 - 0.3.21-1 +- Update to 0.3.21 + * Fri Jun 30 2023 xiaoqianlv - 0.3.18-4 - add support for riscv