[Lapack] Patches to test suite of BLAS for LAPACK-3.4.0
From: Langou, Julien
Date: Thu, 19 Jan 2012 08:09:55 -0700
Thanks a lot! Good catch ....
We did move to Fortran 90+ intrinsic EPSILON() for LAPACK/SRC (as your probably
know), but indeed we totally
missed to propagate the change to BLAS/TESTING. BLAS/TESTING is indeed
computing EPSILON ala Fortran 77
way ... the computation is inlined .... and does not call xLAMCH .... So (1) we
missed it and (2) an optimized
compiler will likely trash this. See lines 280 to 290 of
LAPACK/BLAS/TESTING/dblat2.f for example.
We will be working on fixing this and let you know when fix. Thanks for
reporting. Much appreciated.
[[[ example of guilty lines: lines 280 to 290 of LAPACK/BLAS/TESTING/dblat2.f
* Compute EPS (the machine precision).
EPS = ONE
IF( DDIFF( ONE + EPS, ONE ).EQ.ZERO )
$ GO TO 100
EPS = HALF*EPS
GO TO 90
EPS = EPS + EPS
WRITE( NOUT, FMT = 9998 )EPS
On Jan 18, 2012, at 3:40 PM, Harald Anlauf wrote:
some tests of the BLAS fail on Intel and AMD processors when
compiling with high optimization level (e.g. gfortran -Ofast).
The reason is that the determination of machine precision in
these tests only works without optimization.
I recommend to always use the Fortran 90+ intrinsic EPSILON()
See the attached for details.
Lapack mailing list