OpenMathLib / OpenBLAS

OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
http://www.openblas.net
BSD 3-Clause "New" or "Revised" License
6.29k stars 1.49k forks source link

lapack test failures on sandybridge #125

Closed nolta closed 12 years ago

nolta commented 12 years ago

Is this normal?

System details: ubuntu 10.04, gcc 4.7.1, core i7-3820

---------------- Testing LAPACK Routines ----------------

-- Detailed results are stored in testing_results.txt

------------------------- REAL              ------------------------

-->  Testing REAL              Nonsymmetric Eigenvalue Problem [ snep.out ]
 SHS:    2 out of  1764 tests failed to pass the threshold
 SHS:    3 out of  1764 tests failed to pass the threshold
 SHS:    3 out of  1764 tests failed to pass the threshold
-->  Tests passed: 3528
-->  Tests failing to pass the threshold: 8

-->  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:    1 out of  1764 tests failed to pass the threshold
 CHS:    2 out of  1764 tests failed to pass the threshold
 CHS:    2 out of  1764 tests failed to pass the threshold
-->  Tests passed: 3528
-->  Tests failing to pass the threshold: 5

-->  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:    687 out of   4896 tests failed to pass the threshold
-->  Tests passed: 290052
-->  Tests failing to pass the threshold: 1178

-->  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     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%)    
xianyi commented 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

nolta commented 12 years ago

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%)    
xianyi commented 12 years ago

Hi @nolta ,

Thank you for the report. Do you use single thread or multi-threading ?

Thanks

Xianyi

nolta commented 12 years ago

USE_THREAD=1

nolta commented 12 years ago

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%)    
xianyi commented 12 years ago

Hi ,

Could you provide the full output with USE_THREAD=0 on gist?

We will investigate this issue.

Thanks

Xianyi

nolta commented 12 years ago

https://gist.github.com/3102655

ViralBShah commented 12 years ago

How do I run the LAPACK tests?

nolta commented 12 years ago
$ cd openblas-v0.2.2/lapack-3.4.1
$ make lapack_testing
ViralBShah commented 12 years ago

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%)    
ViralBShah commented 12 years ago

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

xianyi commented 12 years ago

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

zhenyuez commented 12 years ago

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

xianyi commented 12 years ago

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

ViralBShah commented 12 years ago

Does the fix in #130 help improve things here?

xianyi commented 12 years ago

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.

xianyi commented 12 years ago

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%)    
ViralBShah commented 12 years ago

@xianyi I am trying this out now.

ViralBShah commented 12 years ago

All julia lapack tests that were failing earlier are now passing for me. Using clang 4.0 on OS X 10.7.4.

xianyi commented 12 years ago

Hi @ViralBShah ,

Thank you for the report. I will release this version next week.

Xianyi