Closed nolta closed 12 years ago
Hi ,
I'm not an expert about LAPACK. According to this thread http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=3213, the test always has some numerical errors. However, I am not sure your error is normal.
Could you test OpenBLAS with NEHALEM target?
Thanks
Xianyi
With TARGET=NEHALEM, i only get 2 failures (vs 4405)
--> LAPACK TESTING SUMMARY <--
Processing LAPACK Testing output found in the TESTING direcory
SUMMARY nb test run numerical error other error
================ =========== ================= ================
REAL 1077227 0 (0.000%) 0 (0.000%)
DOUBLE PRECISION 1076275 1 (0.000%) 0 (0.000%)
COMPLEX 515038 1 (0.000%) 0 (0.000%)
COMPLEX16 552410 0 (0.000%) 0 (0.000%)
--> ALL PRECISIONS 3220950 2 (0.000%) 0 (0.000%)
Hi @nolta ,
Thank you for the report. Do you use single thread or multi-threading ?
Thanks
Xianyi
USE_THREAD=1
If i set USE_THREAD=0, the number of failures falls, but only by 45%
--> LAPACK TESTING SUMMARY <--
Processing LAPACK Testing output found in the TESTING direcory
SUMMARY nb test run numerical error other error
================ =========== ================= ================
REAL 1049952 553 (0.053%) 0 (0.000%)
DOUBLE PRECISION 1069196 669 (0.063%) 0 (0.000%)
COMPLEX 501227 561 (0.112%) 0 (0.000%)
COMPLEX16 543567 657 (0.121%) 0 (0.000%)
--> ALL PRECISIONS 3163942 2440 (0.077%) 0 (0.000%)
Hi ,
Could you provide the full output with USE_THREAD=0 on gist?
We will investigate this issue.
Thanks
Xianyi
How do I run the LAPACK tests?
$ cd openblas-v0.2.2/lapack-3.4.1
$ make lapack_testing
This is what I get, with no change to TARGET or USE_THREAD.
---------------- Testing LAPACK Routines ----------------
-- Detailed results are stored in testing_results.txt
------------------------- REAL ------------------------
--> Testing REAL Nonsymmetric Eigenvalue Problem [ snep.out ]
SHS: 1 out of 1764 tests failed to pass the threshold
SHS: 2 out of 1764 tests failed to pass the threshold
SHS: 2 out of 1764 tests failed to pass the threshold
--> Tests passed: 3528
--> Tests failing to pass the threshold: 5
--> Testing REAL Symmetric Eigenvalue Problem [ ssep.out ]
--> Tests passed: 89520
--> Testing REAL Singular Value Decomposition [ ssvd.out ]
--> Tests passed: 69350
--> Testing REAL Eigen Condition [ sec.out ]
--> Tests passed: 501251
--> Testing REAL Nonsymmetric Eigenvalue [ sed.out ]
--> Tests passed: 12982
--> Testing REAL Nonsymmetric Generalized Eigenvalue Problem [ sgg.out ]
--> Tests passed: 13832
--> Testing REAL Nonsymmetric Generalized Eigenvalue Problem driver [ sgd.out ]
--> Tests passed: 7830
--> Testing REAL Symmetric Eigenvalue Problem [ ssb.out ]
--> Tests passed: 540
--> Testing REAL Symmetric Eigenvalue Generalized Problem [ ssg.out ]
--> Tests passed: 30870
--> Testing REAL Banded Singular Value Decomposition routines [ sbb.out ]
--> Tests passed: 6000
--> Testing REAL Generalized Linear Regression Model routines [ sglm.out ]
--> Tests passed: 48
--> Testing REAL Generalized QR and RQ factorization routines [ sgqr.out ]
--> Tests passed: 1728
--> Testing REAL Generalized Singular Value Decomposition routines [ sgsv.out ]
--> Tests passed: 384
--> Testing REAL CS Decomposition routines [ scsd.out ]
--> Tests passed: 270
--> Testing REAL Constrained Linear Least Squares routines [ slse.out ]
--> Tests passed: 96
--> Testing REAL Linear Equation routines [ stest.out ]
SGE: 219 out of 3653 tests failed to pass the threshold
SGE drivers: 336 out of 4884 tests failed to pass the threshold
--> Tests passed: 312011
--> Tests failing to pass the threshold: 555
--> Testing REAL RFP linear equation routines [ stest_rfp.out ]
--> Tests passed: 13176
------------------------- DOUBLE PRECISION ------------------------
--> Testing DOUBLE PRECISION Nonsymmetric Eigenvalue Problem [ dnep.out ]
--> Tests passed: 8820
--> Testing DOUBLE PRECISION Symmetric Eigenvalue Problem [ dsep.out ]
--> Tests passed: 89520
--> Testing DOUBLE PRECISION Singular Value Decomposition [ dsvd.out ]
--> Tests passed: 69350
--> Testing DOUBLE PRECISION Eigen Condition [ dec.out ]
--> Tests passed: 501251
--> Testing DOUBLE PRECISION Nonsymmetric Eigenvalue [ ded.out ]
--> Tests passed: 12982
--> Testing DOUBLE PRECISION Nonsymmetric Generalized Eigenvalue Problem [ dgg.out ]
--> Tests passed: 13832
--> Testing DOUBLE PRECISION Nonsymmetric Generalized Eigenvalue Problem driver [ dgd.out ]
--> Tests passed: 7830
--> Testing DOUBLE PRECISION Symmetric Eigenvalue Problem [ dsb.out ]
--> Tests passed: 540
--> Testing DOUBLE PRECISION Symmetric Eigenvalue Generalized Problem [ dsg.out ]
--> Tests passed: 30870
--> Testing DOUBLE PRECISION Banded Singular Value Decomposition routines [ dbb.out ]
--> Tests passed: 6000
--> Testing DOUBLE PRECISION Generalized Linear Regression Model routines [ dglm.out ]
--> Tests passed: 48
--> Testing DOUBLE PRECISION Generalized QR and RQ factorization routines [ dgqr.out ]
--> Tests passed: 1728
--> Testing DOUBLE PRECISION Generalized Singular Value Decomposition routines [ dgsv.out ]
--> Tests passed: 384
--> Testing DOUBLE PRECISION CS Decomposition routines [ dcsd.out ]
--> Tests passed: 270
--> Testing DOUBLE PRECISION Constrained Linear Least Squares routines [ dlse.out ]
--> Tests passed: 96
--> Testing DOUBLE PRECISION Linear Equation routines [ dtest.out ]
DGE: 496 out of 3653 tests failed to pass the threshold
DGE drivers: 700 out of 4896 tests failed to pass the threshold
--> Tests passed: 312011
--> Tests failing to pass the threshold: 1196
--> Testing DOUBLE PRECISION Mixed Precision linear equation routines [ dstest.out ]
DSGESV: 130 out of 324 tests failed to pass the threshold
--> Tests passed: 488
--> Tests failing to pass the threshold: 130
--> Testing DOUBLE PRECISION RFP linear equation routines [ dtest_rfp.out ]
--> Tests passed: 13176
------------------------- COMPLEX ------------------------
--> Testing COMPLEX Nonsymmetric Eigenvalue Problem [ cnep.out ]
CHS: 2 out of 1764 tests failed to pass the threshold
CHS: 2 out of 1764 tests failed to pass the threshold
--> Tests passed: 5292
--> Tests failing to pass the threshold: 4
--> Testing COMPLEX Symmetric Eigenvalue Problem [ csep.out ]
--> Tests passed: 77280
--> Testing COMPLEX Singular Value Decomposition [ csvd.out ]
--> Tests passed: 44625
--> Testing COMPLEX Eigen Condition [ cec.out ]
--> Tests passed: 5966
--> Testing COMPLEX Nonsymmetric Eigenvalue [ ced.out ]
--> Tests passed: 12778
--> Testing COMPLEX Nonsymmetric Generalized Eigenvalue Problem [ cgg.out ]
--> Tests passed: 13832
--> Testing COMPLEX Nonsymmetric Generalized Eigenvalue Problem driver [ cgd.out ]
--> Tests passed: 7830
--> Testing COMPLEX Symmetric Eigenvalue Problem [ csb.out ]
--> Tests passed: 540
--> Testing COMPLEX Symmetric Eigenvalue Generalized Problem [ csg.out ]
--> Tests passed: 30870
--> Testing COMPLEX Banded Singular Value Decomposition routines [ cbb.out ]
--> Tests passed: 6000
--> Testing COMPLEX Generalized Linear Regression Model routines [ cglm.out ]
--> Tests passed: 48
--> Testing COMPLEX Generalized QR and RQ factorization routines [ cgqr.out ]
--> Tests passed: 1728
--> Testing COMPLEX Generalized Singular Value Decomposition routines [ cgsv.out ]
--> Tests passed: 384
--> Testing COMPLEX CS Decomposition routines [ ccsd.out ]
--> Tests passed: 270
--> Testing COMPLEX Constrained Linear Least Squares routines [ clse.out ]
--> Tests passed: 96
--> Testing COMPLEX Linear Equation routines [ ctest.out ]
CGE: 491 out of 3653 tests failed to pass the threshold
CGE drivers: 683 out of 4896 tests failed to pass the threshold
--> Tests passed: 290052
--> Tests failing to pass the threshold: 1174
--> Testing COMPLEX RFP linear equation routines [ ctest_rfp.out ]
CTFSM auxiliary routine: 1 out of 7776 tests failed to pass the threshold
--> Tests passed: 5400
--> Tests failing to pass the threshold: 1
------------------------- COMPLEX16 ------------------------
--> Testing COMPLEX16 Nonsymmetric Eigenvalue Problem [ znep.out ]
--> Tests passed: 8820
--> Testing COMPLEX16 Symmetric Eigenvalue Problem [ zsep.out ]
--> Tests passed: 77280
--> Testing COMPLEX16 Singular Value Decomposition [ zsvd.out ]
--> Tests passed: 44625
--> Testing COMPLEX16 Eigen Condition [ zec.out ]
--> Tests passed: 5966
--> Testing COMPLEX16 Nonsymmetric Eigenvalue [ zed.out ]
--> Tests passed: 12778
--> Testing COMPLEX16 Nonsymmetric Generalized Eigenvalue Problem [ zgg.out ]
--> Tests passed: 13832
--> Testing COMPLEX16 Nonsymmetric Generalized Eigenvalue Problem driver [ zgd.out ]
--> Tests passed: 7830
--> Testing COMPLEX16 Symmetric Eigenvalue Problem [ zsb.out ]
--> Tests passed: 540
--> Testing COMPLEX16 Symmetric Eigenvalue Generalized Problem [ zsg.out ]
--> Tests passed: 30870
--> Testing COMPLEX16 Banded Singular Value Decomposition routines [ zbb.out ]
--> Tests passed: 6000
--> Testing COMPLEX16 Generalized Linear Regression Model routines [ zglm.out ]
--> Tests passed: 48
--> Testing COMPLEX16 Generalized QR and RQ factorization routines [ zgqr.out ]
--> Tests passed: 1728
--> Testing COMPLEX16 Generalized Singular Value Decomposition routines [ zgsv.out ]
--> Tests passed: 384
--> Testing COMPLEX16 CS Decomposition routines [ zcsd.out ]
--> Tests passed: 270
--> Testing COMPLEX16 Constrained Linear Least Squares routines [ zlse.out ]
--> Tests passed: 96
--> Testing COMPLEX16 Linear Equation routines [ ztest.out ]
ZGE: 495 out of 3653 tests failed to pass the threshold
ZGE drivers: 693 out of 4896 tests failed to pass the threshold
--> Tests passed: 318836
--> Tests failing to pass the threshold: 1188
--> Testing COMPLEX16 Mixed Precision linear equation routines [ zctest.out ]
ZCGESV: 144 out of 324 tests failed to pass the threshold
--> Tests passed: 488
--> Tests failing to pass the threshold: 144
--> Testing COMPLEX16 RFP linear equation routines [ ztest_rfp.out ]
--> Tests passed: 13176
--> LAPACK TESTING SUMMARY <--
Processing LAPACK Testing output found in the TESTING direcory
SUMMARY nb test run numerical error other error
================ =========== ================= ================
REAL 1063416 560 (0.053%) 0 (0.000%)
DOUBLE PRECISION 1069196 1326 (0.124%) 0 (0.000%)
COMPLEX 502991 1179 (0.234%) 0 (0.000%)
COMPLEX16 543567 1332 (0.245%) 0 (0.000%)
--> ALL PRECISIONS 3179170 4397 (0.138%) 0 (0.000%)
The real issue for me is that julia's tests are failing, which don't fail when openblas is built with gcc. Of course, this could be a bug in julia, and may have nothing to do with openblas.
Hi, I think this issue may be relate to avx flag register in multithreading.
From my iPad
在 2012-7-15,上午10:39,"Viral B. Shah"reply@reply.github.com 写道:
The real issue for me is that julia's tests are failing, which don't fail when openblas is built with gcc. Of course, this could be a bug in julia, and may have nothing to do with openblas.
https://github.com/JuliaLang/julia/issues/1013
Reply to this email directly or view it on GitHub: https://github.com/xianyi/OpenBLAS/issues/125#issuecomment-6988553
Hi:
I am testing with the same result as the first one. I am using gcc 4.6.1 and cpu i5-2500K @4.2Ghz.
--> LAPACK TESTING SUMMARY <--
Processing LAPACK Testing output found in the TESTING direcory
SUMMARY nb test run numerical error other error
================ =========== ================= ================
REAL 1063416 563 (0.053%) 0 (0.000%)
DOUBLE PRECISION 1069196 1326 (0.124%) 0 (0.000%)
COMPLEX 501227 1184 (0.236%) 0 (0.000%)
COMPLEX16 543567 1332 (0.245%) 0 (0.000%)
--> ALL PRECISIONS 3177406 4405 (0.139%) 0 (0.000%)
But the test result on my laptop with Arrandale cpu test has only one error.
--> LAPACK TESTING SUMMARY <--
Processing LAPACK Testing output found in the TESTING direcory
SUMMARY nb test run numerical error other error
================ =========== ================= ================
REAL 1077227 0 (0.000%) 0 (0.000%)
DOUBLE PRECISION 1078039 0 (0.000%) 0 (0.000%)
COMPLEX 515038 1 (0.000%) 0 (0.000%)
COMPLEX16 552410 0 (0.000%) 0 (0.000%)
--> ALL PRECISIONS 3222714 1 (0.000%) 0 (0.000%)
It must has something to do with AVX in sandybridge. zhenyue
Hi Zhenyue,
Thank you for your report.
We are working on this issue now.
Thanks
Xianyi
2012/7/18 zhenyuez < reply@reply.github.com
Hi:
I am testing with the same result as the first one. I am using gcc 4.6.1 and cpu i5-2500K @4.2Ghz.
--> LAPACK TESTING SUMMARY <-- Processing LAPACK Testing output found in the TESTING
direcory SUMMARY nb test run numerical error other error
================ =========== =================
REAL 1063416 563 (0.053%) 0 (0.000%) DOUBLE PRECISION 1069196 1326 (0.124%) 0 (0.000%) COMPLEX 501227 1184 (0.236%) 0 (0.000%) COMPLEX16 543567 1332 (0.245%) 0 (0.000%)
--> ALL PRECISIONS 3177406 4405 (0.139%) 0 (0.000%)
But the test result on my laptop with Arrandale cpu test has only one error.
--> LAPACK TESTING SUMMARY <-- Processing LAPACK Testing output found in the TESTING
direcory SUMMARY nb test run numerical error other error
================ =========== =================
REAL 1077227 0 (0.000%) 0 (0.000%) DOUBLE PRECISION 1078039 0 (0.000%) 0 (0.000%) COMPLEX 515038 1 (0.000%) 0 (0.000%) COMPLEX16 552410 0 (0.000%) 0 (0.000%)
--> ALL PRECISIONS 3222714 1 (0.000%) 0 (0.000%)
It must has something to do with AVX in sandybridge. zhenyue
Reply to this email directly or view it on GitHub: https://github.com/xianyi/OpenBLAS/issues/125#issuecomment-7054704
Does the fix in #130 help improve things here?
Hi @ViralBShah , @zhenyuez , @nolta ,
I just tested develop branch's lapack on our Sandy Bridge server.
Ubuntu 12.04 LTS
Linux ubuntu 3.5.0-1-generic #1-Ubuntu SMP Tue Jun 19 14:24:43 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
OpenBLAS build complete.
OS ... Linux Architecture ... x86_64 BINARY ... 64bit C compiler ... GCC (command line : gcc) Fortran compiler ... GFORTRAN (command line : gfortran) Library Name ... libopenblas_sandybridgep-r0.2.2.a (Multi threaded; Max num-threads is 16)
gcc 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
The results are:
--> LAPACK TESTING SUMMARY <--
Processing LAPACK Testing output found in the TESTING direcory
SUMMARY nb test run numerical error other error
================ =========== ================= ================
REAL 1071935 7 (0.001%) 0 (0.000%)
DOUBLE PRECISION 1078039 0 (0.000%) 0 (0.000%)
COMPLEX 511510 7 (0.001%) 0 (0.000%)
COMPLEX16 552410 0 (0.000%) 0 (0.000%)
--> ALL PRECISIONS 3213894 14 (0.000%) 0 (0.000%)
I don't know whether I fixed this bug or not.
Hi,
I also tested on Mac OS X 10.8 with clang or gcc 4.7.
The outputs are,
Processing LAPACK Testing output found in the TESTING direcory
SUMMARY nb test run numerical error other error
================ =========== ================= ================
REAL 1071935 5 (0.000%) 0 (0.000%)
DOUBLE PRECISION 1078039 0 (0.000%) 0 (0.000%)
COMPLEX 511510 4 (0.001%) 0 (0.000%)
COMPLEX16 552410 0 (0.000%) 0 (0.000%)
--> ALL PRECISIONS 3213894 9 (0.000%) 0 (0.000%)
@xianyi I am trying this out now.
All julia lapack tests that were failing earlier are now passing for me. Using clang 4.0 on OS X 10.7.4.
Hi @ViralBShah ,
Thank you for the report. I will release this version next week.
Xianyi
Is this normal?
System details: ubuntu 10.04, gcc 4.7.1, core i7-3820