Another small improvement of the automatic test. C.S.

git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2783 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
sbraccia 2006-02-08 00:35:34 +00:00
parent 8609fb3e06
commit 5fdc2d4cac
1 changed files with 16 additions and 1 deletions

View File

@ -971,7 +971,8 @@ SUBROUTINE check_para_diag_efficiency()
IMPLICIT NONE
!
INTEGER :: dim, dim_pool, i, j, m, m_min
REAL(DP) :: time_para, time_serial
REAL(DP) :: time_para, time_serial, delta_t, delta_t_old
LOGICAL :: lfirst
REAL(DP), ALLOCATABLE :: ar(:,:), vr(:,:)
COMPLEX(DP), ALLOCATABLE :: ac(:,:), vc(:,:)
REAL(DP), ALLOCATABLE :: e(:)
@ -998,6 +999,8 @@ SUBROUTINE check_para_diag_efficiency()
!
END IF
!
lfirst = .TRUE.
!
DO dim = m_min, nbndx, m
!
dim_pool = dim / nproc_pool
@ -1092,6 +1095,8 @@ SUBROUTINE check_para_diag_efficiency()
CALL mp_bcast( time_para, ionode_id )
CALL mp_bcast( time_serial, ionode_id )
!
delta_t = time_para - time_serial
!
IF ( time_para < time_serial ) THEN
!
use_para_diago = .TRUE.
@ -1099,8 +1104,18 @@ SUBROUTINE check_para_diag_efficiency()
!
EXIT
!
ELSE IF ( .NOT. lfirst .AND. delta_t > delta_t_old ) THEN
!
! ... the parallel diagonalizer is getting slower and slower
!
EXIT
!
END IF
!
lfirst = .FALSE.
!
delta_t_old = delta_t
!
END DO
!
IF ( ionode ) THEN