fix BLAS with patch from R

This commit is contained in:
Tom Callaway 2014-07-07 14:13:03 -04:00
parent 29005a029c
commit 38cae455a0
2 changed files with 105 additions and 1 deletions

View File

@ -0,0 +1,99 @@
diff -up lapack-3.5.0/BLAS/SRC/dgbmv.f.R lapack-3.5.0/BLAS/SRC/dgbmv.f
--- lapack-3.5.0/BLAS/SRC/dgbmv.f.R 2011-11-03 16:32:56.000000000 -0400
+++ lapack-3.5.0/BLAS/SRC/dgbmv.f 2014-07-07 11:50:48.257175853 -0400
@@ -312,18 +312,18 @@
JX = KX
IF (INCY.EQ.1) THEN
DO 60 J = 1,N
- IF (X(JX).NE.ZERO) THEN
+c IF (X(JX).NE.ZERO) THEN
TEMP = ALPHA*X(JX)
K = KUP1 - J
DO 50 I = MAX(1,J-KU),MIN(M,J+KL)
Y(I) = Y(I) + TEMP*A(K+I,J)
50 CONTINUE
- END IF
+c END IF
JX = JX + INCX
60 CONTINUE
ELSE
DO 80 J = 1,N
- IF (X(JX).NE.ZERO) THEN
+c IF (X(JX).NE.ZERO) THEN
TEMP = ALPHA*X(JX)
IY = KY
K = KUP1 - J
@@ -331,7 +331,7 @@
Y(IY) = Y(IY) + TEMP*A(K+I,J)
IY = IY + INCY
70 CONTINUE
- END IF
+c END IF
JX = JX + INCX
IF (J.GT.KU) KY = KY + INCY
80 CONTINUE
diff -up lapack-3.5.0/BLAS/SRC/dgemm.f.R lapack-3.5.0/BLAS/SRC/dgemm.f
--- lapack-3.5.0/BLAS/SRC/dgemm.f.R 2011-11-03 16:32:56.000000000 -0400
+++ lapack-3.5.0/BLAS/SRC/dgemm.f 2014-07-07 11:50:48.257175853 -0400
@@ -311,12 +311,12 @@
60 CONTINUE
END IF
DO 80 L = 1,K
- IF (B(L,J).NE.ZERO) THEN
+c IF (B(L,J).NE.ZERO) THEN
TEMP = ALPHA*B(L,J)
DO 70 I = 1,M
C(I,J) = C(I,J) + TEMP*A(I,L)
70 CONTINUE
- END IF
+c END IF
80 CONTINUE
90 CONTINUE
ELSE
@@ -353,12 +353,12 @@
140 CONTINUE
END IF
DO 160 L = 1,K
- IF (B(J,L).NE.ZERO) THEN
+c IF (B(J,L).NE.ZERO) THEN
TEMP = ALPHA*B(J,L)
DO 150 I = 1,M
C(I,J) = C(I,J) + TEMP*A(I,L)
150 CONTINUE
- END IF
+c END IF
160 CONTINUE
170 CONTINUE
ELSE
diff -up lapack-3.5.0/BLAS/SRC/dgemv.f.R lapack-3.5.0/BLAS/SRC/dgemv.f
--- lapack-3.5.0/BLAS/SRC/dgemv.f.R 2011-11-03 16:32:56.000000000 -0400
+++ lapack-3.5.0/BLAS/SRC/dgemv.f 2014-07-07 11:50:48.257175853 -0400
@@ -278,24 +278,24 @@
JX = KX
IF (INCY.EQ.1) THEN
DO 60 J = 1,N
- IF (X(JX).NE.ZERO) THEN
+c IF (X(JX).NE.ZERO) THEN
TEMP = ALPHA*X(JX)
DO 50 I = 1,M
Y(I) = Y(I) + TEMP*A(I,J)
50 CONTINUE
- END IF
+c END IF
JX = JX + INCX
60 CONTINUE
ELSE
DO 80 J = 1,N
- IF (X(JX).NE.ZERO) THEN
+c IF (X(JX).NE.ZERO) THEN
TEMP = ALPHA*X(JX)
IY = KY
DO 70 I = 1,M
Y(IY) = Y(IY) + TEMP*A(I,J)
IY = IY + INCY
70 CONTINUE
- END IF
+c END IF
JX = JX + INCX
80 CONTINUE
END IF

View File

@ -10,7 +10,7 @@
Summary: Numerical linear algebra package libraries Summary: Numerical linear algebra package libraries
Name: lapack Name: lapack
Version: %{mediumver}.0 Version: %{mediumver}.0
Release: 6%{?dist} Release: 7%{?dist}
License: BSD License: BSD
Group: System Environment/Libraries Group: System Environment/Libraries
URL: http://www.netlib.org/lapack/ URL: http://www.netlib.org/lapack/
@ -25,6 +25,7 @@ Patch4: lapack-3.4.1-lapacke-shared.patch
Patch5: lapack-3.4.1-lapacke-disable-testing-functions.patch Patch5: lapack-3.4.1-lapacke-disable-testing-functions.patch
Patch6: lapack-3.5.0-lapacke-matgenobj.patch Patch6: lapack-3.5.0-lapacke-matgenobj.patch
Patch7: lapack-3.5.0-lapacke-tmglib.patch Patch7: lapack-3.5.0-lapacke-tmglib.patch
Patch8: lapack-3.5.0-R-blas-fixes.patch
BuildRequires: gcc-gfortran BuildRequires: gcc-gfortran
%description %description
@ -153,6 +154,7 @@ BLAS static libraries (64bit INTEGER).
%patch5 -p1 -b .disable-functions %patch5 -p1 -b .disable-functions
%patch6 -p1 -b .matgenobj %patch6 -p1 -b .matgenobj
%patch7 -p1 -b .tmglib %patch7 -p1 -b .tmglib
%patch8 -p1 -b .R
mkdir manpages mkdir manpages
mv man/ manpages/ mv man/ manpages/
@ -448,6 +450,9 @@ ln -sf libblas64.so.%{version} libblas64.so.%{mediumver}
%endif %endif
%changelog %changelog
* Mon Jul 7 2014 Tom Callaway <spot@fedoraproject.org> - 3.5.0-7
- apply BLAS fixes from R
* Thu Jun 19 2014 Tom Callaway <spot@fedoraproject.org> - 3.5.0-6 * Thu Jun 19 2014 Tom Callaway <spot@fedoraproject.org> - 3.5.0-6
- compile in tmglib object files, not static lib - compile in tmglib object files, not static lib