Hello,
I have a few more defects noticed in LAPACK 3.2.1 to report:
1. Hanging could occur in ?gebal if a NaN is in input matrix. Hanging occurs in
loop 160 (lines 266-275 for dgebal), because exit condition is always fail in
the case and the loop become infinite.
Fix could be like following:
Adding DISNAN in External Functions list:
???? ?LOGICAL??????????? LSAME, DISNAN
???? ?EXTERNAL?????????? LSAME, DISNAN
And adding NaN check in the LOOP:
? 160??? CONTINUE
???? ????IF( C.GE.G .OR. MAX( F, C, CA ).GE.SFMAX2 .OR.
???? $?????? MIN( R, G, RA ).LE.SFMIN2 )GO TO 170
???? ????IF( DISNAN( C+F+CA+R+G+RA ) ) THEN
*
*?????????? Exit if NaN to avoid infinite loop
*
???? ???????INFO = -3
???? ???????CALL XERBLA( 'DGEBAL', -INFO )
???? ???????RETURN
???? ????END IF
???? ????F = F*SCLFAC
???? ????C = C*SCLFAC
???? ????CA = CA*SCLFAC
???? ????R = R / SCLFAC
???? ????G = G / SCLFAC
???? ????RA = RA / SCLFAC
???? ????GO TO 160
2. In ?laed8 routines an output parameter GIVPTR stays uninitialized in case of
quick exit (n.eq.0) or if the rank-1 modifier is small enough (also returns
before initializing GIVPTR). This could lead to an unspecified code behavior
(usually sigfault) when IWORK array on entry to ?stedc is not zeroed (or at
least some IWORK entries which used in ?laed7 for GIVPTR).
Fix here is simple, just move line GIVPTR = 0 in the beginning of ?LAED8, for
example right after testing of input parameters.
3. In STFSM at lines 348-249 an extra argument after matrix A. The argument
obviously causes a crash of SGEMM call due parameters inconsistency if compiler
reads more than 72 columns of source.
Currently:
CALL SGEMM( 'T', 'N', M1, N, M2, -ONE, A( M1 ), M,
+ M, B( M1, 0 ), LDB, ALPHA, B, LDB )
Should be:
CALL SGEMM( 'T', 'N', M1, N, M2, -ONE, A( M1 ),
+ M, B( M1, 0 ), LDB, ALPHA, B, LDB )
PS. Sorry if you see the message twice. Previous one from 12/29/2009 seems not
to be delivered, or at least not appeared at
http://icl.cs.utk.edu/lapack-forum/archives/lapack/.
W.B.R.
Alexander
--------------------------------------------------------------------
Closed Joint Stock Company Intel A/O
Registered legal address: Krylatsky Hills Business Park,
17 Krylatskaya Str., Bldg 4, Moscow 121614,
Russian Federation
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
|