diff --git a/ila-bound-fix.patch b/ila-bound-fix.patch deleted file mode 100644 index ffd8f48..0000000 --- a/ila-bound-fix.patch +++ /dev/null @@ -1,87 +0,0 @@ -From SVN: - r977 | james | 2011-04-22 00:00:11 +0200 (Fri, 22 Apr 2011) | 2 lines - fixed problems with zero matrix and scan - - bug0079 :: ILA[SDCZ]LR out of bound access in the DO LOOP for array A. - Change DO LOOP condition and add a IF inside the DO LOOP - -Index: SRC/ilazlr.f -=================================================================== ---- SRC/ilazlr.f (revision 976) -+++ SRC/ilazlr.f (revision 977) -@@ -53,9 +53,12 @@ - ILAZLR = 0 - DO J = 1, N - I=M -- DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) -- I=I-1 -- ENDDO -+ DO WHILE ((A(I,J).EQ.ZERO).AND.(I.GT.1)) -+ I=I-1 -+ ENDDO -+ IF( (I.EQ.1).AND.(A(1,J).EQ.ZERO) ) THEN -+ I = 0 -+ END IF - ILAZLR = MAX( ILAZLR, I ) - END DO - END IF -Index: SRC/ilaclr.f -=================================================================== ---- SRC/ilaclr.f (revision 976) -+++ SRC/ilaclr.f (revision 977) -@@ -54,9 +54,12 @@ - ILACLR = 0 - DO J = 1, N - I=M -- DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) -- I=I-1 -- ENDDO -+ DO WHILE ((A(I,J).EQ.ZERO).AND.(I.GT.1)) -+ I=I-1 -+ ENDDO -+ IF( (I.EQ.1).AND.(A(1,J).EQ.ZERO) ) THEN -+ I = 0 -+ END IF - ILACLR = MAX( ILACLR, I ) - END DO - END IF -Index: SRC/ilaslr.f -=================================================================== ---- SRC/ilaslr.f (revision 976) -+++ SRC/ilaslr.f (revision 977) -@@ -54,9 +54,12 @@ - ILASLR = 0 - DO J = 1, N - I=M -- DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) -- I=I-1 -+ DO WHILE ((A(I,J).EQ.ZERO).AND.(I.GT.1)) -+ I=I-1 - ENDDO -+ IF( (I.EQ.1).AND.(A(1,J).EQ.ZERO) ) THEN -+ I = 0 -+ END IF - ILASLR = MAX( ILASLR, I ) - END DO - END IF -Index: SRC/iladlr.f -=================================================================== ---- SRC/iladlr.f (revision 976) -+++ SRC/iladlr.f (revision 977) -@@ -53,10 +53,13 @@ - * Scan up each column tracking the last zero row seen. - ILADLR = 0 - DO J = 1, N -- I=M -- DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) -- I=I-1 -+ I = M -+ DO WHILE ((A(I,J).EQ.ZERO).AND.(I.GT.1)) -+ I=I-1 - ENDDO -+ IF( (I.EQ.1).AND.(A(1,J).EQ.ZERO) ) THEN -+ I = 0 -+ END IF - ILADLR = MAX( ILADLR, I ) - END DO - END IF diff --git a/lapack-3.3.1.tar.bz2 b/lapack-3.3.1.tar.bz2 deleted file mode 100644 index c8df82e..0000000 --- a/lapack-3.3.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8813ba185727a551f7c2450b96febf0aed7c03d0fc94cd7da5d5b84b180eca0a -size 3092598 diff --git a/lapack-3.4.0.tar.bz2 b/lapack-3.4.0.tar.bz2 new file mode 100644 index 0000000..267b1a5 --- /dev/null +++ b/lapack-3.4.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49bca377de0580e128488139184599c5137ec667576fc7cdef325363f84fd24d +size 3788300 diff --git a/lapack.changes b/lapack.changes index b6b9046..3c1d3af 100644 --- a/lapack.changes +++ b/lapack.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Nov 16 21:03:58 UTC 2011 - burnus@net-b.de + +- Update to 3.4.0 + * xGEQRT: QR factorization (improved interface) + * xGEQRT3: recursive QR factorization. + * xTPQRT: Communication-Avoiding QR sequential kernels. + * Bug fixes. + * Changes see http://www.netlib.org/lapack/lapack-3.4.0.html + ------------------------------------------------------------------- Fri Sep 9 13:58:10 UTC 2011 - burnus@net-b.de diff --git a/lapack.spec b/lapack.spec index 8967b99..39dc667 100644 --- a/lapack.spec +++ b/lapack.spec @@ -19,17 +19,15 @@ Name: lapack -BuildRequires: gcc-fortran +BuildRequires: doxygen gcc-fortran python Summary: Linear Algebra Package -Version: 3.3.1 +Version: 3.4.0 Release: 3 License: Public Domain, Freeware Group: Development/Libraries/Parallel Source0: lapack-%{version}.tar.bz2 -Source1: manpages.tar.bz2 Source99: lapack-rpmlintrc Patch1: lapack-3.2.2.patch -Patch2: ila-bound-fix.patch Url: http://www.netlib.org/lapack/ Requires: blas = %{version} Requires: liblapack3 = %{version} @@ -151,8 +149,6 @@ Authors: %prep %setup -q %patch1 -%patch2 -tar xjf %{S:1} %build case "$RPM_ARCH" in @@ -165,7 +161,7 @@ make cleanlib make %{?jobs:-j%jobs} blaslib \ OPTS="$RPM_OPT_FLAGS -fPIC" \ NOOPT="$RPM_OPT_FLAGS -O0 -fPIC" -mv blas_LINUX.a libblas_pic.a +mv librefblas.a libblas_pic.a mkdir tmp ( cd tmp; ar x ../libblas_pic.a ) gfortran -shared -Wl,-soname=libblas.so.3 -o libblas.so.%version tmp/*.o @@ -186,12 +182,12 @@ if grep -B15 -A15 FAIL BLAS/*.out; then else true # No failures fi -mv blas_LINUX.a libblas.a +mv librefblas.a libblas.a make cleanlib make %{?jobs:-j%jobs} lapacklib \ OPTS="$RPM_OPT_FLAGS -fPIC" \ NOOPT="$RPM_OPT_FLAGS -O0 -fPIC" -mv lapack_LINUX.a liblapack_pic.a +mv liblapack.a liblapack_pic.a mkdir tmp ( cd tmp; ar x ../liblapack_pic.a ) gfortran -shared -Wl,-soname=liblapack.so.3 -o liblapack.so.%version tmp/*.o -L. -lblas @@ -201,7 +197,7 @@ make cleanlib make %{?jobs:-j%jobs} lapacklib \ OPTS="$RPM_OPT_FLAGS" \ NOOPT="$RPM_OPT_FLAGS -O0" -ln -s libblas.a blas_LINUX.a +ln -s libblas.a librefblas.a make lapack_testing \ OPTS="$RPM_OPT_FLAGS $PRECFLAGS" \ NOOPT="$RPM_OPT_FLAGS $PRECFLAGS -O0" @@ -213,7 +209,35 @@ if grep -B15 -A15 FAIL TESTING/*.out; then else true # No failures fi -mv lapack_LINUX.a liblapack.a +# Create man pages - and do some cleanup +make man +rm -f DOCS/man/man3/*tst* +rm -f DOCS/man/man3/TST* +rm -f DOCS/man/man3/MYSUB.3 +rm -f DOCS/man/man3/INSTALL_lsame.f.3 +rm -f DOCS/man/man3/xerbla.f.3 +rm -f DOCS/man/man3/xerbla_array.f.3 +rm -f DOCS/man/man3/*_.3 +rm -f DOCS/man/man3/dsecnd_*.3 +rm -f DOCS/man/man3/DSECND.3 +rm -f DOCS/man/man3/second_*3 +rm -f DOCS/man/man3/SECOND.3 +rm -f DOCS/man/man3/LAPACK_version.f.3 +rm -f DOCS/man/man3/SRC_ilaver.f.3 +rm -f DOCS/man/man3/SRC_xerbla.f.3 +rm -f DOCS/man/man3/SRC_xerbla_array.f.3 +rm -f DOCS/man/man3/SLAMC2.3.gz +rm -f DOCS/man/man3/SLAMC3.3.gz +rm -f DOCS/man/man3/SLAMC4.3.gz +rm -f DOCS/man/man3/SLAMC5.3.gz +rm -f DOCS/man/man3/DLAMC2.3.gz +rm -f DOCS/man/man3/DLAMC3.3.gz +rm -f DOCS/man/man3/DLAMC4.3.gz +rm -f DOCS/man/man3/DLAMC5.3.gz +mv DOCS/man/man3/BLAS_SRC_lsame.f.3 DOCS/man/man3/lsame.f.3 +mv DOCS/man/man3/BLAS_SRC_xerbla.f.3 DOCS/man/man3/xerbla.f.3 +mv DOCS/man/man3/BLAS_SRC_xerbla_array.f.3 DOCS/man/man3/xerbla_array.f.3 +mv DOCS/man/man3/INSTALL_ilaver.f.3 DOCS/man/man3/ilaver.f.3 %install install -d $RPM_BUILD_ROOT/%{_libdir} @@ -227,29 +251,44 @@ ln -s libblas.so.%version $RPM_BUILD_ROOT/%{_libdir}/libblas.so install -m 755 liblapack.so.%version $RPM_BUILD_ROOT/%{_libdir} ln -s liblapack.so.%version $RPM_BUILD_ROOT/%{_libdir}/liblapack.so.3 ln -s liblapack.so.%version $RPM_BUILD_ROOT/%{_libdir}/liblapack.so -# remove duplicate manpages -rm manpages/man/manl/xerbla.l -rm manpages/man/manl/xerbla_array.l -rm manpages/man/manl/lsame.l -rm manpages/man/manl/zdrot.l -rm manpages/man/manl/csrot.l -# remove bogus files -rm manpages/blas/man/manl/ssyrk.txt_new -rm manpages/blas/man/manl/intro_blas1.man -# move and rename manpages install -d $RPM_BUILD_ROOT%{_mandir}/man3 -function CopyFile { - NEW_FILENAME=$(basename $1 .l).3 - install -m 0644 $1 $RPM_BUILD_ROOT%{_mandir}/man3/$NEW_FILENAME -} -for MANFILE in manpages/blas/man/manl/*.l; do - CopyFile $MANFILE -done -for MANFILE in manpages/man/manl/*.l; do - CopyFile $MANFILE -done -find manpages/blas/man/manl -type f -printf "%{_mandir}/man3/%f\n" | sed -e 's/.l$/.3.gz/' > blasmans -find manpages/man/manl -type f -printf "%{_mandir}/man3/%f\n" | sed -e 's/.l$/.3.gz/' > lapackmans +install -m 0644 DOCS/man/man3/*.3 $RPM_BUILD_ROOT%{_mandir}/man3/ +find BLAS/SRC/ -name \*.f -type f -printf "%{_mandir}/man3/%f.3.gz\n" \ + > blasmans +find BLAS/SRC/ -name \*.f -type f -printf "%f\n" \ + | tr 'a-z' 'A-Z' |sed -e 's#\(.*\).F#'%{_mandir}/man3/'\1.3.gz#' \ + >> blasmans +find SRC/ -name \*.f -type f -printf "%{_mandir}/man3/%f.3.gz\n" \ + | grep -v -E 'lsame.f|sceil.f|xerbla.f|xerbla_array.f' \ + | sort -u > lapackmans +find SRC/ -name \*.f -type f -printf "%f\n" \ + | grep -v -E 'sceil.f|xerbla.f|xerbla_array.f' \ + | tr 'a-z' 'A-Z' |sed -e 's#\(.*\).F#'%{_mandir}/man3/'\1.3.gz#' \ + | sort -u >> lapackmans +echo %{_mandir}/man3/SLAMC1.3.gz >> lapackmans +echo %{_mandir}/man3/SLAMC2.3.gz >> lapackmans +echo %{_mandir}/man3/SLAMC3.3.gz >> lapackmans +echo %{_mandir}/man3/SLAMC4.3.gz >> lapackmans +echo %{_mandir}/man3/SLAMC5.3.gz >> lapackmans +echo %{_mandir}/man3/SLAMCH.3.gz >> lapackmans +echo %{_mandir}/man3/DLAMC1.3.gz >> lapackmans +echo %{_mandir}/man3/DLAMC2.3.gz >> lapackmans +echo %{_mandir}/man3/DLAMC3.3.gz >> lapackmans +echo %{_mandir}/man3/DLAMC4.3.gz >> lapackmans +echo %{_mandir}/man3/DLAMC5.3.gz >> lapackmans +echo %{_mandir}/man3/DLAMCH.3.gz >> lapackmans +echo %{_mandir}/man3/slamch.f.3.gz >> lapackmans +echo %{_mandir}/man3/slamchf77.f.3.gz >> lapackmans +echo %{_mandir}/man3/dlamch.f.3.gz >> lapackmans +echo %{_mandir}/man3/dlamchf77.f.3.gz >> lapackmans +ln -s SLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/SLAMC2.3.gz +ln -s SLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/SLAMC4.3.gz +ln -s SLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/SLAMC5.3.gz +ln -s SLAMCH.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/SLAMC3.3.gz +ln -s DLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/DLAMC2.3.gz +ln -s DLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/DLAMC4.3.gz +ln -s DLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/DLAMC5.3.gz +ln -s DLAMCH.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/DLAMC3.3.gz %post -n libblas3 -p /sbin/ldconfig diff --git a/manpages.tar.bz2 b/manpages.tar.bz2 deleted file mode 100644 index 05c4e9b..0000000 --- a/manpages.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:18ea32f5d93732ffe6e033b3f8d10a1c31ec04ecaec1443ab1859bac71acc496 -size 691541