diff --git a/.gitignore b/.gitignore index f697ae0..49cb79f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/v0.3.12.tar.gz +SOURCES/v0.3.15.tar.gz diff --git a/.openblas.metadata b/.openblas.metadata index 058300c..0f983c4 100644 --- a/.openblas.metadata +++ b/.openblas.metadata @@ -1 +1 @@ -ae647fed597ae891a7f122b9ddc6b15d4b7e0656 SOURCES/v0.3.12.tar.gz +d7d1f67c1ef0c14c93761bdf44f0da8d0dd4bc0f SOURCES/v0.3.15.tar.gz diff --git a/SOURCES/openblas-0.3.12-asmflags.patch b/SOURCES/openblas-0.3.15-asmflags.patch similarity index 99% rename from SOURCES/openblas-0.3.12-asmflags.patch rename to SOURCES/openblas-0.3.15-asmflags.patch index 1f767a7..5dafadb 100644 --- a/SOURCES/openblas-0.3.12-asmflags.patch +++ b/SOURCES/openblas-0.3.15-asmflags.patch @@ -1,8 +1,8 @@ diff --git a/kernel/Makefile b/kernel/Makefile -index e52781c6..c925837a 100644 +index 1a6c9413..afd54abc 100644 --- a/kernel/Makefile +++ b/kernel/Makefile -@@ -151,25 +151,32 @@ endif +@@ -132,25 +132,32 @@ endif all : libs scabs1.$(SUFFIX): $(KERNELDIR)/$(SCABS_KERNEL) @@ -42,7 +42,7 @@ index e52781c6..c925837a 100644 endif setparam$(TSUFFIX).c : setparam-ref.c -@@ -180,25 +187,32 @@ kernel$(TSUFFIX).h : $(KERNEL_INTERFACE) +@@ -161,25 +168,32 @@ kernel$(TSUFFIX).h : $(KERNEL_INTERFACE) cpuid.$(SUFFIX): $(KERNELDIR)/cpuid.S @@ -83,10 +83,10 @@ index e52781c6..c925837a 100644 #ifdef DYNAMIC_ARCH clean :: diff --git a/kernel/Makefile.L1 b/kernel/Makefile.L1 -index 7ad94118..3487a9e3 100644 +index 09337363..a368277e 100644 --- a/kernel/Makefile.L1 +++ b/kernel/Makefile.L1 -@@ -545,217 +545,282 @@ endif +@@ -553,217 +553,282 @@ endif $(KDIR)samax_k$(TSUFFIX).$(SUFFIX) $(KDIR)samax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SAMAXKERNEL) @@ -434,7 +434,7 @@ index 7ad94118..3487a9e3 100644 ifeq ($(BUILD_BFLOAT16),1) $(KDIR)sbdot_k$(TSUFFIX).$(SUFFIX) $(KDIR)sbdot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SBDOTKERNEL) -@@ -771,126 +836,165 @@ $(KDIR)dbf16tod_k$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(BF16TOKERNEL) +@@ -779,126 +844,165 @@ $(KDIR)dbf16tod_k$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(BF16TOKERNEL) endif $(KDIR)sdot_k$(TSUFFIX).$(SUFFIX) $(KDIR)sdot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SDOTKERNEL) @@ -529,14 +529,14 @@ index 7ad94118..3487a9e3 100644 + $(CC) $$CFLAGS -DCOMPLEX -c -DXDOUBLE $< -o $@ $(KDIR)srot_k$(TSUFFIX).$(SUFFIX) $(KDIR)srot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SROTKERNEL) -- $(CC) -c $(CFLAGS) -UCOMPLEX -UCOMPLEX -UDOUBLE $< -o $@ +- $(CC) -c $(CFLAGS) $(FMAFLAG) -UCOMPLEX -UCOMPLEX -UDOUBLE $< -o $@ + [[ "$<" == *.S ]] && CFLAGS="$(CFLAGS) $(ASMFLAGS)" || CFLAGS="$(CFLAGS)"; \ -+ $(CC) -c $$CFLAGS -UCOMPLEX -UCOMPLEX -UDOUBLE $< -o $@ ++ $(CC) -c $$CFLAGS $(FMAFLAG) -UCOMPLEX -UCOMPLEX -UDOUBLE $< -o $@ $(KDIR)drot_k$(TSUFFIX).$(SUFFIX) $(KDIR)drot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DROTKERNEL) -- $(CC) -c $(CFLAGS) -UCOMPLEX -UCOMPLEX -DDOUBLE $< -o $@ +- $(CC) -c $(CFLAGS) $(FMAFLAG) -UCOMPLEX -UCOMPLEX -DDOUBLE $< -o $@ + [[ "$<" == *.S ]] && CFLAGS="$(CFLAGS) $(ASMFLAGS)" || CFLAGS="$(CFLAGS)"; \ -+ $(CC) -c $$CFLAGS -UCOMPLEX -UCOMPLEX -DDOUBLE $< -o $@ ++ $(CC) -c $$CFLAGS $(FMAFLAG) -UCOMPLEX -UCOMPLEX -DDOUBLE $< -o $@ $(KDIR)qrot_k$(TSUFFIX).$(SUFFIX) $(KDIR)qrot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QROTKERNEL) - $(CC) -c $(CFLAGS) -UCOMPLEX -UCOMPLEX -DXDOUBLE $< -o $@ @@ -640,10 +640,10 @@ index 7ad94118..3487a9e3 100644 diff --git a/kernel/Makefile.L2 b/kernel/Makefile.L2 -index 79399c34..6d605f82 100644 +index 888a9b95..16e94c6a 100644 --- a/kernel/Makefile.L2 +++ b/kernel/Makefile.L2 -@@ -236,251 +236,320 @@ XBLASOBJS += \ +@@ -252,252 +252,321 @@ endif ifneq "$(or $(BUILD_SINGLE), $(BUILD_DOUBLE), $(BUILD_COMPLEX))" "" $(KDIR)sgemv_n$(TSUFFIX).$(SUFFIX) $(KDIR)sgemv_n$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP) @@ -1032,9 +1032,10 @@ index 79399c34..6d605f82 100644 + [[ "$<" == *.S ]] && CFLAGS="$(CFLAGS) $(ASMFLAGS)" || CFLAGS="$(CFLAGS)"; \ + $(CC) -c $$CFLAGS -DCOMPLEX -DXDOUBLE -DLOWER -DHEMV -DHEMVREV $< -o $@ - + ifeq ($(BUILD_BFLOAT16),1) + $(KDIR)sbgemv_n$(TSUFFIX).$(SUFFIX) $(KDIR)sbgemv_n$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SBGEMVNKERNEL) diff --git a/kernel/Makefile.L3 b/kernel/Makefile.L3 -index 2ba593c2..110674b2 100644 +index d8d73996..60ca4c86 100644 --- a/kernel/Makefile.L3 +++ b/kernel/Makefile.L3 @@ -526,119 +526,150 @@ XGEMMOTCOPYOBJ_P = $(XGEMMOTCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) diff --git a/SOURCES/openblas-0.3.12-libname.patch b/SOURCES/openblas-0.3.15-libname.patch similarity index 92% rename from SOURCES/openblas-0.3.12-libname.patch rename to SOURCES/openblas-0.3.15-libname.patch index d75de48..f59d61e 100644 --- a/SOURCES/openblas-0.3.12-libname.patch +++ b/SOURCES/openblas-0.3.15-libname.patch @@ -1,8 +1,8 @@ diff --git a/Makefile.system b/Makefile.system -index 30d8f4cc..803219a8 100644 +index ae703e4d..80739dc4 100644 --- a/Makefile.system +++ b/Makefile.system -@@ -1425,16 +1425,16 @@ ifndef SMP +@@ -1515,16 +1515,16 @@ ifndef SMP LIBNAME = $(LIBPREFIX)_$(LIBCORE)$(REVISION).$(LIBSUFFIX) LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)$(REVISION)_p.$(LIBSUFFIX) else diff --git a/SOURCES/openblas-0.3.12-noopt.patch b/SOURCES/openblas-0.3.15-noopt.patch similarity index 100% rename from SOURCES/openblas-0.3.12-noopt.patch rename to SOURCES/openblas-0.3.15-noopt.patch diff --git a/SOURCES/openblas-0.3.12-power-optimize.patch b/SOURCES/openblas-0.3.15-power-optimize.patch similarity index 78% rename from SOURCES/openblas-0.3.12-power-optimize.patch rename to SOURCES/openblas-0.3.15-power-optimize.patch index 5d82b6f..64f10ee 100644 --- a/SOURCES/openblas-0.3.12-power-optimize.patch +++ b/SOURCES/openblas-0.3.15-power-optimize.patch @@ -1,5 +1,5 @@ diff --git a/kernel/power/drot.c b/kernel/power/drot.c -index 951c2f9c..98788c0f 100644 +index 3229878e..a25ccceb 100644 --- a/kernel/power/drot.c +++ b/kernel/power/drot.c @@ -37,8 +37,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @@ -8,11 +8,11 @@ index 951c2f9c..98788c0f 100644 -#pragma GCC optimize "O1" - - #if defined(POWER8) || defined(POWER9) || defined(POWER10) #if defined(__VEC__) || defined(__ALTIVEC__) + #if defined(POWER8) || defined(POWER9) #include "drot_microk_power8.c" diff --git a/kernel/power/srot.c b/kernel/power/srot.c -index a53342f6..73b477d9 100644 +index 5a0d4b12..d73fafc9 100644 --- a/kernel/power/srot.c +++ b/kernel/power/srot.c @@ -37,8 +37,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @@ -21,11 +21,11 @@ index a53342f6..73b477d9 100644 -#pragma GCC optimize "O1" - - #if defined(POWER8) || defined(POWER9) || defined(POWER10) #if defined(__VEC__) || defined(__ALTIVEC__) + #if defined(POWER8) || defined(POWER9) #include "srot_microk_power8.c" diff --git a/kernel/power/zscal.c b/kernel/power/zscal.c -index 5526f4d6..3c2efbfa 100644 +index 59ddc149..a5e35001 100644 --- a/kernel/power/zscal.c +++ b/kernel/power/zscal.c @@ -36,8 +36,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @@ -34,6 +34,6 @@ index 5526f4d6..3c2efbfa 100644 -#pragma GCC optimize "O1" - - #if defined(POWER8) || defined(POWER9) || defined(POWER10) #if defined(__VEC__) || defined(__ALTIVEC__) + #if defined(POWER8) || defined(POWER9) #if defined(DOUBLE) diff --git a/SOURCES/openblas-0.3.12-system-lapack.patch b/SOURCES/openblas-0.3.15-system-lapack.patch similarity index 100% rename from SOURCES/openblas-0.3.12-system-lapack.patch rename to SOURCES/openblas-0.3.15-system-lapack.patch diff --git a/SOURCES/openblas-0.3.12-tests.patch b/SOURCES/openblas-0.3.15-tests.patch similarity index 92% rename from SOURCES/openblas-0.3.12-tests.patch rename to SOURCES/openblas-0.3.15-tests.patch index 0bd9864..ac71c39 100644 --- a/SOURCES/openblas-0.3.12-tests.patch +++ b/SOURCES/openblas-0.3.15-tests.patch @@ -1,8 +1,8 @@ diff --git a/Makefile b/Makefile -index a9af62a2..2f0f11c0 100644 +index 555d1c46..7dc74273 100644 --- a/Makefile +++ b/Makefile -@@ -138,13 +138,13 @@ tests : +@@ -144,13 +144,13 @@ tests : ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN))) touch $(LIBNAME) ifndef NO_FBLAS diff --git a/SPECS/openblas.spec b/SPECS/openblas.spec index d1d590f..02e74ce 100644 --- a/SPECS/openblas.spec +++ b/SPECS/openblas.spec @@ -1,6 +1,6 @@ %bcond_with system_lapack # Version of bundled lapack -%global lapackver 3.9.0 +%global lapackver 3.9.1 # DO NOT "CLEAN UP" OR MODIFY THIS SPEC FILE WITHOUT ASKING THE # MAINTAINER FIRST! @@ -14,7 +14,7 @@ # "obsoleted" features are still kept in the spec. Name: openblas -Version: 0.3.12 +Version: 0.3.15 Release: 1%{?dist} Summary: An optimized BLAS library based on GotoBLAS2 Group: Development/Libraries @@ -22,20 +22,22 @@ License: BSD URL: https://github.com/xianyi/OpenBLAS/ Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz # Use system lapack -Patch0: openblas-0.3.12-system-lapack.patch +Patch0: openblas-0.3.15-system-lapack.patch # Drop extra p from threaded library name -Patch1: openblas-0.3.12-libname.patch +Patch1: openblas-0.3.15-libname.patch # Supply the proper flags to the test makefile -Patch2: openblas-0.3.12-tests.patch +Patch2: openblas-0.3.15-tests.patch # Enable optimizations for all LAPACK sources -Patch3: openblas-0.3.12-noopt.patch +Patch3: openblas-0.3.15-noopt.patch # Pass ASMFLAGS to assembler compiler -Patch4: openblas-0.3.12-asmflags.patch +Patch4: openblas-0.3.15-asmflags.patch # Remove optimization pragmas on ppc64le -Patch5: openblas-0.3.12-power-optimize.patch +Patch5: openblas-0.3.15-power-optimize.patch -BuildRequires: gcc -BuildRequires: gcc-gfortran +BuildRequires: scl-utils +BuildRequires: gcc-toolset-11-gcc +BuildRequires: gcc-toolset-11-gcc-gfortran +BuildRequires: gcc-toolset-11-annobin-plugin-gcc BuildRequires: perl-devel BuildRequires: multilib-rpm-config @@ -336,6 +338,9 @@ rm -rf netliblapack64 %endif %build +# Enable gcc-toolset-11 +source scl_source enable gcc-toolset-11 + %if !%{lapacke} LAPACKE="NO_LAPACKE=1" %endif @@ -675,6 +680,11 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig %endif %changelog +* Wed Sep 15 2021 Nikola Forró - 0.3.15-1 +- Rebase to version 0.3.15 +- Use gcc-toolset-11 to benefit from POWER 10 optimizations + resolves: #1983218 + * Wed Oct 28 2020 Nikola Forró - 0.3.12-1 - Rebase to version 0.3.12 related: #1847435