diff --git a/openblas-0.3.3.tar.gz b/openblas-0.3.10.tar.gz similarity index 58% rename from openblas-0.3.3.tar.gz rename to openblas-0.3.10.tar.gz index a714db3cecdb3959455b6d29ba06a0110ad6f6d4..2bf8c8e5d9244928cd1b947cca56c5229a7aa446 100644 Binary files a/openblas-0.3.3.tar.gz and b/openblas-0.3.10.tar.gz differ diff --git a/openblas-0.3.2-tests.patch b/openblas-0.3.2-tests.patch deleted file mode 100644 index 0c75289a64a77ef1a1546d3038e3d20a5aebd64e..0000000000000000000000000000000000000000 --- a/openblas-0.3.2-tests.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up OpenBLAS-0.3.2/Makefile.tests OpenBLAS-0.3.2/Makefile ---- OpenBLAS-0.3.2/Makefile.tests 2018-08-02 14:12:01.615117002 +0200 -+++ OpenBLAS-0.3.2/Makefile 2018-08-02 14:13:29.582918971 +0200 -@@ -122,11 +122,11 @@ tests : - ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN))) - touch $(LIBNAME) - ifndef NO_FBLAS -- $(MAKE) -C test all -- $(MAKE) -C utest all -+ $(MAKE) -C test FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all -+ $(MAKE) -C utest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all - endif - ifndef NO_CBLAS -- $(MAKE) -C ctest all -+ $(MAKE) -C ctest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all - endif - endif - diff --git a/openblas-0.3.3-tls.patch b/openblas-0.3.3-tls.patch deleted file mode 100644 index 38ebefc2345bbe9e689a35d9a0eb57b888cf722b..0000000000000000000000000000000000000000 --- a/openblas-0.3.3-tls.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up OpenBLAS-0.3.3/Makefile.rule.tls OpenBLAS-0.3.3/Makefile.rule ---- OpenBLAS-0.3.3/Makefile.rule.tls 2018-08-31 00:07:48.000000000 +0200 -+++ OpenBLAS-0.3.3/Makefile.rule 2018-09-29 19:00:47.804678736 +0200 -@@ -113,7 +113,7 @@ USE_SIMPLE_THREADED_LEVEL3 = 1 - # thread-local storage instead of a central memory buffer in memory.c - # Note that if your system uses GLIBC, it needs to have at least glibc 2.21 - # for this to work. --USE_TLS = 1 -+#USE_TLS = 1 - - # If you want to drive whole 64bit region by BLAS. Not all Fortran - # compiler supports this. It's safe to keep comment it out if you diff --git a/openblas-0.3.7-tests.patch b/openblas-0.3.7-tests.patch new file mode 100644 index 0000000000000000000000000000000000000000..fbe2fdb7f97485dd7dec8e9fcc148f5424a012b7 --- /dev/null +++ b/openblas-0.3.7-tests.patch @@ -0,0 +1,42 @@ +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 + ifndef NO_CBLAS +- $(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-0.3.9-vs-0.3.10.yaml b/openblas-0.3.9-vs-0.3.10.yaml new file mode 100644 index 0000000000000000000000000000000000000000..306f218e60344023e607d4f205bb331dc10b0ab4 --- /dev/null +++ b/openblas-0.3.9-vs-0.3.10.yaml @@ -0,0 +1,17 @@ +name: openblas +old_version: 0.3.9 +new_version: 0.3.10 +interface_differences: +- type: 'feature' + item: ARMV8架构 + diff: 为Cortex A53添加了优化的SGEMM内核 + influence: 功能增强,无影响 +- type: 'feature' + item: MIPS架构 + diff: 增加了对基于P5600内核的MIPS 24K/24KE系列的支持 + influence: 功能增强,无影响 +- type: 'ABI' + item: 新增openblas_setaffinity + diff: 在Linux上设置线程关联 + influence: 功能增强,无影响 +remark: '对用户的使用,没有变更,无影响' \ No newline at end of file diff --git a/openblas.spec b/openblas.spec index abce721bb336ffa9d8a8c18a1e587b5b9832b1fb..02d3fa1292cca1e53fb3cffee00e0eaf6dd2283d 100644 --- a/openblas.spec +++ b/openblas.spec @@ -1,17 +1,15 @@ %bcond_with system_lapack Name: openblas -Version: 0.3.3 -Release: 3 +Version: 0.3.10 +Release: 1 Summary: An optimized BLAS library based on GotoBLAS2 1.13 BSD version License: BSD 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.2.15-constructor.patch -Patch0003: openblas-0.3.2-tests.patch -Patch0004: openblas-0.3.3-tls.patch +Patch0002: openblas-0.3.7-tests.patch Requires: %{name}-devel = %{version}-%{release} BuildRequires: gcc gcc-gfortran perl-devel @@ -58,8 +56,7 @@ cd OpenBLAS-%{version} %patch0000 -p1 -b .system_lapack %endif %patch0001 -p1 -b .libname -%patch0003 -p1 -b .tests -%patch0004 -p1 -b .tls +%patch0002 -p1 -b .tests # Set source permissions find -name \*.f -exec chmod 644 {} \; @@ -154,6 +151,7 @@ rm -rf netliblapack64 %endif %build +%define _lto_cflags %{nil} %if !%{lapacke} LAPACKE="NO_LAPACKE=1" %endif @@ -172,36 +170,36 @@ COMMON="%{optflags} -fPIC" FCOMMON="%{optflags} -fPIC -frecursive" export LDFLAGS="%{__global_ldflags}" -make -C Rblas $TARGET USE_THREAD=0 USEOPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libRblas" LIBSONAME="libRblas.so" $AVX $LAPACKE INTERFACE64=0 +make -C Rblas $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libRblas" LIBSONAME="libRblas.so" $AVX $LAPACKE INTERFACE64=0 # Declare some necessary build flags COMMON="%{optflags} -fPIC" FCOMMON="$COMMON -frecursive" -make -C serial $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas" $AVX $LAPACKE INTERFACE64=0 +make -C serial $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas" $AVX $LAPACKE INTERFACE64=0 make -C threaded $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp" $AVX $LAPACKE INTERFACE64=0 # USE_THREAD determines use of SMP, not of pthreads COMMON="%{optflags} -fPIC -fopenmp -pthread" FCOMMON="$COMMON -frecursive" -make -C openmp $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso" $AVX $LAPACKE INTERFACE64=0 +make -C openmp $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso" $AVX $LAPACKE INTERFACE64=0 %{with cpp_thread_check:CPP_THREAD_SAFETY_TEST=1} COMMON="%{optflags} -fPIC" FCOMMON="$COMMON -frecursive -fdefault-integer-8" -make -C serial64 $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64" $AVX $LAPACKE INTERFACE64=1 +make -C serial64 $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64" $AVX $LAPACKE INTERFACE64=1 make -C threaded64 $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64" $AVX $LAPACKE INTERFACE64=1 COMMON="%{optflags} -fPIC -fopenmp -pthread" FCOMMON="$COMMON -frecursive -fdefault-integer-8" -make -C openmp64 $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64" $AVX $LAPACKE INTERFACE64=1 +make -C openmp64 $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64" $AVX $LAPACKE INTERFACE64=1 CPP_THREAD_SAFETY_TEST=1 COMMON="%{optflags} -fPIC" FCOMMON="$COMMON -frecursive -fdefault-integer-8" -make -C serial64_ $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ +make -C serial64_ $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ make -C threaded64_ $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ COMMON="%{optflags} -fPIC -fopenmp -pthread" FCOMMON="$COMMON -frecursive -fdefault-integer-8" -make -C openmp64_ $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ +make -C openmp64_ $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ CPP_THREAD_SAFETY_TEST=1 %install rm -rf %{buildroot} @@ -355,5 +353,8 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig %{_libdir}/lib%{name}*64_.so %changelog +* Tue Aug 18 2020 xinghe - 0.3.10-1 +- Upgrade to 0.3.10 + * Wed Nov 13 2019 Alex Chao - 0.3.3-3 - Package init