mirror of
https://github.com/nwchemgit/nwchem.git
synced 2026-07-28 22:25:48 -04:00
Additional timers to track RD timing
This commit is contained in:
parent
c892d040e9
commit
dd72316b0a
6 changed files with 201 additions and 134 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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'
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue