molecular dynamic analysis with gromacs: part of indonesian herbal farmacological activities...
TRANSCRIPT
Molecular Dynamic analysis with Gromacs: Part of Indonesian Herbal Farmacological activities screening in
Silico study
On a Cluster computing environment.
Screening aktifitas farmakologis beberapa bahan aktif tumbuhan obat Indonesia secara in silico menggunakan High Performance Computing berbasis Cluster system
Joint research : Arry Yanuar, Dept of Pharmacy,
and Heru Suhartanto, Ari Wibisono,
Faculty of Computer Science,
Universitas Indonesia
Supported by The Indonesian Ministry of Research and Technology Office, 2009-2010,research grant
Gromacs
GROMACS is a one of the best program to perform molecular dynamics for protein and bio-molecule simulation.
GROMACS can be run with single processor or using multiple processor (parallel using standard MPI communication)
Our Research is to study the performance (time) between, on the Cluster computing resources and on the GPU (Graphic Processor Unit)
The InGrid: http://grid.ui.ac.id
Let’s see a 1 minute visit to the portal and the monitor
Hastinapura
Hastinapura.grid.ui.ac.id is the first Cluster computing resources, the Faculty of Computer Science Universitas Indonesia.
This cluster can be used to run parallel and serial applications (gromacs).
It consists of 16 dual-core machines that act as worker nodes.
Hardware Specification Head node
Sun Fire X2100 AMD Opteron 2.2GHz (Dual Core) 2 GB RAM Debian GNU/Linux 3.1 “Sarge”
Worker nodes (16) Sun Fire X2100 AMD Opteron 2.2GHz (Dual Core) 1 GB RAM Debian GNU/Linux 3.1 “Sarge”
Storage node Dual Intel Xeon 2.8GHz (HT) 2 GB RAM Debian GNU/Linux 4.0-testing “Etch” Harddisk 3x320 GB
GPU PC Hardware Specification Dual Core 3.2 GHz
4 GB RAM Ubuntu 9.04 64 Bit Harddisk 80 Gb Gromacs 4.05 + OpenMM GeForce GTS 250
CUDA Cores 128Graphics Clock
(MHz)738 MHz
Processor Clock (MHz)
1836 MHz
Texture Fill Rate (billion/sec)
47.2 Memory Clock (MHz)
1100
Standard Memory Config
512MB or 1 GB GDDR3
Memory Interface Width
256-bit
Memory Bandwidth (GB/sec)
70.4
GPU Engine Specs:Memory Specs:Feature Support:
File Preparation
File Cyp34a
pdb2gmx -f 1TQN.pdb -p 1TQN.top -o 1TQN.gro
editconf -f 1TQN.gro -o 1TQN.gro -d 1.0
genbox -cp 1TQN.gro -cs spc216.gro -p 1TQN.top –o
1TQN-solvate.pdb
grompp -np 16 -f md.mdp -c 1TQN.gro -p 1TQN.top -o 1TQN-md.tpr
Convert File Into .topology & .gro
Periodic Boundary Condition
Adding solvent into the molecule
Energy Minimization
1TQN-md.tpr is ready to be
executed with 16 processor
#!/bin/sh
# CYP34A
#$ -N gromacs
#$ -cwd
# Jumlah prosesor
#$ -pe mpich 16
#$ -l arch=lx24-x86
#$ -o /export/home/nico/cyp3a4/stdout
#$ -e /export/home/nico/cyp3a4/stderr
#$ -i /export/home/nico/cyp3a4/stdin
#
# needs in
# $NSLOTS
# the number of tasks to be used
# $TMPDIR/machines
# a valid machine file to be passed to mpirun
echo "Got $NSLOTS slots."
/usr/bin/mpirun -np $NSLOTS -machinefile $TMPDIR/machines
/export/home/nico/gromacs/bin/mdrun_mpi
-s /export/home/nico/cyp3a4/1TQN-md.tpr
-o /export/home/nico/cyp3a4/1TQN-md.trr
-c /export/home/nico/cyp3a4/1TQN-after-md.gro
-np 16 -v
Md-job.sh
qsub md-job.sh
File Cyp34a (GPU)
pdb2gmx -f 1TQN.pdb -p 1TQN.top -o 1TQN.gro
editconf -f 1TQN.gro -o 1TQN.gro -d 1.0
genbox -cp 1TQN.gro -cs spc216.gro -p 1TQN.top –o
1TQN-solvate.pdb
grompp -f md.mdp -c 1TQN.gro -p 1TQN.top -o 1TQN-md.tpr
Convert File Into .topology & .gro
Periodic Boundary Condition
Adding solvent into the molecule
Energy Minimization
mdrun-openmm -v -deffnm 1TQN-md
Production Simulation
File Curcumin
grompp -np 10 -f md.mdp -c lox_pr.gro -p model.top -o topol.tpr
topol.tpr is ready to be executed
with 10 processor
dt x nsteps = …pikosecond0.002 x 100000 = 200 pikosecond
Md-job.sh#!/bin/sh
# Curcumin
#$ -N gromacs
#$ -cwd
# Jumlah prosesor
#$ -pe mpich 10
#$ -l arch=lx24-x86
#$ -o /export/home/ari/simulasi/curcumin10/stdout
#$ -e /export/home/ari/simulasi/curcumin10/stderr
#$ -i /export/home/ari/simulasi/curcumin10/stdin
#
# needs in
# $NSLOTS
# the number of tasks to be used
# $TMPDIR/machines
# a valid machine file to be passed to mpirun
echo "Got $NSLOTS slots."
/usr/bin/mpirun -np $NSLOTS -machinefile $TMPDIR/machines
/export/home/nico/gromacs/bin/mdrun_mpi
-s /export/home/ari/simulasi/curcumin12/topol.tpr
-o /export/home/ari/simulasi/curcumin12/curcumin12.trr
-c /export/home/ari/simulasi/curcumin12/lox_pr.gro
-np 10 –v
qsub md-job.sh
File Curcumin (GPU)
grompp -f md.mdp -c lox_pr.gro -p model.top -o curcumin.tpr
dt x nsteps = …pikosecond0.002 x 100000 = 200 pikosecond
mdrun-openmm -v -deffnm curcumin
Production Simulation
Performance Result
File : Curcumin
Performance Time
Timesteps
1 CPU 24h:01M 200 ps
GPU 17h:01M 200 ps
InGrid 1 CPU 18h 200 ps
InGrid 2 CPU 14h 200 ps
InGrid 4 CPU 08h 200 ps
InGrid > 4 CPU Problems !!!
File : CYP3A4 Performance Time
Timesteps
1 CPU 22h :32 M 200 ps
GPU 14h : 23M 200 ps
CYP3A4 Result on InGrid is almost the same with the above result
The next targets: Improve the performance
Thank you !