[Bug fortran/19619] New: LAPACK optimisation error
billingd at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Tue Jan 25 02:07:00 GMT 2005
I have an LAPACK testuite failure with 20050124 gfortran on i686-pc-cygwin.
gcd.out has the failure
CGV drivers: 64 out of 1092 tests failed to pass the threshold
with -O2 but not with -O0.
I have narrowed down the input file (below) to find a case that fails for a
2x2 matrix. I will work on isolating the bug and producing a self-contained
test case.
To reproduce:
- build LAPACK with -O2
- ./xeigtstc < cgd_bug.in > cgd_bug.out
####### cgd_bug.in #####
CGV Data for the Complex Nonsymmetric Eigenvalue Driver
1 Number of matrix dimensions
2 Matrix dimensions
1 1 1 2 1 Parameters NB, NBMIN, NXOVER, NS, NBCOL
10 Threshold for test ratios
.FALSE. Put T to test the error exits
0 Code to interpret the seed
CGV 26 Test all 26 matrix types
#### cgd_bug.out ###
Tests of the Generalized Nonsymmetric Eigenvalue Problem Driver CGGEV
LAPACK VERSION 3.0, released June 30, 1999
The following parameter values will be used:
M: 2
N: 2
NB: 1
NBMIN: 1
NX: 1
NS: 2
MAXB: 1
Relative machine underflow is taken to be 0.117549E-37
Relative machine overflow is taken to be 0.340282E+39
Relative machine precision is taken to be 0.596046E-07
Routines pass computational tests if test ratio is less than 10.00
CGV -- Complex Generalized eigenvalue problem driver
Matrix types (see CDRGEV for details):
Special Matrices: (J'=transposed Jordan block)
1=(0,0) 2=(I,0) 3=(0,I) 4=(I,I) 5=(J',J') 6=(diag(J',I), diag(I,J'))
Diagonal Matrices: ( D=diag(0,1,2,...) )
7=(D,I) 9=(large*D, small*I) 11=(large*I, small*D) 13=(large*D, large*I)
8=(I,D) 10=(small*D, large*I) 12=(small*I, large*D) 14=(small*D, small*I)
15=(D, reversed D)
Matrices Rotated by Random Orthogonal Matrices U, V:
16=Transposed Jordan Blocks 19=geometric alpha, beta=0,1
17=arithm. alpha&beta 20=arithmetic alpha, beta=0,1
18=clustered alpha, beta=0,1 21=random alpha, beta=0,1
Large & Small Matrices:
22=(large, small) 23=(small,large) 24=(small,small) 25=(large,large)
26=random O(1) matrices.
Tests performed:
1 = max | ( b A - a B )'*l | / const.,
2 = | |VR(i)| - 1 | / ulp,
3 = max | ( b A - a B )*r | / const.
4 = | |VL(i)| - 1 | / ulp,
5 = 0 if W same no matter if r or l computed,
6 = 0 if l same no matter if l computed,
7 = 0 if r same no matter if r computed,
Matrix order= 2, type=20, seed=1914,1677,3228,1473, result 5 is 8.389E+06
Matrix order= 2, type=22, seed=2020,2295,3604,2829, result 5 is 8.389E+06
Matrix order= 2, type=24, seed=3140, 353,1345, 653, result 5 is 8.389E+06
Matrix order= 2, type=25, seed=3352,1849,3502,3661, result 5 is 8.389E+06
Matrix order= 2, type=26, seed=2749,1691, 257,2573, result 5 is 8.389E+06
CGV drivers: 5 out of 182 tests failed to pass the threshold
-----------------------------------------------------------------------
End of tests
Total time used = 0.00 seconds
--
Summary: LAPACK optimisation error
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: billingd at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-cygwin
GCC host triplet: i686-pc-cygwin
GCC target triplet: i686-pc-cygwin
OtherBugsDependingO 5900
nThis:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19619
More information about the Gcc-bugs
mailing list