From 87ef979c13256de3e76bd1b3211005cb74b7d1c0 Mon Sep 17 00:00:00 2001 From: zhouwenpei Date: Mon, 18 Apr 2022 21:54:47 +0800 Subject: [PATCH] enable makecheck --- openblas.spec | 66 ++++++++++++++++++- ...m-Makefile-and-add-this-to-spec-in-f.patch | 27 ++++++++ 2 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 rm-make-test-from-Makefile-and-add-this-to-spec-in-f.patch diff --git a/openblas.spec b/openblas.spec index ca2d88f..0f2af08 100644 --- a/openblas.spec +++ b/openblas.spec @@ -2,7 +2,7 @@ Name: openblas Version: 0.3.18 -Release: 1 +Release: 2 Summary: An optimized BLAS library based on GotoBLAS2 1.13 BSD version License: BSD URL: https://github.com/xianyi/OpenBLAS/ @@ -10,6 +10,7 @@ Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}/openblas- Patch0000: openblas-0.2.15-system_lapack.patch Patch0001: openblas-0.2.5-libname.patch Patch0002: openblas-0.3.7-tests.patch +Patch0003: rm-make-test-from-Makefile-and-add-this-to-spec-in-f.patch Requires: %{name}-devel = %{version}-%{release} BuildRequires: gcc gcc-gfortran perl-devel gcc-c++ @@ -202,6 +203,66 @@ 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_ CPP_THREAD_SAFETY_TEST=0)& wait +%check +%define _lto_cflags %{nil} +%if !%{lapacke} +LAPACKE="NO_LAPACKE=1" +%endif + +# Maximum possible amount of processors +NMAX="NUM_THREADS=128" + +%ifarch x86_64 +TARGET="TARGET=CORE2 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1" +%endif +%ifarch aarch64 +TARGET="TARGET=ARMV8 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1" +%endif + +COMMON="%{optflags} -fPIC" +FCOMMON="%{optflags} -fPIC -frecursive" +export LDFLAGS="%{__global_ldflags}" + +make -C Rblas tests $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 tests $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 tests $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 tests $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=0} + +COMMON="%{optflags} -fPIC" +FCOMMON="$COMMON -frecursive -fdefault-integer-8" +make -C serial64 tests $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 tests $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp6 +4" $AVX $LAPACKE INTERFACE64=1 + +COMMON="%{optflags} -fPIC -fopenmp -pthread" +FCOMMON="$COMMON -frecursive -fdefault-integer-8" +make -C openmp64 tests $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso6 +4" $AVX $LAPACKE INTERFACE64=1 CPP_THREAD_SAFETY_TEST=0 + +COMMON="%{optflags} -fPIC" +FCOMMON="$COMMON -frecursive -fdefault-integer-8" +make -C serial64_ tests $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_ tests $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp +64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ + +COMMON="%{optflags} -fPIC -fopenmp -pthread" +FCOMMON="$COMMON -frecursive -fdefault-integer-8" +make -C openmp64_ tests $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso +64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ CPP_THREAD_SAFETY_TEST=0 + %install rm -rf %{buildroot} # Install serial library and headers @@ -351,6 +412,9 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig %{_libdir}/lib%{name}*64_.so %changelog +* Mon Apr 18 2022 zhouwenpei - 0.3.18-2 +- enable makecheck + * Mon Dec 27 2021 zhouwenpei - 0.3.18-1 - Upgrade to 0.3.18 diff --git a/rm-make-test-from-Makefile-and-add-this-to-spec-in-f.patch b/rm-make-test-from-Makefile-and-add-this-to-spec-in-f.patch new file mode 100644 index 0000000..8ce5a38 --- /dev/null +++ b/rm-make-test-from-Makefile-and-add-this-to-spec-in-f.patch @@ -0,0 +1,27 @@ +From bc1d1850adf69e08debd5ff1ac50d6d497b625b0 Mon Sep 17 00:00:00 2001 +From: qinyu +Date: Tue, 6 Apr 2021 18:19:27 +0800 +Subject: [PATCH] rm "make test" from Makefile and add this to spec in + following ci + +Signed-off-by: qinyu +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index a22e16b..2103691 100644 +--- a/Makefile ++++ b/Makefile +@@ -39,7 +39,7 @@ SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench cp + .PHONY : all libs netlib $(RELA) test ctest shared install + .NOTPARALLEL : all libs $(RELA) prof lapack-test install blas-test + +-all :: libs netlib $(RELA) tests shared ++all :: libs netlib $(RELA) shared + @echo + @echo " OpenBLAS build complete. ($(LIB_COMPONENTS))" + @echo +-- +2.23.0 + -- Gitee