Compare commits
No commits in common. "8f96d0f5290ba81560788a3f3f916d79a1e22694" and "b87ce661324b2d44f06a7a041dd83f3d124fbabd" have entirely different histories.
8f96d0f529
...
b87ce66132
100268
OpenBLAS-0.3.25-sw.patch
100268
OpenBLAS-0.3.25-sw.patch
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Name: openblas
|
Name: openblas
|
||||||
Version: 0.3.25
|
Version: 0.3.25
|
||||||
Release: 6
|
Release: 1
|
||||||
Summary: An optimized BLAS library based on GotoBLAS2 1.13 BSD version
|
Summary: An optimized BLAS library based on GotoBLAS2 1.13 BSD version
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
URL: https://github.com/xianyi/OpenBLAS/
|
URL: https://github.com/xianyi/OpenBLAS/
|
||||||
@ -10,8 +10,7 @@ Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}/openblas-
|
|||||||
Patch0000: openblas-0.2.15-system_lapack.patch
|
Patch0000: openblas-0.2.15-system_lapack.patch
|
||||||
Patch0001: openblas-0.2.5-libname.patch
|
Patch0001: openblas-0.2.5-libname.patch
|
||||||
Patch0002: openblas-0.3.11-tests.patch
|
Patch0002: openblas-0.3.11-tests.patch
|
||||||
Patch0003: OpenBLAS-0.3.25-sw.patch
|
Requires: %{name}-devel = %{version}-%{release}
|
||||||
|
|
||||||
BuildRequires: gcc gcc-gfortran perl-devel gcc-c++
|
BuildRequires: gcc gcc-gfortran perl-devel gcc-c++
|
||||||
|
|
||||||
%if %{with system_lapack}
|
%if %{with system_lapack}
|
||||||
@ -35,7 +34,7 @@ Obsoletes: openblas-serial64_ < %{version}-%{release} openblas-openmp64_ <
|
|||||||
Obsoletes: openblas-threads64_ < %{version}-%{release} openblas-Rblas < %{version}-%{release}
|
Obsoletes: openblas-threads64_ < %{version}-%{release} openblas-Rblas < %{version}-%{release}
|
||||||
Obsoletes: openblas-static < %{version}-%{release}
|
Obsoletes: openblas-static < %{version}-%{release}
|
||||||
|
|
||||||
ExclusiveArch: x86_64 aarch64 loongarch64 riscv64 ppc64le sw_64
|
ExclusiveArch: x86_64 aarch64 loongarch64 riscv64
|
||||||
|
|
||||||
%description
|
%description
|
||||||
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD \
|
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD \
|
||||||
@ -58,9 +57,6 @@ cd OpenBLAS-%{version}
|
|||||||
%endif
|
%endif
|
||||||
%patch0001 -p1 -b .libname
|
%patch0001 -p1 -b .libname
|
||||||
%patch0002 -p1 -b .tests
|
%patch0002 -p1 -b .tests
|
||||||
%ifarch sw_64
|
|
||||||
%patch0003 -p1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Set source permissions
|
# Set source permissions
|
||||||
find -name \*.f -exec chmod 644 {} \;
|
find -name \*.f -exec chmod 644 {} \;
|
||||||
@ -172,44 +168,41 @@ TARGET="TARGET=ARMV8 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
|
|||||||
%ifarch riscv64
|
%ifarch riscv64
|
||||||
TARGET="TARGET=RISCV64_GENERIC DYNAMIC_ARCH=0"
|
TARGET="TARGET=RISCV64_GENERIC DYNAMIC_ARCH=0"
|
||||||
%endif
|
%endif
|
||||||
%ifarch ppc64le
|
|
||||||
TARGET="TARGET=POWER8 DYNAMIC_ARCH=0"
|
|
||||||
%endif
|
|
||||||
|
|
||||||
COMMON="%{optflags} -fPIC"
|
COMMON="%{optflags} -fPIC"
|
||||||
FCOMMON="%{optflags} -fPIC -frecursive"
|
FCOMMON="%{optflags} -fPIC -frecursive"
|
||||||
export LDFLAGS="%{__global_ldflags}"
|
export LDFLAGS="%{__global_ldflags}"
|
||||||
|
|
||||||
make %{_smp_mflags} -C Rblas $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
|
(make -C Rblas $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
|
# Declare some necessary build flags
|
||||||
COMMON="%{optflags} -fPIC"
|
COMMON="%{optflags} -fPIC"
|
||||||
FCOMMON="$COMMON -frecursive"
|
FCOMMON="$COMMON -frecursive"
|
||||||
make %{_smp_mflags} -C serial $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 serial $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 %{_smp_mflags} -C threaded $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp" $AVX $LAPACKE INTERFACE64=0
|
(make -C threaded $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
|
# USE_THREAD determines use of SMP, not of pthreads
|
||||||
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
||||||
FCOMMON="$COMMON -frecursive"
|
FCOMMON="$COMMON -frecursive"
|
||||||
make %{_smp_mflags} -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=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=0})&
|
||||||
|
|
||||||
COMMON="%{optflags} -fPIC"
|
COMMON="%{optflags} -fPIC"
|
||||||
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
||||||
make %{_smp_mflags} -C serial64 $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 serial64 $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 %{_smp_mflags} -C threaded64 $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64" $AVX $LAPACKE INTERFACE64=1
|
(make -C threaded64 $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64" $AVX $LAPACKE INTERFACE64=1)&
|
||||||
|
|
||||||
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
||||||
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
||||||
make %{_smp_mflags} -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=0
|
(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=0)&
|
||||||
|
|
||||||
COMMON="%{optflags} -fPIC"
|
COMMON="%{optflags} -fPIC"
|
||||||
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
||||||
make %{_smp_mflags} -C serial64_ $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 serial64_ $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 %{_smp_mflags} -C threaded64_ $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
|
(make -C threaded64_ $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_)&
|
||||||
|
|
||||||
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
||||||
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
||||||
make %{_smp_mflags} -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
|
(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
|
wait
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -220,7 +213,7 @@ TARGET="TARGET=RISCV64_GENERIC DYNAMIC_ARCH=0"
|
|||||||
%else
|
%else
|
||||||
TARGET=
|
TARGET=
|
||||||
%endif
|
%endif
|
||||||
make %{_smp_mflags} -C serial $TARGET USE_THREAD=0 PREFIX=%{buildroot} OPENBLAS_LIBRARY_DIR=%{buildroot}%{_libdir} OPENBLAS_INCLUDE_DIR=%{buildroot}%{_includedir}/%name OPENBLAS_BINARY_DIR=%{buildroot}%{_bindir} OPENBLAS_CMAKE_DIR=%{buildroot}%{_libdir}/cmake install
|
make -C serial $TARGET USE_THREAD=0 PREFIX=%{buildroot} OPENBLAS_LIBRARY_DIR=%{buildroot}%{_libdir} OPENBLAS_INCLUDE_DIR=%{buildroot}%{_includedir}/%name OPENBLAS_BINARY_DIR=%{buildroot}%{_bindir} OPENBLAS_CMAKE_DIR=%{buildroot}%{_libdir}/cmake install
|
||||||
|
|
||||||
# Copy lapacke include files
|
# Copy lapacke include files
|
||||||
%if %{with system_lapack} && %{lapacke}
|
%if %{with system_lapack} && %{lapacke}
|
||||||
@ -234,12 +227,6 @@ suffix="_loongson3r5"
|
|||||||
%ifarch riscv64
|
%ifarch riscv64
|
||||||
suffix="_riscv64_generic"
|
suffix="_riscv64_generic"
|
||||||
%endif
|
%endif
|
||||||
%ifarch ppc64le
|
|
||||||
suffix="_power8"
|
|
||||||
%endif
|
|
||||||
%ifarch sw_64
|
|
||||||
suffix="_sw6"
|
|
||||||
%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
|
||||||
@ -352,9 +339,8 @@ ln -sf ${pname64_}.so lib%{name}p64_.so.0
|
|||||||
|
|
||||||
# Get rid of generated CMake config
|
# Get rid of generated CMake config
|
||||||
rm -rf %{buildroot}%{_libdir}/cmake
|
rm -rf %{buildroot}%{_libdir}/cmake
|
||||||
# Variables overrided above lead to include buildroot path,
|
# Get rid of generated pkgconfig
|
||||||
# which we need to get rid of in the resulting pkgconf file
|
rm -rf %{buildroot}%{_libdir}/pkgconfig
|
||||||
sed -i -e 's|%{buildroot}||' "%{buildroot}%{_libdir}/pkgconfig/%{name}.pc"
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
@ -369,7 +355,6 @@ sed -i -e 's|%{buildroot}||' "%{buildroot}%{_libdir}/pkgconfig/%{name}.pc"
|
|||||||
%{_libdir}/lib%{name}*.so.*
|
%{_libdir}/lib%{name}*.so.*
|
||||||
%{_libdir}/R/lib/libRblas.so
|
%{_libdir}/R/lib/libRblas.so
|
||||||
%{_libdir}/lib%{name}*.a
|
%{_libdir}/lib%{name}*.a
|
||||||
%{_libdir}/pkgconfig/%{name}.pc
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%{_includedir}/%{name}/
|
%{_includedir}/%{name}/
|
||||||
@ -380,23 +365,6 @@ sed -i -e 's|%{buildroot}||' "%{buildroot}%{_libdir}/pkgconfig/%{name}.pc"
|
|||||||
%{_libdir}/lib%{name}*64_.so
|
%{_libdir}/lib%{name}*64_.so
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Tue Feb 25 2025 zhangshaoning <zhangshaoning@uniontech.com> - 0.3.25-6
|
|
||||||
- Add sw_64 support
|
|
||||||
|
|
||||||
* Mon Nov 11 2024 Kai Liu <kai.liu@windriver.com> - 0.3.25-5
|
|
||||||
- Don't run make tasks in background sub-shell, as this causes
|
|
||||||
severe issue. Use the _smp_mflags macro instead. See issue
|
|
||||||
IB3EV0 for more detail.
|
|
||||||
|
|
||||||
* Sat Sep 7 2024 Liu Chao <liuchao173@huawei.com> - 0.3.25-4
|
|
||||||
- delete the dependency on the devel package
|
|
||||||
|
|
||||||
* Wed Feb 21 2024 Liu Chao <liuchao173@huawei.com> - 0.3.25-3
|
|
||||||
- Include pkgconf file
|
|
||||||
|
|
||||||
* Tue Jan 16 2024 jiahua.yu <jiahua.yu@shingroup.cn> - 0.3.25-2
|
|
||||||
- init support for arch ppc64le
|
|
||||||
|
|
||||||
* Mon Jan 08 2024 xu_ping <707078654@qq.com> - 0.3.25-1
|
* Mon Jan 08 2024 xu_ping <707078654@qq.com> - 0.3.25-1
|
||||||
- Update to 0.3.25
|
- Update to 0.3.25
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user