Really unbundle lapack.

This commit is contained in:
Susi Lehtola 2015-02-08 05:49:45 +01:00
parent ce75bd4e22
commit 36b85772cc
3 changed files with 71 additions and 38 deletions

View File

@ -0,0 +1,17 @@
diff -up wrk/makes/Make.lib.wrk wrk/makes/Make.lib
--- wrk/makes/Make.lib.wrk 2015-01-23 21:14:46.465494411 +0100
+++ wrk/makes/Make.lib 2015-01-23 22:48:39.632479588 +0100
@@ -185,11 +185,11 @@ TRYALL :
#
fat_ptshared : # threaded target
$(MAKE) TRYALL outso=libtatlas.so \
- libas="libptlapack.a libptf77blas.a libptcblas.a libatlas.a" \
+ libas="libptlapack.a libptf77blas.a libptcblas.a libatlas.a $(SLAPACKlib)" \
LIBINSTdir="$(LIBINSTdir)"
fat_shared : # serial target
$(MAKE) TRYALL outso=libsatlas.so \
- libas="liblapack.a libf77blas.a libcblas.a libatlas.a" \
+ libas="liblapack.a libf77blas.a libcblas.a libatlas.a $(SLAPACKlib)" \
LIBINSTdir="$(LIBINSTdir)"
#
# Builds shared lib, not include fortran codes from LAPACK

View File

@ -5,7 +5,7 @@ Version: 3.10.1
%if "%{?enable_native_atlas}" != "0"
%define dist .native
%endif
Release: 17%{?dist}
Release: 18%{?dist}
Summary: Automatically Tuned Linear Algebra Software
Group: System Environment/Libraries
@ -21,7 +21,6 @@ Source3: README.dist
#Source7: IBMz1064.tgz
#Source8: IBMz19632.tgz
#Source9: IBMz19664.tgz
Source10: http://www.netlib.org/lapack/lapack-3.5.0.tgz
#archdefs taken from debian:
Source11: POWER332.tar.bz2
Source12: IBMz932.tar.bz2
@ -43,6 +42,7 @@ Patch6: atlas-affinity.patch
Patch7: atlas-aarch64port.patch
Patch8: atlas-genparse.patch
Patch9: atlas.3.10.1-unbundle.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -55,8 +55,7 @@ Patch100: ppc64le-abiv2.patch
Patch110: p8-mem-barrier.patch
BuildRequires: gcc-gfortran
Provides: bundled(lapack)
BuildRequires: lapack-static
%ifarch x86_64
Obsoletes: atlas-sse3 < 3.10
@ -332,6 +331,7 @@ ix86 architecture.
%patch7 -p1 -b .aarch64
%endif
%patch8 -p1 -b .genparse
%patch9 -p1 -b .unbundle
cp %{SOURCE1} CONFIG/ARCHS/
#cp %{SOURCE2} CONFIG/ARCHS/
@ -362,8 +362,19 @@ sed -i -e 's,-mfpu=vfpv3,,' tune/blas/gemm/CASES/*.flg
# Debug
#sed -i -e 's,> \(.*\)/ptsanity.out,> \1/ptsanity.out || cat \1/ptsanity.out \&\& exit 1,' makes/Make.*
# Generate lapack library
mkdir lapacklib
cd lapacklib
ar x %{_libdir}/liblapack_pic.a
# Remove functions that have ATLAS implementations
rm cgelqf.o cgels.o cgeqlf.o cgeqrf.o cgerqf.o cgesv.o cgetrf.o cgetri.o cgetrs.o clarfb.o clarft.o clauum.o cposv.o cpotrf.o cpotri.o cpotrs.o ctrtri.o dgelqf.o dgels.o dgeqlf.o dgeqrf.o dgerqf.o dgesv.o dgetrf.o dgetri.o dgetrs.o dlamch.o dlarfb.o dlarft.o dlauum.o dposv.o dpotrf.o dpotri.o dpotrs.o dtrtri.o ieeeck.o ilaenv.o lsame.o sgelqf.o sgels.o sgeqlf.o sgeqrf.o sgerqf.o sgesv.o sgetrf.o sgetri.o sgetrs.o slamch.o slarfb.o slarft.o slauum.o sposv.o spotrf.o spotri.o spotrs.o strtri.o xerbla.o zgelqf.o zgels.o zgeqlf.o zgeqrf.o zgerqf.o zgesv.o zgetrf.o zgetri.o zgetrs.o zlarfb.o zlarft.o zlauum.o zposv.o zpotrf.o zpotri.o zpotrs.o ztrtri.o
# Create new library
ar rcs ../liblapack_pic_pruned.a *.o
cd ..
%build
p=$(pwd)
for type in %{types}; do
if [ "$type" = "base" ]; then
libname=atlas
@ -377,8 +388,11 @@ for type in %{types}; do
../configure %{mode} %{?threads_option} %{?arch_option} -D c -DWALL -Fa alg '%{armflags} -g -Wa,--noexecstack -fPIC'\
--prefix=%{buildroot}%{_prefix} \
--incdir=%{buildroot}%{_includedir} \
--libdir=%{buildroot}%{_libdir}/${libname} \
--with-netlib-lapack-tarfile=%{SOURCE10}
--libdir=%{buildroot}%{_libdir}/${libname}
#--with-netlib-lapack-tarfile=%{SOURCE10}
#matches both SLAPACK and SSLAPACK
sed -i "s#SLAPACKlib.*#SLAPACKlib = ${p}/liblapack_pic_pruned.a#" Make.inc
%if "%{?enable_native_atlas}" == "0"
%ifarch x86_64
@ -848,6 +862,9 @@ fi
%endif
%changelog
* Sat Feb 07 2015 Susi Lehtola <jussilehtola@fedoraproject.org> - 3.10.1-18
- Really do the unbundling of lapack.
* Mon Feb 02 2015 Frantisek Kluknavsky <fkluknav@redhat.com> - 3.10.1-17
- rebuild with new lapack, https://bugzilla.redhat.com/show_bug.cgi?id=1149032

View File

@ -11,4 +11,3 @@ ebb4732aff468bbc223e7f734252173b USII32.tgz
f3e4ca175b5ffc49dce7f3c37f791827 IBMz964.tar.bz2
27e7baa49c588299260188afa78303dc POWER332.tar.bz2
af1f95e19d7afaf0342fb1377ec94817 ARMv732NEON.tar.bz2
e7ba742120bd75339ac4c6fbdd8bce92 lapack-3.5.0.tgz