mirror of https://gitlab.com/QEF/q-e.git
170 lines
4.4 KiB
Fortran
170 lines
4.4 KiB
Fortran
!
|
|
! Copyright (C) 2001-2004 PWSCF group
|
|
! This file is distributed under the terms of the
|
|
! GNU General Public License. See the file `License'
|
|
! in the root directory of the present distribution,
|
|
! or http://www.gnu.org/copyleft/gpl.txt .
|
|
!
|
|
!----------------------------------------------------------------------------
|
|
SUBROUTINE print_clock_pw()
|
|
!---------------------------------------------------------------------------
|
|
!
|
|
! ... this routine prints out the clocks at the end of the run
|
|
! ... it tries to construct the calling tree of the program.
|
|
!
|
|
USE io_global, ONLY : stdout
|
|
USE control_flags, ONLY : isolve, use_para_diago
|
|
USE force_mod, ONLY : lforce, lstres
|
|
USE mp_global, ONLY : mpime, root
|
|
!
|
|
IMPLICIT NONE
|
|
!
|
|
!
|
|
IF ( mpime /= root ) &
|
|
OPEN( UNIT = stdout, FILE = '/dev/null', STATUS = 'UNKNOWN' )
|
|
!
|
|
WRITE( stdout, * )
|
|
!
|
|
CALL print_clock( 'PWSCF' )
|
|
CALL print_clock( 'init_run' )
|
|
CALL print_clock( 'electrons' )
|
|
!
|
|
IF ( lforce ) CALL print_clock( 'forces' )
|
|
IF ( lstres ) CALL print_clock( 'stress' )
|
|
!
|
|
WRITE( stdout, * )
|
|
!
|
|
CALL print_clock( 'electrons' )
|
|
CALL print_clock( 'c_bands' )
|
|
CALL print_clock( 'sum_band' )
|
|
CALL print_clock( 'v_of_rho' )
|
|
CALL print_clock( 'newd' )
|
|
!
|
|
#ifdef DEBUG_NEWD
|
|
WRITE( stdout,*) "nhm*(nhm+1)/2 = ", nhm*(nhm+1)/2, nhm
|
|
WRITE( stdout,*) "nbrx*(nbrx+1)/2*lmaxq = ", nbrx*(nbrx+1)/2*lmaxq, nbrx,lmaxq
|
|
!
|
|
CALL print_clock( 'newd:fftvg' )
|
|
CALL print_clock( 'newd:qvan2' )
|
|
CALL print_clock( 'newd:int1' )
|
|
CALL print_clock( 'newd:int2' )
|
|
#endif
|
|
!
|
|
CALL print_clock( 'mix_rho' )
|
|
!
|
|
WRITE( stdout, * )
|
|
!
|
|
CALL print_clock( 'c_bands' )
|
|
CALL print_clock( 'init_us_2' )
|
|
CALL print_clock( 'cegterg' )
|
|
CALL print_clock( 'ccgdiagg' )
|
|
CALL print_clock( 'diis' )
|
|
!
|
|
WRITE( stdout, * )
|
|
!
|
|
CALL print_clock( 'sum_band' )
|
|
CALL print_clock( 'becsum' )
|
|
!
|
|
CALL print_clock( 'addusdens' )
|
|
!
|
|
#ifdef DEBUG_ADDUSDENS
|
|
CALL print_clock( 'addus:qvan2' )
|
|
CALL print_clock( 'addus:strf' )
|
|
CALL print_clock( 'addus:aux2' )
|
|
CALL print_clock( 'addus:aux' )
|
|
#endif
|
|
!
|
|
WRITE( stdout, * )
|
|
!
|
|
CALL print_clock( 'wfcrot' )
|
|
CALL print_clock( 'wfcrot1' )
|
|
CALL print_clock( 'cegterg' )
|
|
CALL print_clock( 'ccdiagg' )
|
|
CALL print_clock( 'cdiisg' )
|
|
!
|
|
IF ( isolve == 0 ) THEN
|
|
!
|
|
CALL print_clock( 'h_psi' )
|
|
CALL print_clock( 'g_psi' )
|
|
CALL print_clock( 'overlap' )
|
|
CALL print_clock( 'cdiaghg' )
|
|
CALL print_clock( 'update' )
|
|
CALL print_clock( 'last' )
|
|
!
|
|
IF ( use_para_diago ) CALL print_clock( 'cgramg1' )
|
|
!
|
|
WRITE( stdout, * )
|
|
!
|
|
CALL print_clock( 'h_psi' )
|
|
CALL print_clock( 'init' )
|
|
CALL print_clock( 'firstfft' )
|
|
CALL print_clock( 'secondfft' )
|
|
CALL print_clock( 'add_vuspsi' )
|
|
CALL print_clock( 's_psi' )
|
|
!
|
|
ELSE IF ( isolve == 1 ) THEN
|
|
!
|
|
CALL print_clock( 'h_1psi' )
|
|
CALL print_clock( 's_1psi' )
|
|
CALL print_clock( 'cdiaghg' )
|
|
!
|
|
WRITE( stdout, * )
|
|
!
|
|
CALL print_clock( 'h_1psi' )
|
|
CALL print_clock( 'init' )
|
|
CALL print_clock( 'firstfft' )
|
|
CALL print_clock( 'secondfft' )
|
|
CALL print_clock( 'add_vuspsi' )
|
|
!
|
|
ELSE
|
|
!
|
|
CALL print_clock( 'h_psi' )
|
|
CALL print_clock( 's_psi' )
|
|
CALL print_clock( 'g_psi' )
|
|
CALL print_clock( 'cdiaghg' )
|
|
CALL print_clock( 'cgramg1' )
|
|
!
|
|
WRITE( stdout, * )
|
|
!
|
|
CALL print_clock( 'h_psi' )
|
|
CALL print_clock( 'init' )
|
|
CALL print_clock( 'firstfft' )
|
|
CALL print_clock( 'secondfft' )
|
|
CALL print_clock( 'add_vuspsi' )
|
|
!
|
|
END IF
|
|
!
|
|
WRITE( stdout, * )
|
|
WRITE( stdout, '(5X,"General routines")' )
|
|
!
|
|
CALL print_clock( 'ccalbec' )
|
|
CALL print_clock( 'cft3' )
|
|
CALL print_clock( 'cft3s' )
|
|
CALL print_clock( 'interpolate' )
|
|
CALL print_clock( 'davcio' )
|
|
!
|
|
WRITE( stdout, * )
|
|
!
|
|
#if defined (__PARA)
|
|
WRITE( stdout, '(5X,"Parallel routines")' )
|
|
!
|
|
CALL print_clock( 'reduce' )
|
|
CALL print_clock( 'fft_scatter' )
|
|
CALL print_clock( 'poolreduce' )
|
|
#endif
|
|
!
|
|
#ifdef EXX
|
|
WRITE( stdout, '(5X,"EXX routines")' )
|
|
!
|
|
CALL print_clock( 'exx_grid' )
|
|
CALL print_clock( 'exxinit' )
|
|
CALL print_clock( 'vexx' )
|
|
CALL print_clock( 'exxenergy' )
|
|
CALL print_clock( 'exxen2' )
|
|
CALL print_clock ('cycleig')
|
|
#endif
|
|
!
|
|
RETURN
|
|
!
|
|
END SUBROUTINE print_clock_pw
|