import openblas-0.3.10-1.el8

This commit is contained in:
CentOS Sources 2020-10-22 06:12:42 +00:00 committed by Andrew Lukoshko
parent 7cbbb5d19f
commit 3a29b8be00
15 changed files with 919 additions and 224 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/v0.3.3.tar.gz SOURCES/v0.3.10.tar.gz

View File

@ -1 +1 @@
bff159c528c1a860cee4976114d224da32d302a2 SOURCES/v0.3.3.tar.gz cbe3fdd0e6ee235debc611d76976dac62f3ddc1c SOURCES/v0.3.10.tar.gz

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,54 @@
diff --git a/cpp_thread_test/cpp_thread_safety_common.h b/cpp_thread_test/cpp_thread_safety_common.h
index 60ab5bb..8005369 100644
--- a/cpp_thread_test/cpp_thread_safety_common.h
+++ b/cpp_thread_test/cpp_thread_safety_common.h
@@ -5,6 +5,14 @@ inline void pauser(){
std::getline(std::cin, dummy);
}
+void FailIfThreadsAreZero(uint32_t numConcurrentThreads) {
+ if(numConcurrentThreads == 0) {
+ std::cout<<"ERROR: Invalid parameter 0 for number of concurrent calls into OpenBLAS!"<<std::endl;
+ std::cout<<"CBLAS DGEMV thread safety test FAILED!"<<std::endl;
+ exit(-1);
+ }
+}
+
void FillMatrices(std::vector<std::vector<double>>& matBlock, std::mt19937_64& PRNG, std::uniform_real_distribution<double>& rngdist, const blasint randomMatSize, const uint32_t numConcurrentThreads, const uint32_t numMat){
for(uint32_t i=0; i<numMat; i++){
for(uint32_t j = 0; j < static_cast<uint32_t>(randomMatSize*randomMatSize); j++){
diff --git a/cpp_thread_test/dgemm_thread_safety.cpp b/cpp_thread_test/dgemm_thread_safety.cpp
index 1c52875..104c64f 100644
--- a/cpp_thread_test/dgemm_thread_safety.cpp
+++ b/cpp_thread_test/dgemm_thread_safety.cpp
@@ -46,6 +46,8 @@ int main(int argc, char* argv[]){
std::cout<<"Number of concurrent calls into OpenBLAS : "<<numConcurrentThreads<<'\n';
std::cout<<"Number of testing rounds : "<<numTestRounds<<'\n';
std::cout<<"This test will need "<<(static_cast<uint64_t>(randomMatSize*randomMatSize)*numConcurrentThreads*3*8)/static_cast<double>(1024*1024)<<" MiB of RAM\n"<<std::endl;
+
+ FailIfThreadsAreZero(numConcurrentThreads);
std::cout<<"Initializing random number generator..."<<std::flush;
std::mt19937_64 PRNG = InitPRNG();
diff --git a/cpp_thread_test/dgemv_thread_safety.cpp b/cpp_thread_test/dgemv_thread_safety.cpp
index 5411fec..20ea381 100644
--- a/cpp_thread_test/dgemv_thread_safety.cpp
+++ b/cpp_thread_test/dgemv_thread_safety.cpp
@@ -18,7 +18,7 @@ int main(int argc, char* argv[]){
uint32_t maxHwThreads = omp_get_max_threads();
if (maxHwThreads < 52)
- numConcurrentThreads = maxHwThreads -4;
+ numConcurrentThreads = maxHwThreads;
if (argc > 4){
std::cout<<"ERROR: too many arguments for thread safety tester"<<std::endl;
@@ -47,6 +47,8 @@ int main(int argc, char* argv[]){
std::cout<<"Number of concurrent calls into OpenBLAS : "<<numConcurrentThreads<<'\n';
std::cout<<"Number of testing rounds : "<<numTestRounds<<'\n';
std::cout<<"This test will need "<<((static_cast<uint64_t>(randomMatSize*randomMatSize)*numConcurrentThreads*8)+(static_cast<uint64_t>(randomMatSize)*numConcurrentThreads*8*2))/static_cast<double>(1024*1024)<<" MiB of RAM\n"<<std::endl;
+
+ FailIfThreadsAreZero(numConcurrentThreads);
std::cout<<"Initializing random number generator..."<<std::flush;
std::mt19937_64 PRNG = InitPRNG();

View File

@ -1,7 +1,8 @@
diff -up OpenBLAS-0.2.5/Makefile.system.orig OpenBLAS-0.2.5/Makefile.system diff --git a/Makefile.system b/Makefile.system
--- OpenBLAS-0.2.5/Makefile.system.orig 2012-11-27 01:24:53.000000000 +0200 index 47d8eec..c947a19 100644
+++ OpenBLAS-0.2.5/Makefile.system 2012-12-24 16:13:57.316689688 +0200 --- a/Makefile.system
@@ -758,16 +758,16 @@ ifndef SMP +++ b/Makefile.system
@@ -1331,16 +1331,16 @@ ifndef SMP
LIBNAME = $(LIBPREFIX)_$(LIBCORE)$(REVISION).$(LIBSUFFIX) LIBNAME = $(LIBPREFIX)_$(LIBCORE)$(REVISION).$(LIBSUFFIX)
LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)$(REVISION)_p.$(LIBSUFFIX) LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)$(REVISION)_p.$(LIBSUFFIX)
else else

View File

@ -0,0 +1,44 @@
diff --git a/lapack-netlib/INSTALL/Makefile b/lapack-netlib/INSTALL/Makefile
index 1007c1b..348b8d6 100644
--- a/lapack-netlib/INSTALL/Makefile
+++ b/lapack-netlib/INSTALL/Makefile
@@ -46,5 +46,5 @@ cleanexe:
cleantest:
rm -f core
-slamch.o: slamch.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
-dlamch.o: dlamch.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
+slamch.o: slamch.f ; $(FC) $(FFLAGS) -c -o $@ $<
+dlamch.o: dlamch.f ; $(FC) $(FFLAGS) -c -o $@ $<
diff --git a/lapack-netlib/SRC/Makefile b/lapack-netlib/SRC/Makefile
index 9f79e20..cf47a02 100644
--- a/lapack-netlib/SRC/Makefile
+++ b/lapack-netlib/SRC/Makefile
@@ -613,9 +613,9 @@ cleanobj:
cleanlib:
rm -f $(LAPACKLIB)
-slaruv.o: slaruv.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
-dlaruv.o: dlaruv.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
-sla_wwaddw.o: sla_wwaddw.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
-dla_wwaddw.o: dla_wwaddw.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
-cla_wwaddw.o: cla_wwaddw.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
-zla_wwaddw.o: zla_wwaddw.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
+slaruv.o: slaruv.f ; $(FC) $(FFLAGS) -c -o $@ $<
+dlaruv.o: dlaruv.f ; $(FC) $(FFLAGS) -c -o $@ $<
+sla_wwaddw.o: sla_wwaddw.f ; $(FC) $(FFLAGS) -c -o $@ $<
+dla_wwaddw.o: dla_wwaddw.f ; $(FC) $(FFLAGS) -c -o $@ $<
+cla_wwaddw.o: cla_wwaddw.f ; $(FC) $(FFLAGS) -c -o $@ $<
+zla_wwaddw.o: zla_wwaddw.f ; $(FC) $(FFLAGS) -c -o $@ $<
diff --git a/lapack-netlib/TESTING/MATGEN/Makefile b/lapack-netlib/TESTING/MATGEN/Makefile
index 87432fd..bd484e6 100644
--- a/lapack-netlib/TESTING/MATGEN/Makefile
+++ b/lapack-netlib/TESTING/MATGEN/Makefile
@@ -97,5 +97,5 @@ cleanobj:
cleanlib:
rm -f $(TMGLIB)
-slaran.o: slaran.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
-dlaran.o: dlaran.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
+slaran.o: slaran.f ; $(FC) $(FFLAGS) -c -o $@ $<
+dlaran.o: dlaran.f ; $(FC) $(FFLAGS) -c -o $@ $<

View File

@ -1,5 +1,5 @@
diff --git a/kernel/power/drot.c b/kernel/power/drot.c diff --git a/kernel/power/drot.c b/kernel/power/drot.c
index 3e10748..9d2b8c0 100644 index baeb542..daeae9f 100644
--- a/kernel/power/drot.c --- a/kernel/power/drot.c
+++ b/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. @@ -37,8 +37,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@ -8,11 +8,11 @@ index 3e10748..9d2b8c0 100644
-#pragma GCC optimize "O1" -#pragma GCC optimize "O1"
- -
#if defined(POWER8) #if defined(POWER8) || defined(POWER9)
#include "drot_microk_power8.c" #include "drot_microk_power8.c"
#endif #endif
diff --git a/kernel/power/srot.c b/kernel/power/srot.c diff --git a/kernel/power/srot.c b/kernel/power/srot.c
index d2910ff..18f5362 100644 index 6af813c..0a172d5 100644
--- a/kernel/power/srot.c --- a/kernel/power/srot.c
+++ b/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. @@ -37,8 +37,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@ -21,11 +21,11 @@ index d2910ff..18f5362 100644
-#pragma GCC optimize "O1" -#pragma GCC optimize "O1"
- -
#if defined(POWER8) #if defined(POWER8) || defined(POWER9)
#include "srot_microk_power8.c" #include "srot_microk_power8.c"
#endif #endif
diff --git a/kernel/power/zscal.c b/kernel/power/zscal.c diff --git a/kernel/power/zscal.c b/kernel/power/zscal.c
index 14d677f..79f7271 100644 index a1b441d..3c80ba0 100644
--- a/kernel/power/zscal.c --- a/kernel/power/zscal.c
+++ b/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. @@ -36,8 +36,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@ -34,6 +34,6 @@ index 14d677f..79f7271 100644
-#pragma GCC optimize "O1" -#pragma GCC optimize "O1"
- -
#if defined(POWER8) #if defined(POWER8) || defined(POWER9)
#if defined(DOUBLE) #if defined(DOUBLE)
#include "zscal_microk_power8.c" #include "zscal_microk_power8.c"

View File

@ -1,20 +1,27 @@
diff -up OpenBLAS-0.2.15/Makefile.system_lapack OpenBLAS-0.2.15/Makefile diff --git a/Makefile b/Makefile
--- OpenBLAS-0.2.15/Makefile.system_lapack 2015-10-27 13:44:50.000000000 -0700 index e113026..ae8f7de 100644
+++ OpenBLAS-0.2.15/Makefile 2015-10-28 09:14:56.696685503 -0700 --- a/Makefile
@@ -16,11 +16,7 @@ BLASDIRS += reference +++ b/Makefile
@@ -12,9 +12,6 @@ BLASDIRS += reference
endif endif
SUBDIRS = $(BLASDIRS) SUBDIRS = $(BLASDIRS)
-ifneq ($(NO_LAPACK), 1) -ifneq ($(NO_LAPACK), 1)
-SUBDIRS += lapack -SUBDIRS += lapack
-endif -endif
-
RELA =
ifeq ($(BUILD_RELAPACK), 1)
@@ -32,8 +29,6 @@ export NOFORTRAN
export NO_LAPACK
endif
-LAPACK_NOOPT := $(filter-out -O0 -O1 -O2 -O3 -Ofast,$(LAPACK_FFLAGS)) -LAPACK_NOOPT := $(filter-out -O0 -O1 -O2 -O3 -Ofast,$(LAPACK_FFLAGS))
+SUBDIRS += lapack -
SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench cpp_thread_test
SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench .PHONY : all libs netlib $(RELA) test ctest shared install
@@ -235,76 +230,8 @@ hpl_p :
@@ -211,57 +207,8 @@ hpl_p :
fi; \ fi; \
done done
@ -23,7 +30,7 @@ diff -up OpenBLAS-0.2.15/Makefile.system_lapack OpenBLAS-0.2.15/Makefile
- -
-else -else
-netlib : lapack_prebuild -netlib : lapack_prebuild
-ifndef NOFORTRAN -ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
- @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapacklib - @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapacklib
- @$(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib - @$(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib
-endif -endif
@ -32,34 +39,49 @@ diff -up OpenBLAS-0.2.15/Makefile.system_lapack OpenBLAS-0.2.15/Makefile
-endif -endif
-endif -endif
- -
-ifeq ($(NO_LAPACK), 1)
-re_lapack :
-
-else
-re_lapack :
- @$(MAKE) -C relapack
-endif
-
-prof_lapack : lapack_prebuild -prof_lapack : lapack_prebuild
- @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapack_prof - @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapack_prof
- -
-lapack_prebuild : -lapack_prebuild :
-ifndef NOFORTRAN -ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
- -@echo "FORTRAN = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc - -@echo "FC = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "OPTS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "FFLAGS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "FFLAGS_DRV = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "NOOPT = -O0 $(LAPACK_NOOPT)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "FFLAGS_NOOPT = -O0 $(LAPACK_NOOPT)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "PNOOPT = $(LAPACK_FPFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "PNOOPT = $(LAPACK_FPFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "LOADOPTS = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "CC = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "CC = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "override CFLAGS = $(LAPACK_CFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "override CFLAGS = $(LAPACK_CFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "ARCH = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "AR = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "ARCHFLAGS = -ru" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "ARFLAGS = $(ARFLAGS) -ru" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "RANLIB = $(RANLIB)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "RANLIB = $(RANLIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "LAPACKLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "LAPACKLIB = ../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "TMGLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "TMGLIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "BLASLIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "BLASLIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "LAPACKELIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "LAPACKELIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "LAPACKLIB_P = ../$(LIBNAME_P)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "LAPACKLIB_P = ../$(LIBNAME_P)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "SUFFIX = $(SUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "SUFFIX = $(SUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "PSUFFIX = $(PSUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "PSUFFIX = $(PSUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "CEXTRALIB = $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "CEXTRALIB = $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
-ifeq ($(FC), gfortran) -ifeq ($(F_COMPILER), GFORTRAN)
- -@echo "TIMER = INT_ETIME" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "TIMER = INT_ETIME" >> $(NETLIB_LAPACK_DIR)/make.inc
-ifdef SMP -ifdef SMP
-ifeq ($(OSNAME), WINNT)
- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc
-else ifeq ($(OSNAME), Haiku)
- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc
-else
- -@echo "LOADER = $(FC) -pthread" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "LOADER = $(FC) -pthread" >> $(NETLIB_LAPACK_DIR)/make.inc
-endif
-else -else
- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc
-endif -endif
@ -67,17 +89,22 @@ diff -up OpenBLAS-0.2.15/Makefile.system_lapack OpenBLAS-0.2.15/Makefile
- -@echo "TIMER = NONE" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "TIMER = NONE" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc
-endif -endif
-ifeq ($(BUILD_LAPACK_DEPRECATED), 1)
- -@echo "BUILD_DEPRECATED = 1" >> $(NETLIB_LAPACK_DIR)/make.inc
-endif
- -@echo "LAPACKE_WITH_TMG = 1" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@cat make.inc >> $(NETLIB_LAPACK_DIR)/make.inc - -@cat make.inc >> $(NETLIB_LAPACK_DIR)/make.inc
-endif -endif
+ @$(MAKE) -C $(NETLIB_LAPACK_DIR) + @$(MAKE) -C $(NETLIB_LAPACK_DIR)
large.tgz : large.tgz :
ifndef NOFORTRAN ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
diff -up OpenBLAS-0.2.15/Makefile.system.system_lapack OpenBLAS-0.2.15/Makefile.system diff --git a/Makefile.system b/Makefile.system
--- OpenBLAS-0.2.15/Makefile.system.system_lapack 2015-10-27 13:44:50.000000000 -0700 index 8d78b42..47d8eec 100644
+++ OpenBLAS-0.2.15/Makefile.system 2015-10-28 09:14:39.994350500 -0700 --- a/Makefile.system
@@ -9,7 +9,7 @@ ifndef TOPDIR +++ b/Makefile.system
TOPDIR = . @@ -31,7 +31,7 @@ else ifeq ($(ARCH), zarch)
override ARCH=zarch
endif endif
-NETLIB_LAPACK_DIR = $(TOPDIR)/lapack-netlib -NETLIB_LAPACK_DIR = $(TOPDIR)/lapack-netlib

View File

@ -1,19 +1,22 @@
diff --git a/Makefile b/Makefile diff --git a/Makefile b/Makefile
index d99521b..01bba2f 100644 index ae8f7de..61f325c 100644
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -122,11 +122,11 @@ tests : @@ -133,13 +133,13 @@ tests :
ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN))) ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
touch $(LIBNAME) touch $(LIBNAME)
ifndef NO_FBLAS ifndef NO_FBLAS
- $(MAKE) -C test all - $(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 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 endif
- $(MAKE) -C utest all
+ $(MAKE) -C utest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all
ifndef NO_CBLAS ifndef NO_CBLAS
- $(MAKE) -C ctest all - $(MAKE) -C ctest all
+ $(MAKE) -C ctest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" 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
endif endif

View File

@ -0,0 +1,57 @@
diff --git a/Makefile.system b/Makefile.system
index c947a19..cbf419a 100644
--- a/Makefile.system
+++ b/Makefile.system
@@ -282,9 +282,11 @@ endif
ifeq ($(C_COMPILER), GCC)
GCCVERSIONGTEQ4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 4)
GCCVERSIONGT4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \> 4)
+GCCVERSIONEQ5 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` = 5)
GCCVERSIONGT5 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \> 5)
GCCVERSIONGTEQ7 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 7)
GCCVERSIONGTEQ9 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 9)
+GCCMINORVERSIONGTEQ2 := $(shell expr `$(CC) -dumpversion | cut -f2 -d.` \>= 2)
GCCMINORVERSIONGTEQ7 := $(shell expr `$(CC) -dumpversion | cut -f2 -d.` \>= 7)
endif
@@ -570,20 +572,27 @@ ifeq ($(ARCH), zarch)
DYNAMIC_CORE = ZARCH_GENERIC
# Z13 is supported since gcc-5.2, gcc-6, and in RHEL 7.3 and newer
-GCC_GE_52 := $(subst 0,,$(shell expr `$(CC) -dumpversion` \>= "5.2"))
+ifeq ($(GCCVERSIONGT5), 1)
+ ZARCH_SUPPORT_Z13 := 1
+else ifeq ($(GCCVERSIONEQ5), 1)
+ifeq ($(GCCMINORVERSIONGTEQ2), 1)
+ ZARCH_SUPPORT_Z13 := 1
+endif
+endif
ifeq ($(wildcard /etc/redhat-release), /etc/redhat-release)
-RHEL_WITH_Z13 := $(subst 0,,$(shell source /etc/os-release ; expr $$VERSION_ID \>= "7.3"))
+ifeq ($(shell source /etc/os-release ; expr $$VERSION_ID \>= "7.3"), 1)
+ ZARCH_SUPPORT_Z13 := 1
+endif
endif
-ifeq ($(or $(GCC_GE_52),$(RHEL_WITH_Z13)), 1)
+ifeq ($(ZARCH_SUPPORT_Z13), 1)
DYNAMIC_CORE += Z13
else
$(info OpenBLAS: Not building Z13 kernels because gcc is older than 5.2 or 6.x)
endif
-GCC_MAJOR_GE_7 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 7)
-ifeq ($(GCC_MAJOR_GE_7), 1)
+ifeq ($(GCCVERSIONGTEQ7), 1)
DYNAMIC_CORE += Z14
else
$(info OpenBLAS: Not building Z14 kernels because gcc is older than 7.x)
@@ -597,7 +606,6 @@ ifneq ($(C_COMPILER), GCC)
DYNAMIC_CORE += POWER9
endif
ifeq ($(C_COMPILER), GCC)
-GCCVERSIONGT5 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \> 5)
ifeq ($(GCCVERSIONGT5), 1)
DYNAMIC_CORE += POWER9
else

View File

@ -1,13 +0,0 @@
diff --git a/kernel/zarch/izamax.c b/kernel/zarch/izamax.c
index 216c341..6cde691 100644
--- a/kernel/zarch/izamax.c
+++ b/kernel/zarch/izamax.c
@@ -185,7 +185,7 @@ static BLASLONG ziamax_kernel_16_TUNED(BLASLONG n, FLOAT *x, FLOAT *maxf) {
"vsteg %%v6,%[maxf],0 \n\t"
"vmnlg %%v1,%%v5,%%v7 \n\t"
"vlgvg %[index],%%v1,0 \n\t"
- "j 3 \n\t"
+ "j 3f \n\t"
"2: \n\t"
"wfchdb %%v16,%%v26,%%v6 \n\t"
"vsel %%v1,%%v5,%%v7,%%v16 \n\t"

View File

@ -1,37 +0,0 @@
diff --git a/lapack-netlib/INSTALL/Makefile b/lapack-netlib/INSTALL/Makefile
index 150a061..abf0843 100644
--- a/lapack-netlib/INSTALL/Makefile
+++ b/lapack-netlib/INSTALL/Makefile
@@ -45,6 +45,3 @@ cleantest:
.SUFFIXES: .o .f
.f.o:
$(FORTRAN) $(OPTS) -c -o $@ $<
-
-slamch.o: slamch.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
-dlamch.o: dlamch.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
diff --git a/lapack-netlib/SRC/Makefile b/lapack-netlib/SRC/Makefile
index 531cb51..94051a1 100644
--- a/lapack-netlib/SRC/Makefile
+++ b/lapack-netlib/SRC/Makefile
@@ -603,10 +603,3 @@ clean:
.F.o:
$(FORTRAN) $(OPTS) -c $< -o $@
-
-slaruv.o: slaruv.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
-dlaruv.o: dlaruv.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
-sla_wwaddw.o: sla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
-dla_wwaddw.o: dla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
-cla_wwaddw.o: cla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
-zla_wwaddw.o: zla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
diff --git a/lapack-netlib/TESTING/MATGEN/Makefile b/lapack-netlib/TESTING/MATGEN/Makefile
index e20004c..f168821 100644
--- a/lapack-netlib/TESTING/MATGEN/Makefile
+++ b/lapack-netlib/TESTING/MATGEN/Makefile
@@ -95,6 +95,3 @@ cleanlib:
.f.o:
$(FORTRAN) $(OPTS) -c -o $@ $<
-
-slaran.o: slaran.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
-dlaran.o: dlaran.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<

View File

@ -1,57 +0,0 @@
diff --git a/cpuid_power.c b/cpuid_power.c
index 6c7baef..388ea18 100644
--- a/cpuid_power.c
+++ b/cpuid_power.c
@@ -56,6 +56,7 @@
#define CPUTYPE_CELL 6
#define CPUTYPE_PPCG4 7
#define CPUTYPE_POWER8 8
+#define CPUTYPE_POWER9 9
char *cpuname[] = {
"UNKNOWN",
@@ -66,7 +67,8 @@ char *cpuname[] = {
"POWER6",
"CELL",
"PPCG4",
- "POWER8"
+ "POWER8",
+ "POWER9"
};
char *lowercpuname[] = {
@@ -78,7 +80,8 @@ char *lowercpuname[] = {
"power6",
"cell",
"ppcg4",
- "power8"
+ "power8",
+ "power9"
};
char *corename[] = {
@@ -90,6 +93,7 @@ char *corename[] = {
"POWER6",
"CELL",
"PPCG4",
+ "POWER8",
"POWER8"
};
@@ -120,6 +124,7 @@ int detect(void){
if (!strncasecmp(p, "POWER6", 6)) return CPUTYPE_POWER6;
if (!strncasecmp(p, "POWER7", 6)) return CPUTYPE_POWER6;
if (!strncasecmp(p, "POWER8", 6)) return CPUTYPE_POWER8;
+ if (!strncasecmp(p, "POWER9", 6)) return CPUTYPE_POWER8;
if (!strncasecmp(p, "Cell", 4)) return CPUTYPE_CELL;
if (!strncasecmp(p, "7447", 4)) return CPUTYPE_PPCG4;
@@ -148,7 +153,7 @@ int id;
id = __asm __volatile("mfpvr %0" : "=r"(id));
switch ( id >> 16 ) {
case 0x4e: // POWER9
- return return CPUTYPE_POWER8;
+ return CPUTYPE_POWER8;
break;
case 0x4d:
case 0x4b: // POWER8/8E

View File

@ -1,6 +1,6 @@
%bcond_with system_lapack %bcond_with system_lapack
# Version of bundled lapack # Version of bundled lapack
%global lapackver 3.7.0 %global lapackver 3.9.0
# DO NOT "CLEAN UP" OR MODIFY THIS SPEC FILE WITHOUT ASKING THE # DO NOT "CLEAN UP" OR MODIFY THIS SPEC FILE WITHOUT ASKING THE
# MAINTAINER FIRST! # MAINTAINER FIRST!
@ -14,31 +14,29 @@
# "obsoleted" features are still kept in the spec. # "obsoleted" features are still kept in the spec.
Name: openblas Name: openblas
Version: 0.3.3 Version: 0.3.10
Release: 5%{?dist} Release: 1%{?dist}
Summary: An optimized BLAS library based on GotoBLAS2 Summary: An optimized BLAS library based on GotoBLAS2
Group: Development/Libraries Group: Development/Libraries
License: BSD License: BSD
URL: https://github.com/xianyi/OpenBLAS/ URL: https://github.com/xianyi/OpenBLAS/
Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz
# Use system lapack # Use system lapack
Patch0: openblas-0.2.15-system_lapack.patch Patch0: openblas-0.3.10-system-lapack.patch
# Drop extra p from threaded library name # Drop extra p from threaded library name
Patch1: openblas-0.2.5-libname.patch Patch1: openblas-0.3.10-libname.patch
# Don't use constructor priorities on too old architectures
Patch2: openblas-0.2.15-constructor.patch
# Supply the proper flags to the test makefile # Supply the proper flags to the test makefile
Patch3: openblas-0.3.3-tests.patch Patch2: openblas-0.3.10-tests.patch
# Enable optimizations for all LAPACK sources # Enable optimizations for all LAPACK sources
Patch4: openblas-0.3.3-noopt.patch Patch3: openblas-0.3.10-noopt.patch
# Pass ASMFLAGS to assembler compiler # Pass ASMFLAGS to assembler compiler
Patch5: openblas-0.2.20-asmflags.patch Patch4: openblas-0.3.10-asmflags.patch
# Remove optimization pragmas on ppc64le # Remove optimization pragmas on ppc64le
Patch6: openblas-0.2.20-power-optimize.patch Patch5: openblas-0.3.10-power-optimize.patch
# Fix izamax on s390x # https://github.com/xianyi/OpenBLAS/pull/2669
Patch7: openblas-0.3.3-izamax-s390x.patch Patch6: openblas-0.3.10-zarch-gcc-version-detection.patch
# Detect POWER9 as POWER8 # https://github.com/xianyi/OpenBLAS/pull/2672
Patch8: openblas-0.3.3-power9.patch Patch7: openblas-0.3.10-concurrency.patch
BuildRequires: gcc BuildRequires: gcc
BuildRequires: gcc-gfortran BuildRequires: gcc-gfortran
@ -232,18 +230,15 @@ This package contains the static libraries.
tar zxf %{SOURCE0} tar zxf %{SOURCE0}
cd OpenBLAS-%{version} cd OpenBLAS-%{version}
%if %{with system_lapack} %if %{with system_lapack}
%patch0 -p1 -b .system_lapack %patch0 -p1 -b .system-lapack
%endif %endif
%patch1 -p1 -b .libname %patch1 -p1 -b .libname
%if 0%{?rhel} == 5 %patch2 -p1 -b .tests
%patch2 -p1 -b .constructor %patch3 -p1 -b .noopt
%endif %patch4 -p1 -b .asmflags
%patch3 -p1 -b .tests %patch5 -p1 -b .power-optimize
%patch4 -p1 -b .noopt %patch6 -p1 -b .zarch-gcc-version-detection
%patch5 -p1 -b .asmflags %patch7 -p1 -b .concurrency
%patch6 -p1 -b .power-optimize
%patch7 -p1 -b .izamax-s390x
%patch8 -p1 -b .power9
# Fix source permissions # Fix source permissions
find -name \*.f -exec chmod 644 {} \; find -name \*.f -exec chmod 644 {} \;
@ -382,7 +377,7 @@ TARGET="TARGET=POWER8 DYNAMIC_ARCH=0"
TARGET="TARGET=ARMV8 DYNAMIC_ARCH=0" TARGET="TARGET=ARMV8 DYNAMIC_ARCH=0"
%endif %endif
%ifarch s390x %ifarch s390x
TARGET="TARGET=Z13 DYNAMIC_ARCH=0" TARGET="TARGET=ZARCH_GENERIC DYNAMIC_ARCH=1"
%endif %endif
%if 0%{?rhel} == 5 %if 0%{?rhel} == 5
@ -461,9 +456,6 @@ suffix="_power8"
%ifarch aarch64 %ifarch aarch64
suffix="_armv8" suffix="_armv8"
%endif %endif
%ifarch s390x
suffix="_z13"
%endif
slibname=`basename %{buildroot}%{_libdir}/libopenblas${suffix}-*.so .so` slibname=`basename %{buildroot}%{_libdir}/libopenblas${suffix}-*.so .so`
mv %{buildroot}%{_libdir}/${slibname}.a %{buildroot}%{_libdir}/lib%{name}.a mv %{buildroot}%{_libdir}/${slibname}.a %{buildroot}%{_libdir}/lib%{name}.a
if [[ "$suffix" != "" ]]; then if [[ "$suffix" != "" ]]; then
@ -689,6 +681,10 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig
%endif %endif
%changelog %changelog
* Tue Oct 20 2020 Nikola Forró <nforro@redhat.com> - 0.3.10-1
- Rebase to version 0.3.10
resolves: #1847435
* Fri Nov 22 2019 Nikola Forró <nforro@redhat.com> - 0.3.3-5 * Fri Nov 22 2019 Nikola Forró <nforro@redhat.com> - 0.3.3-5
- Detect POWER9 as POWER8 - Detect POWER9 as POWER8
related: #1752241 related: #1752241