mirror of https://gitlab.com/QEF/q-e.git
There is a bug in ATLAS libraries: when calling ZGEMM, if beta is zero
than C matrix needs not be initialized in input. ATLAS bug add beta*C even when beta is zero, hence if C contains some NaN they propagate to entire code causing random "cdiaghg info =/= 0" errors. This workaround just sets C (which here is betapsi) to complex zero. LP git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4942 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
parent
5ec1b8367e
commit
1321c21473
|
@ -127,6 +127,8 @@ CONTAINS
|
||||||
IF ( nkb /= SIZE (betapsi,1) .OR. m > SIZE (betapsi, 2) ) &
|
IF ( nkb /= SIZE (betapsi,1) .OR. m > SIZE (betapsi, 2) ) &
|
||||||
CALL errore ('calbec', 'size mismatch', 3)
|
CALL errore ('calbec', 'size mismatch', 3)
|
||||||
!
|
!
|
||||||
|
betapsi = 0._dp ! should not be necessary, but there's a bug in ATLAS
|
||||||
|
!
|
||||||
IF ( m == 1 ) THEN
|
IF ( m == 1 ) THEN
|
||||||
!
|
!
|
||||||
CALL ZGEMV( 'C', npw, nkb, (1.0_DP,0.0_DP), beta, npwx, psi, 1, &
|
CALL ZGEMV( 'C', npw, nkb, (1.0_DP,0.0_DP), beta, npwx, psi, 1, &
|
||||||
|
|
Loading…
Reference in New Issue