Merge remote-tracking branch 'up/master' into master-riscv64
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
This commit is contained in:
commit
4d546acf92
6
.gitignore
vendored
6
.gitignore
vendored
@ -13,3 +13,9 @@
|
||||
/v0.2.18.tar.gz
|
||||
/v0.2.19.tar.gz
|
||||
/v0.3.0.tar.gz
|
||||
/v0.3.1.tar.gz
|
||||
/openblas-0.3.2.tar.gz
|
||||
/openblas-0.3.6.tar.gz
|
||||
/openblas-0.3.7.tar.gz
|
||||
/openblas-0.3.8.tar.gz
|
||||
/openblas-0.3.9.tar.gz
|
||||
|
23
1572.patch
23
1572.patch
@ -1,23 +0,0 @@
|
||||
From 961d25e9c7e4a1758adb1dbeaa15187de69dd052 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
|
||||
Date: Wed, 23 May 2018 22:54:39 +0200
|
||||
Subject: [PATCH] Use the new zrot.c on POWER8 for crot as well
|
||||
|
||||
fixes #1571 (the old zrot.S assembly does not handle incx=0 correctly)
|
||||
---
|
||||
kernel/power/KERNEL.POWER8 | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/kernel/power/KERNEL.POWER8 b/kernel/power/KERNEL.POWER8
|
||||
index 00ff8682a..1aa061078 100644
|
||||
--- a/kernel/power/KERNEL.POWER8
|
||||
+++ b/kernel/power/KERNEL.POWER8
|
||||
@@ -133,7 +133,7 @@ ZNRM2KERNEL = ../arm/znrm2.c
|
||||
#
|
||||
SROTKERNEL = srot.c
|
||||
DROTKERNEL = drot.c
|
||||
-#CROTKERNEL = ../arm/zrot.c
|
||||
+CROTKERNEL = zrot.c
|
||||
ZROTKERNEL = zrot.c
|
||||
#
|
||||
SSCALKERNEL = sscal.c
|
73
ee2e758278b5d82b7242f505ea694f082ef65879.patch
Normal file
73
ee2e758278b5d82b7242f505ea694f082ef65879.patch
Normal file
@ -0,0 +1,73 @@
|
||||
From ee2e758278b5d82b7242f505ea694f082ef65879 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
|
||||
Date: Fri, 13 Mar 2020 20:34:13 +0100
|
||||
Subject: [PATCH] Move declarations of lapack_complex_custom types outside the
|
||||
extern C
|
||||
|
||||
fixes #2510
|
||||
---
|
||||
lapack-netlib/LAPACKE/include/lapack.h | 44 ++++++++++++++------------
|
||||
1 file changed, 23 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/lapack-netlib/LAPACKE/include/lapack.h b/lapack-netlib/LAPACKE/include/lapack.h
|
||||
index 0a6226fe4..36e53ec24 100644
|
||||
--- a/lapack-netlib/LAPACKE/include/lapack.h
|
||||
+++ b/lapack-netlib/LAPACKE/include/lapack.h
|
||||
@@ -12,27 +12,6 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
-#ifdef __cplusplus
|
||||
-extern "C" {
|
||||
-#endif
|
||||
-
|
||||
-/*----------------------------------------------------------------------------*/
|
||||
-#ifndef lapack_int
|
||||
-#define lapack_int int
|
||||
-#endif
|
||||
-
|
||||
-#ifndef lapack_logical
|
||||
-#define lapack_logical lapack_int
|
||||
-#endif
|
||||
-
|
||||
-/* f2c, hence clapack and MacOS Accelerate, returns double instead of float
|
||||
- * for sdot, slange, clange, etc. */
|
||||
-#if defined(LAPACK_F2C)
|
||||
- typedef double lapack_float_return;
|
||||
-#else
|
||||
- typedef float lapack_float_return;
|
||||
-#endif
|
||||
-
|
||||
/* Complex types are structures equivalent to the
|
||||
* Fortran complex types COMPLEX(4) and COMPLEX(8).
|
||||
*
|
||||
@@ -88,6 +67,29 @@ extern "C" {
|
||||
|
||||
#endif /* LAPACK_COMPLEX_CUSTOM */
|
||||
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+extern "C" {
|
||||
+#endif
|
||||
+
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+#ifndef lapack_int
|
||||
+#define lapack_int int
|
||||
+#endif
|
||||
+
|
||||
+#ifndef lapack_logical
|
||||
+#define lapack_logical lapack_int
|
||||
+#endif
|
||||
+
|
||||
+/* f2c, hence clapack and MacOS Accelerate, returns double instead of float
|
||||
+ * for sdot, slange, clange, etc. */
|
||||
+#if defined(LAPACK_F2C)
|
||||
+ typedef double lapack_float_return;
|
||||
+#else
|
||||
+ typedef float lapack_float_return;
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
/* Callback logical functions of one, two, or three arguments are used
|
||||
* to select eigenvalues to sort to the top left of the Schur form.
|
||||
* The value is selected if function returns TRUE (non-zero). */
|
42
openblas-0.3.7-tests.patch
Normal file
42
openblas-0.3.7-tests.patch
Normal file
@ -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 ::
|
250
openblas.spec
250
openblas.spec
@ -1,6 +1,6 @@
|
||||
%bcond_with system_lapack
|
||||
# Version of bundled lapack
|
||||
%global lapackver 3.8.0
|
||||
%global lapackver 3.9.0
|
||||
|
||||
# DO NOT "CLEAN UP" OR MODIFY THIS SPEC FILE WITHOUT ASKING THE
|
||||
# MAINTAINER FIRST!
|
||||
@ -14,13 +14,12 @@
|
||||
# "obsoleted" features are still kept in the spec.
|
||||
|
||||
Name: openblas
|
||||
Version: 0.3.0
|
||||
Release: 1.2.riscv64%{?dist}
|
||||
Version: 0.3.9
|
||||
Release: 2.0.riscv64%{?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
|
||||
Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}/openblas-%{version}.tar.gz
|
||||
# Use system lapack
|
||||
Patch0: openblas-0.2.15-system_lapack.patch
|
||||
# Drop extra p from threaded library name
|
||||
@ -28,19 +27,16 @@ Patch1: openblas-0.2.5-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
|
||||
Patch3: openblas-0.2.19-tests.patch
|
||||
# Upstream pull 1572, fixes fail on ppc64le
|
||||
Patch4: 1572.patch
|
||||
# Add support for RISC-V (riscv64)
|
||||
# Taken from https://github.com/xianyi/OpenBLAS/pull/1526
|
||||
# No additional modifications done
|
||||
Patch5: openblas-0.3.0-riscv64.patch
|
||||
# Disable running of tests
|
||||
Patch6: openblas-0.3.0-disable-tests.patch
|
||||
Patch3: openblas-0.3.7-tests.patch
|
||||
|
||||
# Fix C++ compatibility (BZ #1820131)
|
||||
Patch4: https://github.com/xianyi/OpenBLAS/commit/ee2e758278b5d82b7242f505ea694f082ef65879.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gcc-gfortran
|
||||
BuildRequires: perl-devel
|
||||
BuildRequires: multilib-rpm-config
|
||||
|
||||
# Do we have execstack?
|
||||
%if 0%{?rhel} == 7
|
||||
@ -83,8 +79,10 @@ Provides: bundled(lapack) = %{lapackver}
|
||||
# Build 64-bit interface binaries?
|
||||
%if 0%{?__isa_bits} == 64
|
||||
%global build64 1
|
||||
%bcond_without cpp_thread_check
|
||||
%else
|
||||
%global build64 0
|
||||
%bcond_with cpp_thread_check
|
||||
%endif
|
||||
|
||||
%if %{with system_lapack}
|
||||
@ -108,96 +106,107 @@ Computational Science, ISCAS. http://www.rdcps.ac.cn
|
||||
|
||||
%package Rblas
|
||||
Summary: A version of OpenBLAS for R to use as libRblas
|
||||
Group: Development/Libraries
|
||||
|
||||
%description Rblas
|
||||
%{base_description}
|
||||
|
||||
%package serial
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, serial version
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description serial
|
||||
%{base_description}
|
||||
|
||||
This package contains the sequential library compiled with a 32-bit
|
||||
integer interface.
|
||||
|
||||
%package openmp
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description openmp
|
||||
%{base_description}
|
||||
|
||||
This package contains the library compiled with OpenMP support.
|
||||
This package contains the library compiled with OpenMP support with
|
||||
32-bit integer interface.
|
||||
|
||||
%package threads
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, pthreads version
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description threads
|
||||
%{base_description}
|
||||
|
||||
This package contains the library compiled with threading support.
|
||||
This package contains the library compiled with threading support and
|
||||
a 32-bit integer interface.
|
||||
|
||||
%if %build64
|
||||
%package serial64
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, serial version
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description serial64
|
||||
%{base_description}
|
||||
|
||||
This package contains the sequential library compiled with a 64-bit
|
||||
interface.
|
||||
integer interface.
|
||||
|
||||
%package openmp64
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description openmp64
|
||||
%{base_description}
|
||||
|
||||
This package contains the library compiled with OpenMP support and
|
||||
64-bit interface.
|
||||
64-bit integer interface.
|
||||
|
||||
%package threads64
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, pthreads version
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description threads64
|
||||
%{base_description}
|
||||
|
||||
This package contains the library compiled with threading support and
|
||||
64-bit interface.
|
||||
64-bit integer interface.
|
||||
|
||||
%package serial64_
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, serial version
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description serial64_
|
||||
%{base_description}
|
||||
|
||||
This package contains the sequential library compiled with a 64-bit
|
||||
interface and a symbol name suffix.
|
||||
integer interface and a symbol name suffix.
|
||||
|
||||
%package openmp64_
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description openmp64_
|
||||
%{base_description}
|
||||
|
||||
This package contains the library compiled with OpenMP support and
|
||||
64-bit interface and a symbol name suffix.
|
||||
64-bit integer interface and a symbol name suffix.
|
||||
|
||||
%package threads64_
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, pthreads version
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description threads64_
|
||||
%{base_description}
|
||||
|
||||
This package contains the library compiled with threading support and
|
||||
64-bit interface and a symbol name suffix.
|
||||
64-bit integer interface and a symbol name suffix.
|
||||
%endif
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Development headers and libraries for OpenBLAS
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-serial%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-openmp%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-threads%{?_isa} = %{version}-%{release}
|
||||
%if %build64
|
||||
@ -217,7 +226,6 @@ This package contains the development headers and libraries.
|
||||
|
||||
%package static
|
||||
Summary: Static version of OpenBLAS
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description static
|
||||
@ -240,11 +248,7 @@ cd OpenBLAS-%{version}
|
||||
%patch2 -p1 -b .constructor
|
||||
%endif
|
||||
%patch3 -p1 -b .tests
|
||||
%patch4 -p1 -b .ppc64le
|
||||
%patch5 -p2 -b .riscv64
|
||||
%ifarch riscv64
|
||||
%patch6 -p2 -b .disable-tests
|
||||
%endif
|
||||
%patch4 -p1 -b .cplusplus
|
||||
|
||||
# Fix source permissions
|
||||
find -name \*.f -exec chmod 644 {} \;
|
||||
@ -356,7 +360,7 @@ LAPACKE="NO_LAPACKE=1"
|
||||
NMAX="NUM_THREADS=128"
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
TARGET="TARGET=CORE2 DYNAMIC_ARCH=1"
|
||||
TARGET="TARGET=CORE2 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
|
||||
|
||||
# Compability for old versions of GCC
|
||||
%if 0%{?rhel} == 5
|
||||
@ -368,19 +372,23 @@ export AVX="NO_AVX2=1"
|
||||
|
||||
%endif
|
||||
%ifarch armv7hl
|
||||
# ARM v7 still doesn't have runtime cpu detection...
|
||||
TARGET="TARGET=ARMV7 DYNAMIC_ARCH=0"
|
||||
%endif
|
||||
%ifarch ppc64
|
||||
TARGET="TARGET=POWER6 DYNAMIC_ARCH=0"
|
||||
TARGET="TARGET=POWER6 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
|
||||
%endif
|
||||
%ifarch ppc64p7
|
||||
TARGET="TARGET=POWER7 DYNAMIC_ARCH=0"
|
||||
TARGET="TARGET=POWER7 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
|
||||
%endif
|
||||
%ifarch ppc64le
|
||||
TARGET="TARGET=POWER8 DYNAMIC_ARCH=0"
|
||||
TARGET="TARGET=POWER8 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
TARGET="TARGET=ARMV8 DYNAMIC_ARCH=0"
|
||||
TARGET="TARGET=ARMV8 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
|
||||
%endif
|
||||
%ifarch s390x
|
||||
TARGET="TARGET=ZARCH_GENERIC DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
|
||||
%endif
|
||||
%ifarch riscv64
|
||||
TARGET="TARGET=RISCV64 DYNAMIC_ARCH=0"
|
||||
@ -391,12 +399,13 @@ TARGET="TARGET=RISCV64 DYNAMIC_ARCH=0"
|
||||
COMMON="%{optflags} -fPIC"
|
||||
FCOMMON="%{optflags} -fPIC"
|
||||
%else
|
||||
COMMON="%{optflags} -fPIC"
|
||||
FCOMMON="%{optflags} -fPIC -frecursive"
|
||||
%endif
|
||||
# Use Fedora linker flags
|
||||
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_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"
|
||||
@ -407,7 +416,7 @@ make -C threaded $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_O
|
||||
# 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}
|
||||
|
||||
%if %build64
|
||||
COMMON="%{optflags} -fPIC"
|
||||
@ -417,7 +426,7 @@ make -C threaded64 $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_O
|
||||
|
||||
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"
|
||||
@ -426,7 +435,7 @@ make -C threaded64_ $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_
|
||||
|
||||
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
|
||||
%endif
|
||||
|
||||
%install
|
||||
@ -439,28 +448,15 @@ make -C serial USE_THREAD=0 PREFIX=%{buildroot} OPENBLAS_LIBRARY_DIR=%{buildroot
|
||||
cp -a %{_includedir}/lapacke %{buildroot}%{_includedir}/%{name}
|
||||
%endif
|
||||
|
||||
# Fix name of libraries
|
||||
# Fix i686-x86_64 multilib difference
|
||||
%multilib_fix_c_header --file %{_includedir}/openblas/openblas_config.h
|
||||
|
||||
# Fix name of libraries: runtime CPU detection has none
|
||||
suffix=""
|
||||
# but archs that don't have it do have one
|
||||
%ifarch armv7hl
|
||||
suffix="_armv7"
|
||||
%endif
|
||||
%ifarch ppc64
|
||||
suffix="_power6"
|
||||
%endif
|
||||
%ifarch ppc64p7
|
||||
suffix="_power7"
|
||||
%endif
|
||||
%ifarch ppc64le
|
||||
suffix="_power8"
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
suffix="_armv8"
|
||||
%endif
|
||||
%ifarch s390x
|
||||
suffix="_zarch_generic"
|
||||
%endif
|
||||
%ifarch riscv64
|
||||
suffix="_riscv64"
|
||||
%endif
|
||||
slibname=`basename %{buildroot}%{_libdir}/libopenblas${suffix}-*.so .so`
|
||||
mv %{buildroot}%{_libdir}/${slibname}.a %{buildroot}%{_libdir}/lib%{name}.a
|
||||
if [[ "$suffix" != "" ]]; then
|
||||
@ -577,6 +573,9 @@ ln -sf ${pname64_}.so lib%{name}p64_.so.0
|
||||
for lib in %{buildroot}%{_libdir}/libopenblas*.so; do
|
||||
execstack -c $lib
|
||||
done
|
||||
for lib in %{buildroot}%{_libdir}/R/lib/libRblas*.so; do
|
||||
execstack -c $lib
|
||||
done
|
||||
%endif
|
||||
|
||||
# Get rid of generated CMake config
|
||||
@ -584,37 +583,30 @@ rm -rf %{buildroot}%{_libdir}/cmake
|
||||
# Get rid of generated pkgconfig
|
||||
rm -rf %{buildroot}%{_libdir}/pkgconfig
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%post openmp -p /sbin/ldconfig
|
||||
%postun openmp -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets openmp
|
||||
|
||||
%post Rblas -p /sbin/ldconfig
|
||||
%postun Rblas -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets Rblas
|
||||
|
||||
%post threads -p /sbin/ldconfig
|
||||
%postun threads -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets threads
|
||||
|
||||
%if %build64
|
||||
%post openmp64 -p /sbin/ldconfig
|
||||
%postun openmp64 -p /sbin/ldconfig
|
||||
%post openmp64_ -p /sbin/ldconfig
|
||||
%postun openmp64_ -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets openmp64
|
||||
%ldconfig_scriptlets openmp64_
|
||||
|
||||
%post serial64 -p /sbin/ldconfig
|
||||
%postun serial64 -p /sbin/ldconfig
|
||||
%post serial64_ -p /sbin/ldconfig
|
||||
%postun serial64_ -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets serial64
|
||||
%ldconfig_scriptlets serial64_
|
||||
|
||||
%post threads64 -p /sbin/ldconfig
|
||||
%postun threads64 -p /sbin/ldconfig
|
||||
%post threads64_ -p /sbin/ldconfig
|
||||
%postun threads64_ -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets threads64
|
||||
%ldconfig_scriptlets threads64_
|
||||
%endif
|
||||
|
||||
%files
|
||||
%doc serial/Changelog.txt serial/GotoBLAS* serial/LICENSE
|
||||
%license serial/LICENSE
|
||||
%doc serial/Changelog.txt serial/GotoBLAS*
|
||||
|
||||
%files serial
|
||||
%{_libdir}/lib%{name}-*.so
|
||||
%{_libdir}/lib%{name}.so.*
|
||||
|
||||
@ -683,15 +675,85 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Jun 04 2018 David Abdurachmanov <david.abdurachmanov@gmail.com> - 0.3.0-1.2.riscv64
|
||||
- Disable execstack for RISC-V (riscv64)
|
||||
* Thu Apr 02 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.9-2
|
||||
- Patch for BZ #1820131.
|
||||
|
||||
* Mon Jun 04 2018 David Abdurachmanov <david.abdurachmanov@gmail.com> - 0.3.0-1.1.riscv64
|
||||
- Fix typo in RISC-V patch name
|
||||
- Disable running of all tests on RISC-V
|
||||
* Mon Mar 02 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.9-1
|
||||
- Update to 0.3.9.
|
||||
|
||||
* Sun Jun 03 2018 David Abdurachmanov <david.abdurachmanov@gmail.com> - 0.3.0-1.0.riscv64
|
||||
- Add support for RISC-V (riscv64)
|
||||
* Tue Feb 11 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.8-1
|
||||
- Update to 0.3.8; dynamic runtime cpu detection on all architectures.
|
||||
- Also updates bundled LAPACK to 3.9.0.
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.7-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Wed Dec 11 2019 Dominik Mierzejewski <rpm@greysector.net> - 0.3.7-2
|
||||
- enable C++ thread safety test where possible
|
||||
|
||||
* Mon Aug 12 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.7-1
|
||||
- Update to 0.3.7.
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.6-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Tue Jul 02 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.6-2
|
||||
- Rebuild since older build doesn't show up in updates system.
|
||||
|
||||
* Tue Apr 30 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.6-1
|
||||
- Update to 0.3.6.
|
||||
|
||||
* Tue Feb 26 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.5-5
|
||||
- Even more assembly kernel patches.
|
||||
|
||||
* Mon Feb 25 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.5-4
|
||||
- Another assembly kernel patch.
|
||||
|
||||
* Sun Feb 17 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.5-3
|
||||
- Patch assembly kernels to satisfy gcc 9 demands.
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Mon Jan 07 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.5-1
|
||||
- Update to 0.3.5, with dynamic CPU detection on aarch64.
|
||||
|
||||
* Fri Nov 09 2018 Nikola Forró <nforro@redhat.com> - 0.3.3-3
|
||||
- Fix i686-x86_64 multilib difference.
|
||||
- Get rid of executable stack in libRblas.so.
|
||||
|
||||
* Sat Sep 29 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.3-2
|
||||
- Fix segfault (BZ #1634060).
|
||||
|
||||
* Sun Sep 09 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.3-1
|
||||
- Update to 0.3.3.
|
||||
|
||||
* Wed Aug 29 2018 Dan Horák <dan[at]danny.cz> - 0.3.2-5
|
||||
- Fix precision in generic target on s390x
|
||||
|
||||
* Fri Aug 24 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.2-4
|
||||
- Patch to avoid threading issues.
|
||||
|
||||
* Fri Aug 24 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.2-3
|
||||
- Add missing %%{optflags} to COMMON (see discussion in #1619074).
|
||||
|
||||
* Wed Aug 15 2018 Dan Horák <dan[at]danny.cz> - 0.3.2-2
|
||||
- Explicitly set the target to generic on s390x to avoid surprises (#1615760)
|
||||
|
||||
* Thu Aug 02 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.2-1
|
||||
- Update to 0.3.2.
|
||||
|
||||
* Sun Jul 22 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.1-3
|
||||
- Fix crash with multiple instances (BZ #1605231).
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Sun Jul 01 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.1-1
|
||||
- Update to 0.3.1.
|
||||
|
||||
* Mon Jun 11 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.0-2
|
||||
- Split sequential libraries from core package to openblas-serial.
|
||||
|
||||
* Thu May 24 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.0-1
|
||||
- Update to 0.3.0.
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (v0.3.0.tar.gz) = 6a982d2adc13febc162d5c0077cedc116c771409ee1dbb651da6a073e5f6a439e1d0eba0349b3b2e506b274d3014adbf48fc96625ed942a61a54a0c936576b89
|
||||
SHA512 (openblas-0.3.9.tar.gz) = e34da25b3aaf959ec12826ac68c81e739e453d44f2dba28b15e57d7a827edc4d5f42988e9b6d98ac07999940be7b5876246cb3a980e590ae87f77f4c2f12f40a
|
||||
|
Loading…
Reference in New Issue
Block a user