mirror of https://gitlab.com/QEF/q-e.git
112 lines
3.1 KiB
Fortran
112 lines
3.1 KiB
Fortran
!
|
|
! Copyright (C) 2001 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, imix
|
|
USE force_mod, ONLY: lforce, lstres
|
|
implicit none
|
|
|
|
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*lqx = ", nbrx*(nbrx+1)/2*lqx, nbrx,lqx
|
|
call print_clock ('newd:fftvg')
|
|
call print_clock ('newd:qvan2')
|
|
call print_clock ('newd:int1')
|
|
call print_clock ('newd:int2')
|
|
#endif
|
|
if (imix.ge.0) then
|
|
call print_clock ('mix_rho')
|
|
else
|
|
call print_clock ('mix_pot')
|
|
endif
|
|
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 ('sumbec')
|
|
|
|
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')
|
|
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
|
|
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')
|
|
endif
|
|
WRITE( stdout, * )
|
|
WRITE( stdout, * ) ' General routines'
|
|
call print_clock ('ccalbec')
|
|
call print_clock ('cft3')
|
|
call print_clock ('cft3s')
|
|
call print_clock ('interpolate')
|
|
call print_clock ('davcio')
|
|
WRITE( stdout, * )
|
|
#ifdef __PARA
|
|
WRITE( stdout, * ) ' Parallel routines'
|
|
call print_clock ('reduce')
|
|
call print_clock ('fft_scatter')
|
|
! call print_clock('poolreduce')
|
|
#endif
|
|
return
|
|
|
|
end subroutine print_clock_pw
|
|
|