mirror of https://gitlab.com/QEF/q-e.git
204 lines
5.4 KiB
Fortran
204 lines
5.4 KiB
Fortran
!
|
|
! Copyright (C) 2001-2006 Quantum-ESPRESSO 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 force_mod, ONLY : lforce, lstres
|
|
USE mp_global, ONLY : mpime, root
|
|
USE grid_paw_variables, ONLY : okpaw
|
|
!
|
|
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' )
|
|
CALL print_clock( 'update_pot' )
|
|
!
|
|
IF ( lforce ) CALL print_clock( 'forces' )
|
|
IF ( lstres ) CALL print_clock( 'stress' )
|
|
!
|
|
WRITE( stdout, * )
|
|
CALL print_clock( 'qpointlist' )
|
|
CALL print_clock( 'realus:boxes' )
|
|
CALL print_clock( 'realus:spher' )
|
|
CALL print_clock( 'realus:qsave' )
|
|
!
|
|
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( 'v_h' )
|
|
CALL print_clock( 'v_xc' )
|
|
CALL print_clock( 'newd' )
|
|
!
|
|
#ifdef DEBUG_NEWD
|
|
!
|
|
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( 'diagh' )
|
|
CALL print_clock( 'diaghg' )
|
|
CALL print_clock( 'choldc' )
|
|
CALL print_clock( 'inversion' )
|
|
CALL print_clock( 'paragemm' )
|
|
!
|
|
CALL print_clock( 'update' )
|
|
CALL print_clock( 'last' )
|
|
!
|
|
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( 'h_psi_meta' )
|
|
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' )
|
|
CALL print_clock( 'h_psi_meta' )
|
|
!
|
|
ELSE
|
|
!
|
|
CALL print_clock( 'h_psi' )
|
|
CALL print_clock( 's_psi' )
|
|
CALL print_clock( 'g_psi' )
|
|
CALL print_clock( 'cdiaghg' )
|
|
CALL print_clock( 'cholortho' )
|
|
!
|
|
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( 'h_psi_meta' )
|
|
!
|
|
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
|
|
!
|
|
IF ( okpaw ) THEN
|
|
WRITE( stdout, '(5X,"PAW routines")' )
|
|
call print_clock ('init_prad')
|
|
call print_clock ('paw_prod_p')
|
|
call print_clock ('one-charge')
|
|
call print_clock ('one-pot')
|
|
call print_clock ('pvan2')
|
|
call print_clock ('set_paw_rhoc')
|
|
call print_clock ('v_h_grid')
|
|
call print_clock ('newd_paw')
|
|
call print_clock ('init_pawvloc')
|
|
call print_clock ('vloc_of_g_no')
|
|
call print_clock ('paw_setlocal')
|
|
! radial routines:
|
|
CALL print_clock ('PAW_energy')
|
|
CALL print_clock ('PAW_rho_lm')
|
|
CALL print_clock ('PAW_h_energy')
|
|
CALL print_clock ('PAW_sph_int')
|
|
END IF
|
|
!
|
|
RETURN
|
|
!
|
|
END SUBROUTINE print_clock_pw
|