Print correct CPU time for runs of more than 100h (PG)

git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1396 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
giannozz 2004-10-25 16:40:56 +00:00
parent 59d48dd531
commit 20013fd024
4 changed files with 191 additions and 135 deletions

View File

@ -1,3 +1,46 @@
25 Oct 2004 removed call to check()
workarounds for g95 bug [Gerardo]
Print correct CPU time for runs of more than 100h (PG)
19 Oct 2004 Minor format changes: examples updated (GB)
15 Oct 2004 - small cleanup in FPMD
- added XML-like library module (iotk_module version 2.4)
written by Giovanni Bussi
- added pw_export PP utility to convert restart/punch file
to portable XML format, still experimental, to compile it:
make export (for the time being is not included among the
"all", make all does not compile it)
- memory usage optimized when using SIC
- bug fix in SIC calculation
(CC)
14 Oct 2004 - ncpp2upf.f90 and cpmd2upf.f90: patch from Axel applied
- newd.f90 in the PWNC moved to PW. The merging was already done.
(AdC)
- work on FPMD for the merging with CP ( grid dimension )
- bug fix ( ion randomization )
- SIC updated (CC)
13 Oct 2004 - small manual fixes (AdC)
- small output changes (CS)
- Several improvements of the string dynamics.
Added a use_multistep input variable that allows fourier
modes to be gradually included.
Added a langevin opt_scheme in which the string performs
a langevin dynamics in the path space.
In the langevin scheme a canonical sampling of the initial
and final configurations can also be done "on the fly"
setting first_last_opt=.TRUE. (C.S.)
- Fixed some small bugs in the reset history procedure (C.S.)
11 Oct 2004 bug fix for projected-DOS calculation in lda+U case (SF)
BUG FIXED in NON COLLINEAR case: in non collinear case the
inversion symmetry is not always present because of the
presence of magnetic field in the Hamiltonian. So in case
of nosym the generation of points in -K (recipr. space)
must not be excluded (AMC)
10 Oct 2004 - Add an extra input variable rc for PAW calculation (in efg.x)
to be able to specify the radius of the augmentation region for
atom type i and orbital momentum l rc(i,l)
@ -22,6 +65,8 @@
In the present status it require both V(excited) and V(GS)
to be defined in the preceeding SCF calculation. (SdG)
06 Oct 2004 confuigure: revert default to dynamic linking [Gerardo]
28 Sep 2004 release.sh script updated: Raman/ added (PG)
SUN compilation problem in mp.f90 (PG)
More cleanup of parallel variables and pwcom/phcom references.

View File

@ -186,7 +186,7 @@ SUBROUTINE print_this_clock( n )
REAL(KIND=DP) :: scnds
INTEGER :: n
REAL(KIND=DP) :: elapsed_cpu_time, nsec
INTEGER :: nhour, nmin
INTEGER :: nday, nhour, nmin
!
!
IF ( t0(n) == notrunning ) THEN
@ -216,12 +216,18 @@ SUBROUTINE print_this_clock( n )
#endif
#endif
IF ( n == 1 ) THEN
! ... The first clock is written as hour/min/sec
nhour = elapsed_cpu_time / 3600
nmin = ( elapsed_cpu_time - 3600 * nhour ) / 60
nsec = ( elapsed_cpu_time - 3600 * nhour ) - 60 * nmin
! ... The first clock is written as days/hour/min/sec
nday = elapsed_cpu_time / 86400
nsec = elapsed_cpu_time - 86400 * nday
nhour = nsec / 3600
nsec = nsec - 3600 * nhour
nmin = nsec / 60
nsec = nsec - 60 * nmin
!
IF ( nhour > 0 ) THEN
IF ( nday > 0 ) THEN
WRITE( stdout, '(5X,A12," : ",3X,I2,"d",3X,I2,"h",I2, "m CPU time"/)')&
clock_label(n), nday, nhour, nmin
ELSE IF ( nhour > 0 ) THEN
WRITE( stdout, '(5X,A12," : ",3X,I2,"h",I2,"m CPU time"/)') &
clock_label(n), nhour, nmin
ELSE IF ( nmin > 0 ) THEN

View File

@ -7,145 +7,146 @@
!
!-----------------------------------------------------------------------
subroutine print_clock_ph
!-----------------------------------------------------------------------
!-----------------------------------------------------------------------
USE io_global, ONLY : stdout
use pwcom
USE kinds, only : DP
use phcom
implicit none
WRITE( stdout, * )
call print_clock ('PHONON')
WRITE( stdout, * ) ' INITIALIZATION: '
call print_clock ('phq_setup')
call print_clock ('phq_init')
WRITE( stdout, * )
call print_clock ('phq_init')
if (nlcc_any) call print_clock ('set_drhoc')
call print_clock ('init_vloc')
call print_clock ('init_us_1')
!call print_clock ('init_us_2')
call print_clock ('newd')
call print_clock ('dvanqq')
call print_clock ('drho')
if ((epsil.or.zue).and.okvan) call print_clock ('cmpt_qdipol')
if(epsil) then
USE io_global, ONLY : stdout
USE us, only: okvan
USE control_ph
USE nlcc_ph, ONLY: nlcc_any
implicit none
!
WRITE( stdout, * )
WRITE( stdout, * ) ' DIELECTRIC CONSTANT AND EFFECTIVE CHARGES:'
call print_clock ('solve_e')
call print_clock ('dielec')
call print_clock ('zstar_eu')
call print_clock ('PHONON')
WRITE( stdout, * ) ' INITIALIZATION: '
call print_clock ('phq_setup')
call print_clock ('phq_init')
WRITE( stdout, * )
call print_clock ('phq_init')
if (nlcc_any) call print_clock ('set_drhoc')
call print_clock ('init_vloc')
call print_clock ('init_us_1')
!call print_clock ('init_us_2')
call print_clock ('newd')
call print_clock ('dvanqq')
call print_clock ('drho')
if ((epsil.or.zue).and.okvan) call print_clock ('cmpt_qdipol')
if(epsil) then
WRITE( stdout, * )
WRITE( stdout, * ) ' DIELECTRIC CONSTANT AND EFFECTIVE CHARGES:'
call print_clock ('solve_e')
call print_clock ('dielec')
call print_clock ('zstar_eu')
#ifdef TIMING_ZSTAR_US
WRITE( stdout, * )
call print_clock ('zstar_eu_us')
call print_clock ('zstar_us_1')
call print_clock ('zstar_us_2')
call print_clock ('zstar_us_3')
call print_clock ('zstar_us_4')
call print_clock ('zstar_us_5')
WRITE( stdout, * )
call print_clock ('zstar_eu_us')
call print_clock ('zstar_us_1')
call print_clock ('zstar_us_2')
call print_clock ('zstar_us_3')
call print_clock ('zstar_us_4')
call print_clock ('zstar_us_5')
#endif
#ifdef TIMING_ADD_DKMDS
WRITE( stdout, * )
call print_clock ('add_dkmds')
call print_clock ('add_dkmds1')
call print_clock ('add_dkmds2')
call print_clock ('add_dkmds3')
call print_clock ('add_dkmds4')
call print_clock ('add_dkmds5')
call print_clock ('add_dkmds6')
WRITE( stdout, * )
call print_clock ('add_dkmds')
call print_clock ('add_dkmds1')
call print_clock ('add_dkmds2')
call print_clock ('add_dkmds3')
call print_clock ('add_dkmds4')
call print_clock ('add_dkmds5')
call print_clock ('add_dkmds6')
#endif
endif
if(trans) then
endif
if(trans) then
WRITE( stdout, * )
WRITE( stdout, * ) ' DYNAMICAL MATRIX:'
call print_clock ('dynmat0')
call print_clock ('phqscf')
call print_clock ('dynmatrix')
WRITE( stdout, * )
call print_clock ('phqscf')
call print_clock ('solve_linter')
call print_clock ('drhodv')
if (zue) call print_clock('add_zstar_ue')
if (zue) call print_clock('add_zstar_1')
if (zue.and.okvan) call print_clock('add_zstar_us')
endif
WRITE( stdout, * )
WRITE( stdout, * ) ' DYNAMICAL MATRIX:'
call print_clock ('dynmat0')
call print_clock ('phqscf')
call print_clock ('dynmatrix')
call print_clock ('dynmat_us')
call print_clock ('addusdynmat1')
call print_clock ('d2ionq')
if (nlcc_any) call print_clock ('dynmatcc')
WRITE( stdout, * )
call print_clock ('dynmat_us')
call print_clock ('addusdynmat')
WRITE( stdout, * )
call print_clock ('phqscf')
call print_clock ('solve_linter')
call print_clock ('drhodv')
if (zue) call print_clock('add_zstar_ue')
if (zue) call print_clock('add_zstar_1')
if (zue.and.okvan) call print_clock('add_zstar_us')
endif
WRITE( stdout, * )
call print_clock ('dynmat0')
call print_clock ('dynmat_us')
call print_clock ('addusdynmat1')
call print_clock ('d2ionq')
if (nlcc_any) call print_clock ('dynmatcc')
WRITE( stdout, * )
call print_clock ('dynmat_us')
call print_clock ('addusdynmat')
WRITE( stdout, * )
call print_clock ('phqscf')
call print_clock ('solve_linter')
WRITE( stdout, * )
call print_clock ('solve_linter')
call print_clock ('dvqpsi_us')
call print_clock ('ortho')
call print_clock ('cgsolve')
call print_clock ('incdrhoscf')
call print_clock ('addusddens')
call print_clock ('vpsifft')
call print_clock ('dv_of_drho')
call print_clock ('mix_pot')
call print_clock ('ef_shift')
call print_clock ('localdos')
WRITE( stdout, * )
call print_clock ('solve_linter')
call print_clock ('dvqpsi_us')
call print_clock ('ortho')
call print_clock ('cgsolve')
call print_clock ('incdrhoscf')
call print_clock ('addusddens')
call print_clock ('vpsifft')
call print_clock ('dv_of_drho')
call print_clock ('mix_pot')
call print_clock ('ef_shift')
call print_clock ('localdos')
#ifdef __PARA
call print_clock ('psymdvscf')
call print_clock ('psymdvscf')
#else
call print_clock ('symdvscf')
call print_clock ('symdvscf')
#endif
call print_clock ('newdq')
call print_clock ('adddvscf')
call print_clock ('newdq')
call print_clock ('adddvscf')
call print_clock ('drhodvus')
WRITE( stdout, * )
call print_clock ('dvqpsi_us')
call print_clock ('drhodvus')
WRITE( stdout, * )
call print_clock ('dvqpsi_us')
call print_clock ('dvqpsi_us_on')
WRITE( stdout, * )
call print_clock ('cgsolve')
call print_clock ('dvqpsi_us_on')
WRITE( stdout, * )
call print_clock ('cgsolve')
call print_clock ('ch_psi')
WRITE( stdout, * )
call print_clock ('ch_psi')
call print_clock ('first')
call print_clock ('h_psiq')
call print_clock ('ch_psi')
WRITE( stdout, * )
call print_clock ('ch_psi')
call print_clock ('first')
call print_clock ('h_psiq')
call print_clock ('last')
WRITE( stdout, * )
call print_clock ('h_psiq')
call print_clock ('firstfft')
call print_clock ('product')
call print_clock ('secondfft')
call print_clock ('last')
WRITE( stdout, * )
call print_clock ('h_psiq')
call print_clock ('firstfft')
call print_clock ('product')
call print_clock ('secondfft')
call print_clock ('add_vuspsi')
WRITE( stdout, * )
call print_clock ('incdrhoscf')
call print_clock ('add_vuspsi')
WRITE( stdout, * )
call print_clock ('incdrhoscf')
call print_clock ('addusdbec')
WRITE( stdout, * )
call print_clock ('drhodvus')
call print_clock ('addusdbec')
WRITE( stdout, * )
call print_clock ('drhodvus')
call print_clock ('addusddort')
WRITE( stdout, * )
WRITE( stdout, * ) ' General routines'
call print_clock ('ccalbec')
call print_clock ('cft3')
call print_clock ('cft3s')
call print_clock ('cinterpolate')
call print_clock ('davcio')
call print_clock ('write_rec')
WRITE( stdout, * )
call print_clock ('addusddort')
WRITE( stdout, * )
WRITE( stdout, * ) ' General routines'
call print_clock ('ccalbec')
call print_clock ('cft3')
call print_clock ('cft3s')
call print_clock ('cinterpolate')
call print_clock ('davcio')
call print_clock ('write_rec')
WRITE( stdout, * )
#ifdef __PARA
WRITE( stdout, * ) ' Parallel routines'
call print_clock ('reduce')
call print_clock ('poolreduce')
WRITE( stdout, * ) ' Parallel routines'
call print_clock ('reduce')
call print_clock ('poolreduce')
#endif
return
return
end subroutine print_clock_ph

28
TODO
View File

@ -1,22 +1,22 @@
TODO LIST - 7 Sept 2004
TODO LIST - 25 Oct 2004
(does not include new developments!)
INSTALLATION/PORTING
- expand configure to cover as many configurations as possible
- __FUJITSU vs FUJ64, SUN, HITACHI
- __FUJITSU vs FUJ64, HITACHI, NEC-SX5
COMMON
- adding/removing/modifying input variables is way too complex
- adding/removing/modifying input variables is too complex
- time steps in fs (both in input and in output)
- data files: modifying their format (e.g. adding a variable)
is way too complex right now
add version information for future compatibility
what is the status of file compatibility between PW and CP/FPMD?
is not documented and way too complex right now
Add version information for future compatibility
What is the status of file compatibility between PW and CP/FPMD?
- fix shift in eigenvalues between CP/FPMD and PW
The eigenvalues should be the same
@ -49,13 +49,13 @@ COMMON
PW
- cleanup of parallel stuff: removal of old-style variables
What about SHMEM ?
- cleanup of parallel stuff: finish removal of old-style variables
Put SHMEM stuff into a single module (low priority) ?
- remove iswitch, replace with existing (minus_q, lscf)
or new logical variables
- maximize merge of colinear (PW) and with noncolinear (PWNC) code
- maximize merge of colinear (PW) and noncolinear (PWNC) code
- add traceback in error (error_handler module)
@ -96,7 +96,8 @@ PW
POSTPROCESSING
- complete postprocessing in Gamma case
- postprocessing with CP/FPMD
- postprocessing with CP/FPMD?
- stm_wfc_matching not working
@ -108,8 +109,11 @@ POSTPROCESSING
PH, D3, Gamma, Raman
- simplified phonon dispersion: phonon might read the same input as PWi
and read specific input data in the &phonon namelist
- Bug with 4-dimensional irreps is still there!
- finish simplification of phonon dispersion calculation:
move all phonon-specific stuff (symmetry etc) from
pw into phonon?
- same input for Gamma and PH; Gamma output compatible with Raman