Additional timers to track RD timing

This commit is contained in:
Tjerk Straatsma 2002-02-07 00:13:38 +00:00
parent c892d040e9
commit dd72316b0a
6 changed files with 201 additions and 134 deletions

View file

@ -1,5 +1,5 @@
subroutine cf_weight(numw,nums,isat,isml,wbx)
c $Id: cf_main.F,v 1.124 2002-01-15 23:02:50 d3j191 Exp $
c $Id: cf_main.F,v 1.125 2002-02-07 00:13:27 d3j191 Exp $
implicit none
c
#include "cf_common.fh"
@ -1439,6 +1439,7 @@ c
real*8 wm,wmtot
logical skip
c
call timer_start(29)
epmf=zero
skip=.true.
c
@ -1475,12 +1476,16 @@ c
4 continue
3 continue
1 continue
call timer_stop(29)
c
if(skip) return
c
call timer_start(30)
call ga_dgop(mcf_59,wpmf,4*numpmf,'+')
call ga_dgop(mcf_73,xpmf,12*numpmf,'+')
call timer_stop(30)
c
call timer_start(31)
do 6 i=1,numpmf
if(ipmf(i,6).eq.2.and.lpmfc) goto 6
c
@ -1621,6 +1626,7 @@ c write(*,'(a,f12.6,e12.5,3e12.5)') 'Imp:',rv,(ft(3,j),j=1,3)
endif
c
6 continue
call timer_stop(31)
c
return
end
@ -1642,6 +1648,7 @@ c
integer i,j,k
real*8 d,di,dd,dn,dx(3),dfor,df(3),en
c
call timer_start(26)
edrs=zero
c
do 1 i=1,ndrs
@ -1661,9 +1668,13 @@ c
endif
3 continue
1 continue
call timer_stop(26)
c
call timer_start(27)
call ga_dgop(mcf_59,xdrs,6*ndrs,'+')
call timer_stop(27)
c
call timer_start(28)
do 4 i=1,ndrs
dx(1)=xdrs(i,1)-xdrs(i,4)
dx(2)=xdrs(i,2)-xdrs(i,5)
@ -1716,6 +1727,7 @@ c endif
endif
5 continue
4 continue
call timer_stop(28)
c
return
end
@ -1739,6 +1751,7 @@ c
c
integer i,j,ix
c
call timer_start(23)
do 1 i=1,nmul
fmul(i,1)=zero
fmul(i,2)=zero
@ -1761,10 +1774,14 @@ c
2 continue
if(me.gt.0) imul(i,1)=0
1 continue
call timer_stop(23)
c
call timer_start(24)
call ga_dgop(mcf_46,xmul,3*mmult,'+')
call ga_igop(mcf_47,imul,4*mmult,'+')
call timer_stop(24)
c
call timer_start(25)
if(me.eq.0) then
if(nmult(1).gt.0) then
ix=1
@ -1798,9 +1815,13 @@ c
+ xmul,fmul,ess,.true.,.true.,me.eq.0,dbl_mb(i_sti))
endif
endif
call timer_stop(25)
c
call timer_start(24)
call ga_brdcst(mcf_74,fmul,3*mmult*ma_sizeof(mt_dbl,1,mt_byte),0)
call timer_stop(24)
c
call timer_start(25)
do 3 i=1,nmul
do 4 j=1,nums
if(isgan(j).eq.imul(i,1)) then
@ -1810,6 +1831,7 @@ c
endif
4 continue
3 continue
call timer_stop(25)
c
return
end

View file

@ -1,5 +1,5 @@
subroutine pme_chgrid(ipset,xw,nwmloc,xs,isq,nsaloc,epme)
c $Id: pme_grid.F,v 1.22 2002-01-28 21:17:35 d3j191 Exp $
c $Id: pme_grid.F,v 1.23 2002-02-07 00:13:28 d3j191 Exp $
implicit none
c
#include "pme_common.fh"
@ -9,7 +9,7 @@ c
real*8 xw(mwm,3,mwa),xs(msa,3),epme
integer isq(msa)
c
call timer_start(23)
call timer_start(33)
c
call pme_init()
c
@ -17,7 +17,7 @@ c
call cf_pmecor(ipset,xw,nwmloc,xs,isq,nsaloc,ecorr(ipset))
lcorr(ipset)=.true.
endif
call timer_stop(23)
call timer_stop(33)
c
call pme_grid(ipset,xw,nwmloc,xs,isq,nsaloc,
+ int_mb(i_nodp),int_mb(i_knod),int_mb(i_kfr),int_mb(i_kto),
@ -27,32 +27,32 @@ c
c
if(lpnode) then
c
call timer_start(27)
call timer_start(37)
c
call pme_fft(ngx,ngy,ngz,-2,dbl_mb(i_grd2),dbl_mb(i_grd1),
+ int_mb(i_map1),int_mb(i_map2),int_mb(i_knod),imfft)
c
call timer_stop(27)
call timer_start(28)
call timer_stop(37)
call timer_start(38)
c
call cf_epme(int_mb(i_knod),int_mb(i_kfr),int_mb(i_kto),
+ dbl_mb(i_bmod),dbl_mb(i_grd1),mgz,epme)
c
epme=epme+ecorr(ipset)
c
call timer_stop(28)
call timer_start(29)
call timer_stop(38)
call timer_start(39)
c
call pme_sync(nodpme,int_mb(i_nodp))
c
call timer_stop(29)
call timer_start(30)
call timer_stop(39)
call timer_start(40)
c
call pme_fft(ngx,ngy,ngz,1,dbl_mb(i_grd1),dbl_mb(i_grd2),
+ int_mb(i_map1),int_mb(i_map2),int_mb(i_knod),imfft)
c
call timer_stop(30)
call timer_start(31)
call timer_stop(40)
call timer_start(41)
c
call pme_putgrd(dbl_mb(i_grd2))
c
@ -65,13 +65,13 @@ c grid calculation has completed
c
if(me.eq.int_mb(i_nodp)) call pme_flag(0,1,-1)
c
call timer_stop(31)
call timer_stop(41)
endif
c
call timer_start(31)
call timer_start(41)
if(icntrl.eq.1) call ga_sync()
c
call timer_stop(31)
call timer_stop(41)
c
return
end
@ -86,14 +86,14 @@ c
real*8 xw(mwm,3,mwa),xs(msa,3),epme
integer isq(msa)
c
call timer_start(23)
call timer_start(33)
call pme_init()
c
if(.not.lcorr(ipset)) then
call cf_pmecor(ipset,xw,nwmloc,xs,isq,nsaloc,ecorr(ipset))
lcorr(ipset)=.true.
endif
call timer_stop(23)
call timer_stop(33)
c
call pme_grid(ipset,xw,nwmloc,xs,isq,nsaloc,
+ int_mb(i_nodp),int_mb(i_knod),int_mb(i_kfr),int_mb(i_kto),
@ -103,20 +103,20 @@ c
c
if(.not.lpnode) return
c
call timer_start(27)
call timer_start(37)
c
call pme_fft(ngx,ngy,ngz,-2,dbl_mb(i_grd2),dbl_mb(i_grd1),
+ int_mb(i_map1),int_mb(i_map2),int_mb(i_knod),imfft)
c
call timer_stop(27)
call timer_start(28)
call timer_stop(37)
call timer_start(38)
c
call cf_epme(int_mb(i_knod),int_mb(i_kfr),int_mb(i_kto),
+ dbl_mb(i_bmod),dbl_mb(i_grd1),mgz,epme)
c
epme=epme+ecorr(ipset)
c
call timer_stop(28)
call timer_stop(38)
c
return
end
@ -141,7 +141,7 @@ c
integer ilsl,ihsl,jlsl,jhsl
logical lset,lgrid
c
call timer_start(24)
call timer_start(34)
c
lset=.true.
c
@ -166,8 +166,8 @@ c
if(lgrid) then
lnode(node+1)=1
c
call timer_stop(24)
call timer_start(25)
call timer_stop(34)
call timer_start(35)
c
do 21 k=1,ngznon
if(lsldo(node+1,k)) then
@ -176,8 +176,8 @@ c
+ jlsl+maxy-1,gridr(minx,miny,k),mgx,one)
endif
21 continue
call timer_stop(25)
call timer_start(24)
call timer_stop(35)
call timer_start(34)
c
endif
c
@ -185,8 +185,8 @@ c
c
c pmenodes should wait until all nodes have finished contributions to the grid
c
call timer_stop(24)
call timer_start(26)
call timer_stop(34)
call timer_start(36)
c
c the following pme_flag/pme_wait/pme_flag combination may be
c replaced by a ga_sync() at loss of performance
@ -209,7 +209,7 @@ c
24 continue
23 continue
endif
call timer_stop(26)
call timer_stop(36)
c
return
end
@ -284,10 +284,10 @@ c
c
c wait until potential grid is available
c
call timer_start(38)
call timer_start(48)
call pme_wait(0,1)
call timer_stop(38)
call timer_start(39)
call timer_stop(48)
call timer_start(49)
c
do 1 inode=1,np
node=me+inode
@ -304,18 +304,18 @@ c
if(kto(node+1).gt.0) ngznon=kto(node+1)-kfrom(node+1)+1
if(ngznon.eq.0) goto 1
c
call timer_stop(39)
call timer_start(40)
call timer_stop(49)
call timer_start(50)
call pme_getgrd(node,ngznon,dbl_mb(i_grd1))
call timer_stop(40)
call timer_start(39)
call timer_stop(50)
call timer_start(49)
c
call cf_fpme(fw,nwmloc,fs,isq,nsaloc,dbl_mb(i_grd1),mgz,
+ int_mb(i_knod),int_mb(i_kfr),log_mb(i_lsld),node)
c
1 continue
c
call timer_stop(39)
call timer_stop(49)
c
return
end

View file

@ -1,6 +1,6 @@
subroutine md_main()
c
c $Id: md_main.F,v 1.117 2002-01-28 21:17:25 d3j191 Exp $
c $Id: md_main.F,v 1.118 2002-02-07 00:13:37 d3j191 Exp $
c
implicit none
c
@ -969,7 +969,7 @@ c
c
call md_newton()
c
call timer_start(51)
call timer_start(61)
call prp_proper(mdstep,stime,eww,dbl_mb(i_esw),
+ dbl_mb(i_ess),dbl_mb(i_esk),epme,uqmd,uqmmm,
+ epot,epotw,epotsw,epots,volume,dwr,dbl_mb(i_dsr),ekin,etot,
@ -977,7 +977,7 @@ c
call md_server
call prp_step(mdstep,stime,eww,dbl_mb(i_esw),
+ dbl_mb(i_ess),dbl_mb(i_esk),epme,uqmd,uqmmm)
call timer_stop(51)
call timer_stop(61)
c
call timer_start(15)
c
@ -1000,13 +1000,13 @@ c
endif
call timer_stop(15)
c
call timer_start(52)
call timer_start(62)
mdt=' '
if(iguide.gt.0) mdt='g'
write(projct,4000) mdt,mequi,idacq,tmpext,prsext,filnam(1:41)
4000 format('md',a1,i7,' + ',i7,' @',f7.2,e9.2,' ',a)
if(frequency(mdstep,nfrest)) call md_wrtrst(lfnrst,filrst,.true.)
call timer_stop(52)
call timer_stop(62)
if(frequency(mdstep,nftime)) call md_wrtime
c
call timer_stop(1)
@ -1204,13 +1204,6 @@ c
c
mdstep=mdstep+1
stime=stime+tstep
c
lxw=frequency(mdstep,nfcoor)
lvw=frequency(mdstep,nfvelo)
lfw=frequency(mdstep,nfforc)
lxs=frequency(mdstep,nfscoo)
lvs=frequency(mdstep,nfsvel)
lfs=frequency(mdstep,nfsfor)
c
c debug code
c
@ -1378,34 +1371,34 @@ c
c
c self-guided forces
c
call timer_start(45)
call timer_start(55)
if(iguide.gt.0) then
call md_guided(dbl_mb(i_fw),dbl_mb(i_fs),
+ dbl_mb(i_gw),dbl_mb(i_gs))
endif
call timer_stop(45)
call timer_stop(55)
c
c time step
c
call timer_start(46)
call timer_start(56)
call cf_mdstep(int_mb(i_iw+(lwdyn-1)*mwm),dbl_mb(i_xw),
+ dbl_mb(i_yw),dbl_mb(i_vw),dbl_mb(i_vwt),dbl_mb(i_fw),nwmloc,
+ int_mb(i_is+(lsdyn-1)*msa),int_mb(i_is+(lsatt-1)*msa),
+ dbl_mb(i_xs),dbl_mb(i_ys),dbl_mb(i_vs),dbl_mb(i_vst),
+ dbl_mb(i_fs),nsaloc,int_mb(i_iw+(lwgmn-1)*mwm),
+ int_mb(i_is+(lsgan-1)*msa),tmpext)
call timer_stop(46)
call timer_stop(56)
c
c shake
c
call timer_start(47)
call timer_start(57)
call md_shake(dbl_mb(i_xw),dbl_mb(i_yw),int_mb(i_iw),
+ dbl_mb(i_xs),dbl_mb(i_ys),int_mb(i_is),dxmax)
call timer_stop(47)
call timer_stop(57)
c
c coordinate scaling
c
call timer_start(48)
call timer_start(58)
call cf_final(dbl_mb(i_xw),dbl_mb(i_xwm),dbl_mb(i_yw),
+ dbl_mb(i_vw),dbl_mb(i_vwt),nwmloc,
+ dbl_mb(i_xs),dbl_mb(i_xsm),dbl_mb(i_ys),dbl_mb(i_vs),
@ -1413,11 +1406,11 @@ c
+ int_mb(i_is+(lsmol-1)*msa),int_mb(i_is+(lsdyn-1)*msa),
+ int_mb(i_is+(lsfrc-1)*msa),dbl_mb(i_zs),
+ dbl_mb(i_esk),nsaloc,box,vlat,pres,temp,tempw,temps)
call timer_stop(48)
call timer_stop(58)
c
c center of mass coordinates
c
call timer_start(49)
call timer_start(59)
c
call cf_cenmas(nwmloc,dbl_mb(i_xw),dbl_mb(i_xwm),nsaloc,
+ int_mb(i_is+(lsatt-1)*msa),int_mb(i_is+(lsmol-1)*msa),
@ -1449,8 +1442,8 @@ c
+ dbl_mb(i_vw),dbl_mb(i_vs),int_mb(i_iw+(lwdyn-1)*mwm),
+ int_mb(i_is+(lsdyn-1)*msa),int_mb(i_is+(lsatt-1)*msa))
endif
call timer_stop(49)
call timer_start(50)
call timer_stop(59)
call timer_start(60)
c
c update decomposition module
c
@ -1462,7 +1455,7 @@ c
c
lfirst=.false.
c
call timer_stop(50)
call timer_stop(60)
call timer_stop(3)
c
return
@ -1631,34 +1624,36 @@ c
+ isl(1,lsmol),
+ dbl_mb(i_xs),dbl_mb(i_xsm),dbl_mb(i_fs),
+ dbl_mb(i_xw),dbl_mb(i_xwm),dbl_mb(i_fw))
call timer_stop(21)
call timer_start(22)
if(ifield.gt.0) call cf_extern(stime,nsaloc,dbl_mb(i_fs),
+ isl(1,lsct1),nwmloc,dbl_mb(i_fw))
call timer_stop(22)
call cf_multi(nsaloc,dbl_mb(i_xs),dbl_mb(i_fs),isl(1,lsgan),
+ isl(1,lsatt),isl(1,lsfrc),isl(1,lsdyn),isl(1,lsct1),
+ dbl_mb(i_ess),lfnpmf,.not.lequi,npmf.eq.1.or.lpmfc)
call timer_stop(21)
c
call timer_start(22)
call timer_start(32)
if(ipolt.gt.0) then
call md_induce(iwl,isl,xw,xwm,xs,dbl_mb(i_pw),
+ dbl_mb(i_pwp),dbl_mb(i_ps),dbl_mb(i_psp))
endif
call timer_stop(22)
call timer_stop(32)
c
if(ipme.gt.0) then
if(lpert2) then
call pme_energy(2,dbl_mb(i_xw),nwmloc,dbl_mb(i_xs),
+ isl(1,lsct1),nsaloc,epme(2))
call timer_start(23)
call timer_start(33)
call pme_init()
call timer_stop(23)
call timer_stop(33)
endif
if(lpert3) then
call pme_energy(3,dbl_mb(i_xw),nwmloc,dbl_mb(i_xs),
+ isl(1,lsct1),nsaloc,epme(3))
call timer_start(23)
call timer_start(33)
call pme_init()
call timer_stop(23)
call timer_stop(33)
endif
call pme_chgrid(iset,dbl_mb(i_xw),nwmloc,dbl_mb(i_xs),
+ isl(1,lsct1),nsaloc,epme(iset))
@ -1684,26 +1679,26 @@ c
c
call md_fclass(iwl,isl,xw,xwm,xs,fw,fs)
c
call timer_start(41)
call timer_start(51)
call timer_start(2)
call timer_start(4)
call ga_sync()
call timer_stop(4)
call timer_stop(2)
call timer_stop(41)
call timer_stop(51)
c
call timer_start(42)
call timer_start(52)
call sp_final(fw,fs,lpair,int_mb(i_iwz),int_mb(i_isz))
call timer_stop(42)
call timer_stop(52)
c
call timer_start(43)
call timer_start(53)
if(lqmmm) then
call qmmm_forces(irtdb,mwm,nwmloc,mwa,nwa,int_mb(i_iwz),xw,fw,
+ msa,nsaloc,int_mb(i_is+(lsatt-1)*msa),int_mb(i_is+(lsdyn-1)*msa),
+ int_mb(i_is+(lsct1-1)*msa),int_mb(i_isz),xs,fs,uqmmm)
uqmmm=uqmmm-uqmatm
endif
call timer_stop(43)
call timer_stop(53)
c
if(ltwin) then
do 1 j=1,3
@ -1720,10 +1715,10 @@ c
c
endif
c
call timer_start(44)
call timer_start(54)
call cf_fnorm(iwl(1,lwdyn),fw,nwmloc,
+ isl(1,lsatt),isl(1,lsdyn),fs,nsaloc,fnorm,fmax)
call timer_stop(44)
call timer_stop(54)
c
return
end
@ -1802,18 +1797,18 @@ c
integer itcom1,itforc,itcom2
c
local=.true.
itcom1=32
itforc=33
itcom2=34
itcom1=42
itforc=43
itcom2=44
c
call sp_nbbl(nbbl)
c
do 1 ibbl=1,nbbl
c
if(local.and..not.sp_local(ibbl)) then
itcom1=35
itforc=36
itcom2=37
itcom1=45
itforc=46
itcom2=47
local=.false.
endif
c
@ -2189,7 +2184,7 @@ c
c
integer i
c
do 1 i=10,52
do 1 i=10,62
call timer_reset(i)
1 continue
c
@ -2207,26 +2202,26 @@ c
real*8 timer_wall,timer_wall_total
c
integer i,j
real*8 tim(44,1024)
real*8 tim(54,1024)
c
do 1 i=1,np
do 2 j=1,44
do 2 j=1,54
tim(j,i)=zero
2 continue
1 continue
c
do 3 i=1,43
do 3 i=1,53
tim(i,me+1)=timer_wall_total(i+9)
tim(44,me+1)=tim(44,me+1)+tim(i,me+1)
tim(54,me+1)=tim(54,me+1)+tim(i,me+1)
3 continue
c
call ga_dgop(mrg_d04,tim,44*np,'+')
call ga_dgop(mrg_d04,tim,54*np,'+')
c
if(me.eq.0) then
write(lfntim,1000) stime
1000 format('timings',/,f12.6)
do 1002 j=1,np
write(lfntim,1001) (tim(i,j),i=1,44)
write(lfntim,1001) (tim(i,j),i=1,54)
1001 format(10f7.3)
1002 continue
endif
@ -2235,7 +2230,7 @@ c
end
subroutine md_test
c
c $Id: md_main.F,v 1.117 2002-01-28 21:17:25 d3j191 Exp $
c $Id: md_main.F,v 1.118 2002-02-07 00:13:37 d3j191 Exp $
c
implicit none
c

View file

@ -1,6 +1,6 @@
subroutine md_start
c
c $Id: md_start.F,v 1.111 2002-02-02 16:32:26 d3j191 Exp $
c $Id: md_start.F,v 1.112 2002-02-07 00:13:38 d3j191 Exp $
c
implicit none
c
@ -1212,7 +1212,7 @@ c
if(nftime.gt.0) then
open(unit=lfntim,file=filtim(1:index(filtim,' ')-1),
+ form='formatted',status='unknown')
write(lfntim,1200) np,44
write(lfntim,1200) np,54
1200 format(2i5)
write(lfntim,1201)
write(lfntim,1202)
@ -1258,6 +1258,16 @@ c
write(lfntim,1242)
write(lfntim,1243)
write(lfntim,1244)
write(lfntim,1245)
write(lfntim,1246)
write(lfntim,1247)
write(lfntim,1248)
write(lfntim,1249)
write(lfntim,1250)
write(lfntim,1251)
write(lfntim,1252)
write(lfntim,1253)
write(lfntim,1254)
1201 format(' 1 : Initialization velocities')
1202 format(' 2 : Periodic Boundary Conditions')
1203 format(' 3 : Dynamic Load Balancing')
@ -1269,39 +1279,49 @@ c
1209 format(' 9 : Synchronization')
1210 format(' 10 : SPACE Initialization')
1211 format(' 11 : Synchronization')
1212 format(' 12 : Replicated Data Forces Evaluation')
1213 format(' 13 : Induced Dipoles Evaluation')
1214 format(' 14 : PME Initialization')
1215 format(' 15 : PME Charge Grid Evaluation')
1216 format(' 16 : PME Charge Grid Communication')
1217 format(' 17 : PME Charge Grid Retrieval')
1218 format(' 18 : PME Reverse 3D-pFFT')
1219 format(' 19 : PME Energy Evaluation')
1220 format(' 20 : PME Synchronization')
1221 format(' 21 : PME Forward 3D-pFFT')
1222 format(' 22 : PME Synchronization')
1223 format(' 23 : Local Coordinates Retrieval')
1224 format(' 24 : Local Forces Evaluation')
1225 format(' 25 : Local Force Accumulation')
1226 format(' 26 : Non-Local Coordinates Retrieval')
1227 format(' 27 : Non-Local Forces Evaluation')
1228 format(' 28 : Non-Local Force Accumulation')
1229 format(' 29 : PME Wait')
1230 format(' 30 : PME Forces Evaluation')
1231 format(' 31 : PME Forces Communication')
1232 format(' 32 : Synchronization')
1233 format(' 33 : SPACE Finalization')
1234 format(' 34 : QM/MM Forces Evaluation')
1235 format(' 35 : Forces Normalization')
1236 format(' 36 : Guided MD Forces')
1237 format(' 37 : MD Time Step')
1238 format(' 38 : SHAKE')
1239 format(' 39 : CAFE Finalization')
1240 format(' 40 : Center of Mass Motion Removal')
1241 format(' 41 : SPACE Update')
1242 format(' 42 : Property Evaluation')
1243 format(' 43 : Property Recording')
1244 format(' 44 : TOTAL TIME PER STEP')
1212 format(' 12 : Collapse Option')
1213 format(' 13 : External Fields')
1214 format(' 14 : Multiprocs Data Initialization')
1215 format(' 15 : Multiprocs Data Communication')
1216 format(' 16 : Multiprocs Data Forces Evaluation')
1217 format(' 17 : Restraints Data Initialization')
1218 format(' 18 : Restraints Data Communication')
1219 format(' 19 : Restraints Data Forces Evaluation')
1220 format(' 20 : PMF Data Initialization')
1221 format(' 21 : PMF Data Communication')
1222 format(' 22 : PMF Data Forces Evaluation')
1223 format(' 23 : Induced Dipoles Evaluation')
1224 format(' 24 : PME Initialization')
1225 format(' 25 : PME Charge Grid Evaluation')
1226 format(' 26 : PME Charge Grid Communication')
1227 format(' 27 : PME Charge Grid Retrieval')
1228 format(' 28 : PME Reverse 3D-pFFT')
1229 format(' 29 : PME Energy Evaluation')
1230 format(' 20 : PME Synchronization')
1231 format(' 21 : PME Forward 3D-pFFT')
1232 format(' 22 : PME Synchronization')
1233 format(' 23 : Local Coordinates Retrieval')
1234 format(' 24 : Local Forces Evaluation')
1235 format(' 25 : Local Force Accumulation')
1236 format(' 36 : Non-Local Coordinates Retrieval')
1237 format(' 37 : Non-Local Forces Evaluation')
1238 format(' 38 : Non-Local Force Accumulation')
1239 format(' 39 : PME Wait')
1240 format(' 30 : PME Forces Evaluation')
1241 format(' 31 : PME Forces Communication')
1242 format(' 32 : Synchronization')
1243 format(' 33 : SPACE Finalization')
1244 format(' 34 : QM/MM Forces Evaluation')
1245 format(' 35 : Forces Normalization')
1246 format(' 46 : Guided MD Forces')
1247 format(' 47 : MD Time Step')
1248 format(' 48 : SHAKE')
1249 format(' 49 : CAFE Finalization')
1250 format(' 40 : Center of Mass Motion Removal')
1251 format(' 41 : SPACE Update')
1252 format(' 42 : Property Evaluation')
1253 format(' 43 : Property Recording')
1254 format(' 44 : TOTAL TIME PER STEP')
c
endif
if(itest.gt.0) then

View file

@ -4,7 +4,7 @@
+ nwmtot,msfi,nsfi,mpei,mdacq,mrn,ipset,isetp1,isetp2,tstp,
+ msmi,nsmi,nsai,ddi,edi,iprf,npmf,npenrg,ndistr,lpbc,nbiasi)
c
c $Id: prp_init.F,v 1.45 2002-02-03 16:46:17 d3j191 Exp $
c $Id: prp_init.F,v 1.46 2002-02-07 00:13:38 d3j191 Exp $
c
implicit none
c
@ -349,20 +349,20 @@ c
5 continue
endif
c
if(msm.gt.0) then
if(msm.gt.0.and.npstat.gt.0) then
if(it+2*nsm.gt.maxpro)
+ call errquit('Increase dimension maxpro',0)
do 7 i=1,nsm
it=it+1
pronam(it)='Moment of inertia solute molecule kg nm2/mol'
write(pronam(it)(34:38),'(i5)') i
if(npstat.gt.0) lp(it)=.true.
lp(it)=.true.
7 continue
do 8 i=1,nsm
it=it+1
pronam(it)='Radius of gyration solute molecule nm'
write(pronam(it)(34:38),'(i5)') i
if(npstat.gt.0) lp(it)=.true.
lp(it)=.true.
8 continue
endif
c
@ -405,7 +405,37 @@ c
pronam(it)='Prof: Synchronization s'
lp(it)=.true.
it=it+1
pronam(it)='Prof: Replicated Data Forces Evaluation s'
pronam(it)='Prof: Collapse Option Calculation s'
lp(it)=.true.
it=it+1
pronam(it)='Prof: External Field Contribution s'
lp(it)=.true.
it=it+1
pronam(it)='Prof: Multiprocs Data Initialization s'
lp(it)=.true.
it=it+1
pronam(it)='Prof: Multiprocs Data Communication s'
lp(it)=.true.
it=it+1
pronam(it)='Prof: Multiprocs Data Forces Evaluation s'
lp(it)=.true.
it=it+1
pronam(it)='Prof: Restraints Data Initialization s'
lp(it)=.true.
it=it+1
pronam(it)='Prof: Restraints Data Communication s'
lp(it)=.true.
it=it+1
pronam(it)='Prof: Restraints Data Forces Evaluation s'
lp(it)=.true.
it=it+1
pronam(it)='Prof: PMF Data Initialization s'
lp(it)=.true.
it=it+1
pronam(it)='Prof: PMF Data Communication s'
lp(it)=.true.
it=it+1
pronam(it)='Prof: PMF Data Forces Evaluation s'
lp(it)=.true.
it=it+1
pronam(it)='Prof: Induced Dipoles Evaluation s'

View file

@ -1,6 +1,6 @@
subroutine prp_step(mdstep,stime,eww,esw,ess,esk,epme,uqmd,uqmmm)
c
c $Id: prp_main.F,v 1.66 2002-01-28 21:17:26 d3j191 Exp $
c $Id: prp_main.F,v 1.67 2002-02-07 00:13:38 d3j191 Exp $
c
implicit none
c
@ -253,7 +253,7 @@ c
endif
maxp=it
c
if(nsm.gt.0) then
if(nsm.gt.0.and.npstat.gt.0) then
it=maxp
do 37 i=1,nsm
it=it+1
@ -270,7 +270,7 @@ c
endif
c
if(iprof.eq.1) then
do 56 i=1,41
do 56 i=1,51
it=it+1
p(it)=timer_wall_total(i+9)
56 continue