mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-19 19:59:43 +00:00
Fix errata listed at http://math-atlas.sourceforge.net/errata.html and
bump portrevision. Submitted by: bf <bf2006a@yahoo.com>
This commit is contained in:
parent
10999ff234
commit
c33f0d8ede
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=186882
@ -10,7 +10,7 @@
|
||||
|
||||
PORTNAME= atlas
|
||||
PORTVERSION= 3.6.0
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= math
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
|
||||
|
14
math/atlas/files/patch-ATL_cmmJIK.c
Normal file
14
math/atlas/files/patch-ATL_cmmJIK.c
Normal file
@ -0,0 +1,14 @@
|
||||
http://math-atlas.sourceforge.net/errata.html
|
||||
Error in complex gemm for A*A^T.
|
||||
|
||||
--- src/blas/gemm/ATL_cmmJIK.c Mon Dec 22 09:08:00 2003
|
||||
+++ src/blas/gemm/ATL_cmmJIK.c Wed Mar 7 00:26:46 2007
|
||||
@@ -190,7 +190,7 @@
|
||||
pA = ATL_AlignPtr(vB);
|
||||
if (TA == AtlasNoTrans)
|
||||
Mjoin(PATL,row2blkT2_a1)(M, K, A, lda, pA, alpha);
|
||||
- else Mjoin(PATL,col2blk_a1)(K, M, A, lda, pA, alpha);
|
||||
+ else Mjoin(PATL,col2blk2_a1)(K, M, A, lda, pA, alpha);
|
||||
/*
|
||||
* Can't write directly to C if alpha is not one
|
||||
*/
|
14
math/atlas/files/patch-ATL_dmm4x4x8_US.c
Normal file
14
math/atlas/files/patch-ATL_dmm4x4x8_US.c
Normal file
@ -0,0 +1,14 @@
|
||||
http://math-atlas.sourceforge.net/errata.html
|
||||
Error in UltraSPARC cleanup
|
||||
|
||||
--- tune/blas/gemm/CASES/ATL_dmm4x4x8_US.c Mon Dec 22 09:12:04 2003
|
||||
+++ tune/blas/gemm/CASES/ATL_dmm4x4x8_US.c Wed Mar 7 02:57:37 2007
|
||||
@@ -272,7 +272,7 @@
|
||||
!
|
||||
! For K == 1, we never enter the loop at all
|
||||
!
|
||||
-#if (KB != 2)
|
||||
+#if (KB != 8)
|
||||
#if KB == 0
|
||||
subcc Kstart, %g0, %g0
|
||||
bz KDRAIN
|
13
math/atlas/files/patch-Make.top
Normal file
13
math/atlas/files/patch-Make.top
Normal file
@ -0,0 +1,13 @@
|
||||
http://math-atlas.sourceforge.net/errata.html
|
||||
make kill from topdir removes libraries
|
||||
|
||||
--- Make.top Mon Dec 22 09:06:32 2003
|
||||
+++ Make.top Wed Mar 7 02:15:31 2007
|
||||
@@ -211,7 +211,6 @@
|
||||
rm -rf src/blas/reference/level1/$(arch)
|
||||
rm -rf src/auxil/$(arch)
|
||||
rm -rf src/testing/$(arch)
|
||||
- rm -rf lib/$(arch)
|
||||
rm -rf bin/$(arch)
|
||||
|
||||
killall :
|
27
math/atlas/files/patch-USIII.flg
Normal file
27
math/atlas/files/patch-USIII.flg
Normal file
@ -0,0 +1,27 @@
|
||||
http://math-atlas.sourceforge.net/errata.html
|
||||
Error in compiler flags for gcc/USIII arch defaults
|
||||
|
||||
--- tune/blas/gemm/CASES/ccases.flg Mon Dec 22 09:12:07 2003
|
||||
+++ tune/blas/gemm/CASES/ccases.flg Wed Mar 7 03:06:39 2007
|
||||
@@ -5,7 +5,7 @@
|
||||
-mcpu=ultrasparc -mtune=ultrasparc -fomit-frame-pointer -O
|
||||
306 192 4 4 8 0 4 4 4 8 ATL_mm4x4x8p.c "R. Clint Whaley" \
|
||||
gcc
|
||||
--O -fomit-frame-pointer -fno-schedule-insns -fno-schedule-insns2
|
||||
+-mcpu=ultrasparc -mtune=ultrasparc -O -fomit-frame-pointer -fno-schedule-insns -fno-schedule-insns2
|
||||
307 192 4 4 16 1 0 4 4 16 ATL_smm4x4x16_av.c "R. Clint Whaley"
|
||||
308 192 4 4 4 1 0 4 4 4 ATL_smm4x4x4_av.c "R. Clint Whaley"
|
||||
309 16 0 0 4 1 0 4 4 4 ATL_smmMNCU_av.c "R. Clint Whaley"
|
||||
|
||||
--- tune/blas/gemm/CASES/scases.flg Mon Dec 22 09:12:07 2003
|
||||
+++ tune/blas/gemm/CASES/scases.flg Wed Mar 7 03:08:48 2007
|
||||
@@ -5,7 +5,7 @@
|
||||
-mcpu=ultrasparc -mtune=ultrasparc -fomit-frame-pointer -O
|
||||
306 192 4 4 8 0 4 4 4 8 ATL_mm4x4x8p.c "R. Clint Whaley" \
|
||||
gcc
|
||||
--O -fomit-frame-pointer -fno-schedule-insns -fno-schedule-insns2
|
||||
+-mcpu=ultrasparc -mtune=ultrasparc -O -fomit-frame-pointer -fno-schedule-insns -fno-schedule-insns2
|
||||
307 192 4 4 16 1 0 4 4 16 ATL_smm4x4x16_av.c "R. Clint Whaley"
|
||||
308 192 4 4 4 1 0 4 4 4 ATL_smm4x4x4_av.c "R. Clint Whaley"
|
||||
309 16 0 0 4 1 0 4 4 4 ATL_smmMNCU_av.c "R. Clint Whaley"
|
||||
|
@ -180,3 +180,18 @@
|
||||
fprintf(fpout, " LIBS = %s\n\n", LIBS);
|
||||
|
||||
fprintf(fpout,
|
||||
|
||||
http://math-atlas.sourceforge.net/errata.html
|
||||
String overrun in config for long compiler paths
|
||||
|
||||
--- config.c Mon Dec 22 09:06:32 2003
|
||||
+++ config.c Wed Mar 7 02:08:34 2007
|
||||
@@ -3411,7 +3411,7 @@
|
||||
char LIBS[256];
|
||||
char TAR[256], GZIP[256], GUNZIP[256], PMAKE[128];
|
||||
|
||||
- char comp[64], cflg[512], ln[512], tnam[256], archdef[256], mmdef[256];
|
||||
+ char comp[512], cflg[512], ln[512], tnam[256], archdef[256], mmdef[256];
|
||||
char BC[256], BCFLAGS[256];
|
||||
int GOGO=0, L2IsKnown=0, Use3DNow=0, TuneL1=1;
|
||||
int USEDEFL1=0;
|
||||
|
220
math/atlas/files/patch-ilaenv.f
Normal file
220
math/atlas/files/patch-ilaenv.f
Normal file
@ -0,0 +1,220 @@
|
||||
http://math-atlas.sourceforge.net/errata.html
|
||||
Large blocking factors hurt LAPACK performance for small N
|
||||
|
||||
--- interfaces/lapack/F77/src/ilaenv.f Mon Dec 22 09:07:51 2003
|
||||
+++ interfaces/lapack/F77/src/ilaenv.f Mon Mar 5 12:41:41 2007
|
||||
@@ -7,7 +7,7 @@
|
||||
* June 30, 1999
|
||||
*
|
||||
* -- Modified by R. Clint Whaley for ATLAS Fortran77 LAPACK interface,
|
||||
-* 1999
|
||||
+* 1999, 2006
|
||||
*
|
||||
* .. Scalar Arguments ..
|
||||
CHARACTER*( * ) NAME, OPTS
|
||||
@@ -111,6 +111,7 @@
|
||||
CHARACTER*3 C3
|
||||
CHARACTER*6 SUBNAM
|
||||
INTEGER I, IC, IZ, NB, NBMIN, NX
|
||||
+ INTEGER MN, ATLNB
|
||||
* ..
|
||||
* .. Intrinsic Functions ..
|
||||
INTRINSIC CHAR, ICHAR, INT, MIN, REAL
|
||||
@@ -207,13 +208,10 @@
|
||||
* ISPEC = 1: block size
|
||||
*
|
||||
* ATLAS sets default blocking factor to the internal blocking factor of
|
||||
-* GEMM. In routines such as QR where unblocked code addresses a panel
|
||||
-* (as opposed to a NBxNB block as in POTF2), this will often be too large
|
||||
-* to provide the optimal performance due to the slowness of the panel
|
||||
-* factorization. Asymptotically, however, you will want it at least
|
||||
-* this big. Therefore, we choose this NB as default since how much smaller
|
||||
-* an NB is required is very problem size and system architecture
|
||||
-* dependent. Note that the recursive routines provided by ATLAS
|
||||
+* GEMM. For particular routines, we then examine input parameters to
|
||||
+* see if we should reduce it (for instance, to ensure that we don't
|
||||
+* spend too much time in the unblocked level-2 portion of the algorithm).
|
||||
+* Note that the recursive routines provided by ATLAS
|
||||
* (presently, LU & Cholesky) do not need this value.
|
||||
*
|
||||
NB = 60
|
||||
@@ -226,6 +224,179 @@
|
||||
ELSE IF (DCPLX) THEN
|
||||
CALL ATL_F77WRAP_ZGETNB(NB)
|
||||
ENDIF
|
||||
+ ATLNB = NB
|
||||
+*
|
||||
+* Find minimum dimension of problem: don't want NB bigger than that
|
||||
+*
|
||||
+ MN = N1
|
||||
+ IF (N2 .GT. 0) THEN
|
||||
+ IF (MN .GT. N2) MN = N2
|
||||
+ IF (N3 .GT. 0) THEN
|
||||
+ IF (MN .GT. N3) MN = N3
|
||||
+ IF (N4 .GT. 0) THEN
|
||||
+ IF (MN .GT. N4) MN = N4
|
||||
+ END IF
|
||||
+ END IF
|
||||
+ END IF
|
||||
+*
|
||||
+* Make sure NB is not close to size of entire dimension, unless smallest
|
||||
+* dimension is so small you might as well use unblocked code the whole way
|
||||
+*
|
||||
+ IF (MN .LE. 3) THEN
|
||||
+ NB = MN;
|
||||
+ ELSE IF (NB*5 .GT. MN) THEN
|
||||
+ IF (MN .LT. 16) THEN
|
||||
+ IF (MN .LT. 8) THEN
|
||||
+ NB = 2
|
||||
+ ELSE
|
||||
+ NB = 4
|
||||
+ END IF
|
||||
+ ELSE
|
||||
+ NB = (MN / 4)
|
||||
+ IF (NB .GT. 4) THEN
|
||||
+ NB = (NB/4)*4
|
||||
+ ENDIF
|
||||
+ END IF
|
||||
+ END IF
|
||||
+ IF( C2.EQ.'GE' ) THEN
|
||||
+ IF( C3.EQ.'TRF' ) THEN
|
||||
+ NB = NB
|
||||
+*
|
||||
+* QR requires extra flops for blocking, so restrain total NB
|
||||
+*
|
||||
+ ELSE IF( C3.EQ.'QRF' .OR. C3.EQ.'RQF' .OR. C3.EQ.'LQF' .OR.
|
||||
+ $ C3.EQ.'QLF' ) THEN
|
||||
+ IF (NB .GT. 80) THEN
|
||||
+ IF( SNAME ) THEN
|
||||
+ NB = 60
|
||||
+ ELSE
|
||||
+ NB = 40
|
||||
+ END IF
|
||||
+ END IF
|
||||
+ ELSE IF( C3.EQ.'HRD' ) THEN
|
||||
+ IF (NB .GT. 80) THEN
|
||||
+ IF( SNAME ) THEN
|
||||
+ NB = 60
|
||||
+ ELSE
|
||||
+ NB = 40
|
||||
+ END IF
|
||||
+ END IF
|
||||
+ ELSE IF( C3.EQ.'BRD' ) THEN
|
||||
+ IF (NB .GT. 80) THEN
|
||||
+ IF( SNAME ) THEN
|
||||
+ NB = 60
|
||||
+ ELSE
|
||||
+ NB = 40
|
||||
+ END IF
|
||||
+ END IF
|
||||
+ ELSE IF( C3.EQ.'TRI' ) THEN
|
||||
+ NB = NB
|
||||
+ END IF
|
||||
+ ELSE IF( C2.EQ.'PO' ) THEN
|
||||
+ IF( C3.EQ.'TRF' ) THEN
|
||||
+ NB = NB
|
||||
+ END IF
|
||||
+ ELSE IF( C2.EQ.'SY' ) THEN
|
||||
+ IF( C3.EQ.'TRF' ) THEN
|
||||
+ NB = NB
|
||||
+ ELSE IF( SNAME .AND. C3.EQ.'TRD' ) THEN
|
||||
+ IF (NB .GT. 80) THEN
|
||||
+ IF( SNAME ) THEN
|
||||
+ NB = 60
|
||||
+ ELSE
|
||||
+ NB = 40
|
||||
+ END IF
|
||||
+ END IF
|
||||
+ ELSE IF( SNAME .AND. C3.EQ.'GST' ) THEN
|
||||
+ NB = NB
|
||||
+ END IF
|
||||
+ ELSE IF( CNAME .AND. C2.EQ.'HE' ) THEN
|
||||
+ IF( C3.EQ.'TRF' ) THEN
|
||||
+ NB = NB
|
||||
+ ELSE IF( C3.EQ.'TRD' ) THEN
|
||||
+ IF (NB .GT. 80) THEN
|
||||
+ IF( SNAME ) THEN
|
||||
+ NB = 60
|
||||
+ ELSE
|
||||
+ NB = 40
|
||||
+ END IF
|
||||
+ END IF
|
||||
+ ELSE IF( C3.EQ.'GST' ) THEN
|
||||
+ NB = NB
|
||||
+ END IF
|
||||
+ ELSE IF( SNAME .AND. C2.EQ.'OR' ) THEN
|
||||
+ IF( C3( 1:1 ).EQ.'G' ) THEN
|
||||
+ IF( C4.EQ.'QR' .OR. C4.EQ.'RQ' .OR. C4.EQ.'LQ' .OR.
|
||||
+ $ C4.EQ.'QL' .OR. C4.EQ.'HR' .OR. C4.EQ.'TR' .OR.
|
||||
+ $ C4.EQ.'BR' ) THEN
|
||||
+ IF (NB .GT. 80) NB = 60
|
||||
+ END IF
|
||||
+ ELSE IF( C3( 1:1 ).EQ.'M' ) THEN
|
||||
+ IF( C4.EQ.'QR' .OR. C4.EQ.'RQ' .OR. C4.EQ.'LQ' .OR.
|
||||
+ $ C4.EQ.'QL' .OR. C4.EQ.'HR' .OR. C4.EQ.'TR' .OR.
|
||||
+ $ C4.EQ.'BR' ) THEN
|
||||
+ IF (NB .GT. 80) NB = 60
|
||||
+ END IF
|
||||
+ END IF
|
||||
+ ELSE IF( CNAME .AND. C2.EQ.'UN' ) THEN
|
||||
+ IF( C3( 1:1 ).EQ.'G' ) THEN
|
||||
+ IF( C4.EQ.'QR' .OR. C4.EQ.'RQ' .OR. C4.EQ.'LQ' .OR.
|
||||
+ $ C4.EQ.'QL' .OR. C4.EQ.'HR' .OR. C4.EQ.'TR' .OR.
|
||||
+ $ C4.EQ.'BR' ) THEN
|
||||
+ IF (NB .GT. 80) NB = 40
|
||||
+ END IF
|
||||
+ ELSE IF( C3( 1:1 ).EQ.'M' ) THEN
|
||||
+ IF( C4.EQ.'QR' .OR. C4.EQ.'RQ' .OR. C4.EQ.'LQ' .OR.
|
||||
+ $ C4.EQ.'QL' .OR. C4.EQ.'HR' .OR. C4.EQ.'TR' .OR.
|
||||
+ $ C4.EQ.'BR' ) THEN
|
||||
+ IF (NB .GT. 80) NB = 40
|
||||
+ END IF
|
||||
+ END IF
|
||||
+ ELSE IF( C2.EQ.'GB' ) THEN
|
||||
+ IF( C3.EQ.'TRF' ) THEN
|
||||
+ IF( SNAME ) THEN
|
||||
+ NB = NB
|
||||
+ ELSE
|
||||
+ NB = NB
|
||||
+ END IF
|
||||
+ END IF
|
||||
+ ELSE IF( C2.EQ.'PB' ) THEN
|
||||
+ IF( C3.EQ.'TRF' ) THEN
|
||||
+ IF( SNAME ) THEN
|
||||
+ IF( N2.LE.64 ) THEN
|
||||
+ NB = NB
|
||||
+ ELSE
|
||||
+ NB = NB
|
||||
+ END IF
|
||||
+ ELSE
|
||||
+ IF( N2.LE.64 ) THEN
|
||||
+ NB = NB
|
||||
+ ELSE
|
||||
+ NB = NB
|
||||
+ END IF
|
||||
+ END IF
|
||||
+ END IF
|
||||
+ ELSE IF( C2.EQ.'TR' ) THEN
|
||||
+ IF( C3.EQ.'TRI' ) THEN
|
||||
+ IF( SNAME ) THEN
|
||||
+ NB = NB
|
||||
+ ELSE
|
||||
+ NB = NB
|
||||
+ END IF
|
||||
+ END IF
|
||||
+ ELSE IF( C2.EQ.'LA' ) THEN
|
||||
+ IF( C3.EQ.'UUM' ) THEN
|
||||
+ IF( SNAME ) THEN
|
||||
+ NB = NB
|
||||
+ ELSE
|
||||
+ NB = NB
|
||||
+ END IF
|
||||
+ END IF
|
||||
+ ELSE IF( SNAME .AND. C2.EQ.'ST' ) THEN
|
||||
+ IF( C3.EQ.'EBZ' ) THEN
|
||||
+ NB = 1
|
||||
+ END IF
|
||||
+ END IF
|
||||
*
|
||||
ILAENV = NB
|
||||
RETURN
|
16
math/atlas/files/patch-mmsearch.c
Normal file
16
math/atlas/files/patch-mmsearch.c
Normal file
@ -0,0 +1,16 @@
|
||||
http://math-atlas.sourceforge.net/errata.html
|
||||
Misdetection of nregs causes some x86 installs to go awry.
|
||||
|
||||
--- tune/blas/gemm/mmsearch.c Mon Dec 22 09:11:57 2003
|
||||
+++ tune/blas/gemm/mmsearch.c Wed Mar 7 02:42:27 2007
|
||||
@@ -822,6 +822,10 @@
|
||||
int lat, NO1D=0;
|
||||
double mf0, mf1, mf;
|
||||
|
||||
+ #if defined(ATL_GAS_x8632) || defined(ATL_GAS_x8664)
|
||||
+ return(0);
|
||||
+ #endif
|
||||
+
|
||||
if (pre == 'z') pre = 'd';
|
||||
else if (pre == 'c') pre = 's';
|
||||
|
13
math/atlas/files/patch-tfc.c
Normal file
13
math/atlas/files/patch-tfc.c
Normal file
@ -0,0 +1,13 @@
|
||||
http://math-atlas.sourceforge.net/errata.html
|
||||
Install dies in tfc / ?Xover.h is incomplete
|
||||
--- tune/blas/gemm/tfc.c Mon Dec 22 09:11:57 2003
|
||||
+++ tune/blas/gemm/tfc.c Wed Mar 7 02:01:20 2007
|
||||
@@ -55,7 +55,7 @@
|
||||
double time00();
|
||||
|
||||
#define DENMAT 175
|
||||
-#define MAXALLOC (3*1024*1024*8)
|
||||
+#define MAXALLOC (8*1024*1024*8)
|
||||
|
||||
#ifdef ATL_DeclareSlens
|
||||
F77_INTEGER ATL_Slen1, ATL_Slen2;
|
Loading…
Reference in New Issue
Block a user