1E0Q with CHARMM GPU

This page shows how to run molecular simulation with gpu version of charmm.

working directory: ./tmp/1E0Q/

convpdb.pl -nsel protein 1E0Q.pdb >1e0q.pdb

convpdb.pl -solvate -cubic -cutoff 12 1e0q.pdb > 1e0q.solvate.pdb

read 648 atoms, 216 residues from /home/zwei/softwares/mmtsb/data/water.pdb
read 285 atoms, 17 residues from -
box size: 55.503825 x 55.503825 x 55.503825

minCHARMM.pl -par boxsize=55.503825 1e0q.solvate.pdb >1e0q.min.pdb

mpirun -np 8 mdCHARMM.pl -par boxsize=55.503825,dynsteps=10000 -trajout 1e0q_box.dcd -cmd 1e0q.inp -log 1e0q.log 1e0q.min.pdb

1e0q.inp:

*CHARMM input file for xxx  !<----- add these two lines to the top of file or it will show error when run the simulation in parrallel
*                                                                                                       
open unit 10 read form name "/home/zwei/softwares/c37a2/toppar/top_all27_prot_na.rtf"
read rtf card unit 10
close unit 10
open unit 10 read form name "/home/zwei/softwares/c37a2/toppar/par_all27_prot_na.prm"
read para card unit 10
close unit 10
faster on
open unit 10 read form name "xeon-pdb7788-PROA"
read sequ pdb unit 10
generate   PROA setup warn
close unit 10
close unit 10
auto angle dihe
open unit 10 read form name "xeon-pdb7788-WT00"
read sequ pdb unit 10
generate WT00 setup noangl nodihe
open unit 10 read form name "xeon-pdb7788-PROA"
read coor pdb unit 10 resi
close unit 10
open unit 10 read form name "xeon-pdb7788-WT00"
read coor pdb unit 10 resi
close unit 10
bomlev -2
ic param
set tmpNIC ?NIC
coor copy comp
ic build comp
coor copy select .not. hydrogen end
hbuild atom cdie eps 80.0 cutnb 10.0 ctofnb 7.5 ctonnb 6.5 shift vshift bygr
faster on
!update atom CDIE eps 1 cutnb 12 ctofnb 9 ctonnb 8 shift vshift   bygr
crystal defined cubic 55.503825 55.503825 55.503825 90.0 90.0 90.0
crystal build cutoff 27.7519125 noper 0
image byseg xcen 0.0 ycen 0.0 zcen 0.0 select .not. resname TIP3 .and. .not. resname HOH .and. .not. resname CLA .and. .not. resname CLM .and. .not. resname NAP .and. .not. resname SOD  end
image byres xcen 0.0 ycen 0.0 zcen 0.0 select resname TIP3 .or. resname HOH .or. resname CLA .or. resname CLM .or. resname NAP .or. resname SOD end
!update  cutim 15 imgfrq -1
iupdate  ewald kappa 0.555555555555556 kmax 5 pmewald order 4 fftx 48 ffty 48 fftz 48
shake bonh tol 1e-08 param
open unit 13 write unform name "1e0q_box.dcd"

envi VG_LDIMX 7        !<-----ADD THIS 
envi VG_LDIMY 7
envi VG_LDIMZ 7

!dyna vver nose rstn qref 1000 tref 298 ncyc 5 start timestep 0.002 nstep 10000 finalt 298 -             !MARK OFF DYNA COMMAND
!inbfreq -1 imgfreq -1  -
!iasors 1 iasvel 1 -
!ntrfrq 200 -
!ichecw 1 ieqfrq 100 twindl -5.96 twindh +5.96 -
!nprint 50 iprfrq 10000 nsavc 50 nsavv 0 iunvel -1 -
!tstru 298 firstt 298  -
!echeck 20 -
!iunrea -1 iunwri -1 iuncrd 13 kunit -1 -
!iseed 2349765

dyna start timestep 0.002 nstep 10000 firstt 298 finalt 298 teminc 0.0 -                  ! ADD NEW DYNA
iasors 1 nsavc 100 nsavv 0 ntrfrq 1000 nprint 100 inbfrq 100 imgfrq 100 ichecw 1 -
ewald pmewald kappa 0.32 order 6 fftx 64 ffty 64 fftz 64 -                                        !make sure order is 6 
iuncrd 13 -
echeck -1 iseed random -
grape 11

stop
 

 

warning: no blank after "-"

$CHARMMEXEC < 1e0q.inp 2>&1 |tee 1e0q_gpu.log                  ($CHARMMEXEC=/path/to/gpu_M/charmm)

mpirun -np 12 charmm< 1e0q.inp 2>&1 |tee 1e0q_gnu_mpi.log   (this charm point to gnu_M/charmm, and mark off "grape 11" in 1e0q.inp)

charmm< 1e0q.inp 2>&1 |tee 1e0q_gnu.log                           (one cpu)

 

Performance of different protocol:

benchmark

set xtics nomirror rotate by -45

set title "1e0q explicit 10000 steps"

set ylabel "minutes"

set yrange [0:100]

plot "bench.txt" u 3:xtic(2) with boxes noti,"bench.txt" u 0:($3+1):3 with labels noti