CLAPACK fails tests on AMD and Intel PCs (errors > 1E+15)

Open discussion regarding features, bugs, issues, vendors, etc.

CLAPACK fails tests on AMD and Intel PCs (errors > 1E+15)

Postby kwlux » Wed Mar 29, 2006 2:39 pm

Hi,

I've tried multiple times to install CLAPACK, on an AMD Athlon, on an Intel Celeron (P4), using BLAS from CLAPACK and BLAS from ATLAS (Linux-P4SSE2). (I'm using Topologilinux which is based on Slackware 10). No matter what I try, CLAPACK fails the tests - some in a spectacular fashion. Here is what happens:

$ grep fail *.out
csep.out: CST drivers: 1 out of 11664 tests failed to pass the threshold
csep.out: CST: 2 out of 4662 tests failed to pass the threshold
csep.out: CST drivers: 3 out of 11664 tests failed to pass the threshold
csep.out: CST drivers: 1 out of 11664 tests failed to pass the threshold
dgd.out: DGV drivers: 11 out of 1092 tests failed to pass the threshold
dgd.out: DXV drivers: 200 out of 5000 tests failed to pass the threshold
dsvd.out: DBD: 1 out of 5510 tests failed to pass the threshold
sgd.out: SGV drivers: 10 out of 1092 tests failed to pass the threshold
sgd.out: SXV drivers: 37 out of 5000 tests failed to pass the threshold
ssep.out: SST: 1 out of 4662 tests failed to pass the threshold
ssep.out: SST drivers: 1 out of 14256 tests failed to pass the threshold
zgd.out: ZXV drivers: 24 out of 5000 tests failed to pass the threshold
zgg.out: ZGG drivers: 1 out of 1273 tests failed to pass the threshold

if I grep for results > 10:

$ grep E+ *.out | grep result
csep.out: Matrix order= 20, type= 9, seed=3268, 505, 688, 665, result 47 is 8.282E+05
csep.out: Matrix order= 20, type= 9, seed=1052,3651,3662,3633, result 35 is 7.970E+04
csep.out: Matrix order= 20, type= 9, seed=1052,3651,3662,3633, result 36 is 2.466E+06
csep.out: Matrix order= 20, type= 9, seed=1494,3156,1807,2209, result 47 is 8.345E+05
csep.out: Matrix order= 20, type= 9, seed=1494,3156,1807,2209, result 101 is 6.554E+05
csep.out: Matrix order= 20, type= 9, seed=1139,3868,2100,1985, result 47 is 8.134E+05
dgd.out: Matrix order= 6, type= 8, seed= 509,1634,2065,2213, result 5 is 4.504E+15
dgd.out: Matrix order= 6, type=11, seed= 727,3787,3274, 281, result 5 is 4.504E+15
dgd.out: Matrix order= 10, type= 8, seed=3861,2249,1005,3889, result 5 is 4.504E+15
dgd.out: Matrix order= 10, type=11, seed=3545,1921,4077,3533, result 5 is 4.504E+15
dgd.out: Matrix order= 10, type=12, seed=2247,2291, 604,3713, result 5 is 4.504E+15
dgd.out: Matrix order= 15, type= 8, seed=1885, 166, 800, 81, result 5 is 4.504E+15
dgd.out: Matrix order= 15, type=11, seed= 931,1787, 557,2429, result 5 is 4.504E+15
dgd.out: Matrix order= 15, type=12, seed=1754,2291,1219,3873, result 5 is 4.504E+15
dgd.out: Matrix order= 20, type= 8, seed= 624, 693,1681, 9, result 5 is 4.504E+15
dgd.out: Matrix order= 20, type=11, seed= 102,2492,1836, 185, result 5 is 4.504E+15
dgd.out: Matrix order= 20, type=12, seed= 112,1059,2403,2121, result 5 is 4.504E+15
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 1, IWY= 1, result 4 is 3.355E+07
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 1, IWY= 2, result 4 is 3.127E+07
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 1, IWY= 3, result 4 is 1.737E+07
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 1, IWY= 4, result 4 is 2.361E+06
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 2, IWY= 1, result 4 is 3.127E+07
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 2, IWY= 2, result 4 is 3.037E+07
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 2, IWY= 3, result 4 is 1.732E+07
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 2, IWY= 4, result 4 is 2.361E+06
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 3, IWY= 1, result 4 is 1.737E+07
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 3, IWY= 2, result 4 is 1.732E+07
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 3, IWY= 3, result 4 is 1.390E+07
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 3, IWY= 4, result 4 is 2.350E+06
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 4, IWY= 1, result 4 is 2.361E+06
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 4, IWY= 2, result 4 is 2.361E+06
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 4, IWY= 3, result 4 is 2.350E+06
dgd.out: Type= 2, IWA= 5, IWB= 1, IWX= 4, IWY= 4, result 4 is 1.674E+06
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 1, IWY= 1, result 4 is 3.051E+07
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 1, IWY= 2, result 4 is 2.843E+07
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 1, IWY= 3, result 4 is 1.579E+07
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 1, IWY= 4, result 4 is 2.147E+06
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 2, IWY= 1, result 4 is 2.843E+07
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 2, IWY= 2, result 4 is 2.761E+07
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 2, IWY= 3, result 4 is 1.575E+07
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 2, IWY= 4, result 4 is 2.147E+06
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 3, IWY= 1, result 4 is 1.579E+07
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 3, IWY= 2, result 4 is 1.575E+07
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 3, IWY= 3, result 4 is 1.264E+07
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 3, IWY= 4, result 4 is 2.136E+06
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 4, IWY= 1, result 4 is 2.147E+06
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 4, IWY= 2, result 4 is 2.147E+06
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 4, IWY= 3, result 4 is 2.136E+06
dgd.out: Type= 2, IWA= 5, IWB= 2, IWX= 4, IWY= 4, result 4 is 1.522E+06
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 1, IWY= 1, result 4 is 1.678E+07
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 1, IWY= 2, result 4 is 1.564E+07
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 1, IWY= 3, result 4 is 8.688E+06
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 1, IWY= 4, result 4 is 1.181E+06
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 2, IWY= 1, result 4 is 1.564E+07
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 2, IWY= 2, result 4 is 1.519E+07
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 2, IWY= 3, result 4 is 8.663E+06
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 2, IWY= 4, result 4 is 1.181E+06
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 3, IWY= 1, result 4 is 8.688E+06
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 3, IWY= 2, result 4 is 8.663E+06
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 3, IWY= 3, result 4 is 6.952E+06
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 3, IWY= 4, result 4 is 1.175E+06
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 4, IWY= 1, result 4 is 1.181E+06
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 4, IWY= 2, result 4 is 1.181E+06
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 4, IWY= 3, result 4 is 1.175E+06
dgd.out: Type= 2, IWA= 5, IWB= 3, IWX= 4, IWY= 4, result 4 is 8.371E+05
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 1, IWY= 1, result 4 is 3.055E+06
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 1, IWY= 2, result 4 is 2.846E+06
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 1, IWY= 3, result 4 is 1.581E+06
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 1, IWY= 4, result 4 is 2.149E+05
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 2, IWY= 1, result 4 is 2.846E+06
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 2, IWY= 2, result 4 is 2.765E+06
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 2, IWY= 3, result 4 is 1.577E+06
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 2, IWY= 4, result 4 is 2.149E+05
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 3, IWY= 1, result 4 is 1.581E+06
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 3, IWY= 2, result 4 is 1.577E+06
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 3, IWY= 3, result 4 is 1.265E+06
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 3, IWY= 4, result 4 is 2.139E+05
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 4, IWY= 1, result 4 is 2.149E+05
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 4, IWY= 2, result 4 is 2.149E+05
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 4, IWY= 3, result 4 is 2.139E+05
dgd.out: Type= 2, IWA= 5, IWB= 4, IWX= 4, IWY= 4, result 4 is 1.524E+05
dgd.out: Type= 2, IWA= 5, IWB= 5, IWX= 1, IWY= 1, result 4 is 1.158E+04
dgd.out: Type= 2, IWA= 5, IWB= 5, IWX= 1, IWY= 2, result 4 is 1.080E+04
dgd.out: Type= 2, IWA= 5, IWB= 5, IWX= 2, IWY= 1, result 4 is 1.080E+04
dgd.out: Type= 2, IWA= 5, IWB= 5, IWX= 2, IWY= 2, result 4 is 1.049E+04
sgd.out: Matrix order= 6, type= 8, seed= 509,1634,2065,2213, result 5 is 8.389E+06
sgd.out: Matrix order= 6, type=12, seed=1147,1097,1906, 485, result 5 is 8.389E+06
sgd.out: Matrix order= 8, type=11, seed=1066,2722,3024, 733, result 5 is 8.389E+06
sgd.out: Matrix order= 10, type=11, seed=3545,1921,4077,3533, result 5 is 8.389E+06
sgd.out: Matrix order= 10, type=12, seed=2247,2291, 604,3713, result 5 is 8.389E+06
sgd.out: Matrix order= 15, type= 8, seed=1885, 166, 800, 81, result 5 is 8.389E+06
sgd.out: Matrix order= 15, type=11, seed= 931,1787, 557,2429, result 5 is 8.389E+06
sgd.out: Matrix order= 20, type= 8, seed= 624, 693,1681, 9, result 5 is 8.389E+06
sgd.out: Matrix order= 20, type=11, seed= 102,2492,1836, 185, result 5 is 8.389E+06
sgd.out: Matrix order= 20, type=12, seed= 112,1059,2403,2121, result 5 is 8.389E+06
zgg.out: Matrix order= 10, type=16, seed=1391,1307,3721,3961, result 6 is 4.504E+15

Note that some of these fail with errors of 10^6-10^15!!!Assuming I'm reading the .out files correctly.

Apparently this is the reason that one of the programs I want to run fails to converge (adpack for generating basis sets for openmx).

Has anyone ever gotten CLAPACK to install on an x86 machine under linux and have it pass the tests (or at least not fail so spectacularly)?

thanks in advance,
Ken
kwlux
 
Posts: 1
Joined: Wed Mar 29, 2006 6:54 am

Postby Julien Langou » Thu Mar 30, 2006 10:55 am

Hello,

your CLAPACK implementation looks good.

Please have a look at:
http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t=43

The results of the testing of the generalized eigenvalue problem performed with xeigtstd<dgd.in (same with s, z and c) are dependent on the condition number of the problem. The original design of the tester was to take well-condition problem and ill-condition problem. When the problem is ill-conditioned, it is normal to get those large errrors. Thus those failures (in particular in dgd.out) are expected mathematically.

We might change the tester so that it says: error: 1E+6 as expected or something like that to help user at installation.

The other failures are also 'regular' errors on hard case and you would have the same if you would use LAPACK-3.0 (in F77).

Just a remark: with your grep E+ *.out | grep result, you get all the error larger than 1E+05 (not 10).

Now if you are sure that the problem in your application code comes from LAPACK (or CLAPACK). It might be because the latest pacth has not been applied (and actually I am not sure CLAPACK has been updated). You can find the latest pacth for LAPACK at
http://www.netlib.org/lapack-dev/lapack--3.0--patch--10042002.html

Julien
Julien Langou
 
Posts: 734
Joined: Thu Dec 09, 2004 12:32 pm
Location: Denver, CO, USA


Return to User Discussion

Who is online

Users browsing this forum: No registered users and 2 guests