import openblas-0.3.10-1.el8
This commit is contained in:
parent
7cbbb5d19f
commit
3a29b8be00
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/v0.3.3.tar.gz
|
||||
SOURCES/v0.3.10.tar.gz
|
||||
|
@ -1 +1 @@
|
||||
bff159c528c1a860cee4976114d224da32d302a2 SOURCES/v0.3.3.tar.gz
|
||||
cbe3fdd0e6ee235debc611d76976dac62f3ddc1c SOURCES/v0.3.10.tar.gz
|
||||
|
@ -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
|
File diff suppressed because it is too large
Load Diff
54
SOURCES/openblas-0.3.10-concurrency.patch
Normal file
54
SOURCES/openblas-0.3.10-concurrency.patch
Normal 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();
|
@ -1,7 +1,8 @@
|
||||
diff -up OpenBLAS-0.2.5/Makefile.system.orig OpenBLAS-0.2.5/Makefile.system
|
||||
--- OpenBLAS-0.2.5/Makefile.system.orig 2012-11-27 01:24:53.000000000 +0200
|
||||
+++ OpenBLAS-0.2.5/Makefile.system 2012-12-24 16:13:57.316689688 +0200
|
||||
@@ -758,16 +758,16 @@ ifndef SMP
|
||||
diff --git a/Makefile.system b/Makefile.system
|
||||
index 47d8eec..c947a19 100644
|
||||
--- a/Makefile.system
|
||||
+++ b/Makefile.system
|
||||
@@ -1331,16 +1331,16 @@ ifndef SMP
|
||||
LIBNAME = $(LIBPREFIX)_$(LIBCORE)$(REVISION).$(LIBSUFFIX)
|
||||
LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)$(REVISION)_p.$(LIBSUFFIX)
|
||||
else
|
44
SOURCES/openblas-0.3.10-noopt.patch
Normal file
44
SOURCES/openblas-0.3.10-noopt.patch
Normal 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 $@ $<
|
@ -1,5 +1,5 @@
|
||||
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
|
||||
+++ 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 3e10748..9d2b8c0 100644
|
||||
|
||||
-#pragma GCC optimize "O1"
|
||||
-
|
||||
#if defined(POWER8)
|
||||
#if defined(POWER8) || defined(POWER9)
|
||||
#include "drot_microk_power8.c"
|
||||
#endif
|
||||
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
|
||||
+++ 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 d2910ff..18f5362 100644
|
||||
|
||||
-#pragma GCC optimize "O1"
|
||||
-
|
||||
#if defined(POWER8)
|
||||
#if defined(POWER8) || defined(POWER9)
|
||||
#include "srot_microk_power8.c"
|
||||
#endif
|
||||
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
|
||||
+++ 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 14d677f..79f7271 100644
|
||||
|
||||
-#pragma GCC optimize "O1"
|
||||
-
|
||||
#if defined(POWER8)
|
||||
#if defined(POWER8) || defined(POWER9)
|
||||
#if defined(DOUBLE)
|
||||
#include "zscal_microk_power8.c"
|
@ -1,20 +1,27 @@
|
||||
diff -up OpenBLAS-0.2.15/Makefile.system_lapack OpenBLAS-0.2.15/Makefile
|
||||
--- OpenBLAS-0.2.15/Makefile.system_lapack 2015-10-27 13:44:50.000000000 -0700
|
||||
+++ OpenBLAS-0.2.15/Makefile 2015-10-28 09:14:56.696685503 -0700
|
||||
@@ -16,11 +16,7 @@ BLASDIRS += reference
|
||||
diff --git a/Makefile b/Makefile
|
||||
index e113026..ae8f7de 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -12,9 +12,6 @@ BLASDIRS += reference
|
||||
endif
|
||||
|
||||
SUBDIRS = $(BLASDIRS)
|
||||
-ifneq ($(NO_LAPACK), 1)
|
||||
-SUBDIRS += lapack
|
||||
-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))
|
||||
+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
|
||||
|
||||
@@ -211,57 +207,8 @@ hpl_p :
|
||||
.PHONY : all libs netlib $(RELA) test ctest shared install
|
||||
@@ -235,76 +230,8 @@ hpl_p :
|
||||
fi; \
|
||||
done
|
||||
|
||||
@ -23,7 +30,7 @@ diff -up OpenBLAS-0.2.15/Makefile.system_lapack OpenBLAS-0.2.15/Makefile
|
||||
-
|
||||
-else
|
||||
-netlib : lapack_prebuild
|
||||
-ifndef NOFORTRAN
|
||||
-ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
|
||||
- @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapacklib
|
||||
- @$(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib
|
||||
-endif
|
||||
@ -32,34 +39,49 @@ diff -up OpenBLAS-0.2.15/Makefile.system_lapack OpenBLAS-0.2.15/Makefile
|
||||
-endif
|
||||
-endif
|
||||
-
|
||||
-ifeq ($(NO_LAPACK), 1)
|
||||
-re_lapack :
|
||||
-
|
||||
-else
|
||||
-re_lapack :
|
||||
- @$(MAKE) -C relapack
|
||||
-endif
|
||||
-
|
||||
-prof_lapack : lapack_prebuild
|
||||
- @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapack_prof
|
||||
-
|
||||
-lapack_prebuild :
|
||||
-ifndef NOFORTRAN
|
||||
- -@echo "FORTRAN = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "OPTS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
|
||||
- -@echo "FC = $(FC)" > $(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 "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 "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 "override CFLAGS = $(LAPACK_CFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "ARCH = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "ARCHFLAGS = -ru" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "AR = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "ARFLAGS = $(ARFLAGS) -ru" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "RANLIB = $(RANLIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "LAPACKLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "TMGLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "LAPACKLIB = ../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "TMGLIB = ../../../$(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 "SUFFIX = $(SUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "PSUFFIX = $(PSUFFIX)" >> $(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
|
||||
-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
|
||||
-endif
|
||||
-else
|
||||
- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-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 "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-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
|
||||
-endif
|
||||
+ @$(MAKE) -C $(NETLIB_LAPACK_DIR)
|
||||
|
||||
large.tgz :
|
||||
ifndef NOFORTRAN
|
||||
diff -up OpenBLAS-0.2.15/Makefile.system.system_lapack OpenBLAS-0.2.15/Makefile.system
|
||||
--- OpenBLAS-0.2.15/Makefile.system.system_lapack 2015-10-27 13:44:50.000000000 -0700
|
||||
+++ OpenBLAS-0.2.15/Makefile.system 2015-10-28 09:14:39.994350500 -0700
|
||||
@@ -9,7 +9,7 @@ ifndef TOPDIR
|
||||
TOPDIR = .
|
||||
ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
|
||||
diff --git a/Makefile.system b/Makefile.system
|
||||
index 8d78b42..47d8eec 100644
|
||||
--- a/Makefile.system
|
||||
+++ b/Makefile.system
|
||||
@@ -31,7 +31,7 @@ else ifeq ($(ARCH), zarch)
|
||||
override ARCH=zarch
|
||||
endif
|
||||
|
||||
-NETLIB_LAPACK_DIR = $(TOPDIR)/lapack-netlib
|
@ -1,19 +1,22 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index d99521b..01bba2f 100644
|
||||
index ae8f7de..61f325c 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -122,11 +122,11 @@ tests :
|
||||
@@ -133,13 +133,13 @@ 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
|
||||
- $(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
|
||||
|
57
SOURCES/openblas-0.3.10-zarch-gcc-version-detection.patch
Normal file
57
SOURCES/openblas-0.3.10-zarch-gcc-version-detection.patch
Normal 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
|
@ -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"
|
@ -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 $@ $<
|
@ -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
|
@ -1,6 +1,6 @@
|
||||
%bcond_with system_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
|
||||
# MAINTAINER FIRST!
|
||||
@ -14,31 +14,29 @@
|
||||
# "obsoleted" features are still kept in the spec.
|
||||
|
||||
Name: openblas
|
||||
Version: 0.3.3
|
||||
Release: 5%{?dist}
|
||||
Version: 0.3.10
|
||||
Release: 1%{?dist}
|
||||
Summary: An optimized BLAS library based on GotoBLAS2
|
||||
Group: Development/Libraries
|
||||
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.2.15-system_lapack.patch
|
||||
Patch0: openblas-0.3.10-system-lapack.patch
|
||||
# Drop extra p from threaded library name
|
||||
Patch1: openblas-0.2.5-libname.patch
|
||||
# Don't use constructor priorities on too old architectures
|
||||
Patch2: openblas-0.2.15-constructor.patch
|
||||
Patch1: openblas-0.3.10-libname.patch
|
||||
# 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
|
||||
Patch4: openblas-0.3.3-noopt.patch
|
||||
Patch3: openblas-0.3.10-noopt.patch
|
||||
# Pass ASMFLAGS to assembler compiler
|
||||
Patch5: openblas-0.2.20-asmflags.patch
|
||||
Patch4: openblas-0.3.10-asmflags.patch
|
||||
# Remove optimization pragmas on ppc64le
|
||||
Patch6: openblas-0.2.20-power-optimize.patch
|
||||
# Fix izamax on s390x
|
||||
Patch7: openblas-0.3.3-izamax-s390x.patch
|
||||
# Detect POWER9 as POWER8
|
||||
Patch8: openblas-0.3.3-power9.patch
|
||||
Patch5: openblas-0.3.10-power-optimize.patch
|
||||
# https://github.com/xianyi/OpenBLAS/pull/2669
|
||||
Patch6: openblas-0.3.10-zarch-gcc-version-detection.patch
|
||||
# https://github.com/xianyi/OpenBLAS/pull/2672
|
||||
Patch7: openblas-0.3.10-concurrency.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-gfortran
|
||||
@ -232,18 +230,15 @@ This package contains the static libraries.
|
||||
tar zxf %{SOURCE0}
|
||||
cd OpenBLAS-%{version}
|
||||
%if %{with system_lapack}
|
||||
%patch0 -p1 -b .system_lapack
|
||||
%patch0 -p1 -b .system-lapack
|
||||
%endif
|
||||
%patch1 -p1 -b .libname
|
||||
%if 0%{?rhel} == 5
|
||||
%patch2 -p1 -b .constructor
|
||||
%endif
|
||||
%patch3 -p1 -b .tests
|
||||
%patch4 -p1 -b .noopt
|
||||
%patch5 -p1 -b .asmflags
|
||||
%patch6 -p1 -b .power-optimize
|
||||
%patch7 -p1 -b .izamax-s390x
|
||||
%patch8 -p1 -b .power9
|
||||
%patch2 -p1 -b .tests
|
||||
%patch3 -p1 -b .noopt
|
||||
%patch4 -p1 -b .asmflags
|
||||
%patch5 -p1 -b .power-optimize
|
||||
%patch6 -p1 -b .zarch-gcc-version-detection
|
||||
%patch7 -p1 -b .concurrency
|
||||
|
||||
# Fix source permissions
|
||||
find -name \*.f -exec chmod 644 {} \;
|
||||
@ -382,7 +377,7 @@ TARGET="TARGET=POWER8 DYNAMIC_ARCH=0"
|
||||
TARGET="TARGET=ARMV8 DYNAMIC_ARCH=0"
|
||||
%endif
|
||||
%ifarch s390x
|
||||
TARGET="TARGET=Z13 DYNAMIC_ARCH=0"
|
||||
TARGET="TARGET=ZARCH_GENERIC DYNAMIC_ARCH=1"
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel} == 5
|
||||
@ -461,9 +456,6 @@ suffix="_power8"
|
||||
%ifarch aarch64
|
||||
suffix="_armv8"
|
||||
%endif
|
||||
%ifarch s390x
|
||||
suffix="_z13"
|
||||
%endif
|
||||
slibname=`basename %{buildroot}%{_libdir}/libopenblas${suffix}-*.so .so`
|
||||
mv %{buildroot}%{_libdir}/${slibname}.a %{buildroot}%{_libdir}/lib%{name}.a
|
||||
if [[ "$suffix" != "" ]]; then
|
||||
@ -689,6 +681,10 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig
|
||||
%endif
|
||||
|
||||
%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
|
||||
- Detect POWER9 as POWER8
|
||||
related: #1752241
|
||||
|
Loading…
Reference in New Issue
Block a user