NAMD
TR-Grid sitesinden
NAMD yüksek performanslı biomoleküler simülasyon programıdır. Namd hakkında daha detaylı bilgiyi programın resmi web sayfasında, http://www.ks.uiuc.edu/Research/namd/ bulabilirsiniz.
Namd programı genel kullanıma açık bir programdır. Tüm TR-GRID kullanıcıları bu programı kullanabilirler. Namd MPI ve OpenMP tarzında paralleştirilmiş bir programdır. İki yaklaşımında kendine ğöre avantajları va dezavantajları vardır. OpenMP yaklaşımında program aynı hesap nodunun pekçok çekirdeği üzerinde çalıştırılır. Hesap aynı node içerisinde yapılduğı ve ortak sistem belleği kullanıldığı için genelde MPI yaklaşımına göre daha hızlı çalışır. Ancak bir node üzerindeki çekirdek ve bellek miktarı sınırlıdır. MPI yaklaşımında ise program yüzlerce farklı hesap nodu üzerinde paralel olarak çalıştırılabilir. Bu nedenle çok daha büyük problemlerin çözümü mümkün hale gelir.
Modüller ve çevre değişkenler
Namd programının derlenmesi ve çalışması sırasında MPI , LAPACK/SCALAPACK, FFTW kütüphanelerine ve derleyicilerine ihtiyaç duyurlur. Kümeler üzerinde Namd'ın farklı versiyonları mevcuttur. İşinizi çalıştırmak için kullandığınız PBS betiğinin içerisinde gerekli modülleri yüklemeniz gerekmektedir.
TR-01-ULAKBIM kümesine göndereceginiz işler için aşağıdaki satırları eklemeniz yeterlidir.
. /usr/share/Modules/init/sh module load tr-01-ulakbim/application/namd2.7/gcc
Mevcut modüller ve modüllerin kullanımı hakkında daha detaylı bilgi için: TR-Grid Altyapısında Bulunan Yazılım, Derleyici ve Kütüphane Modülleri Kullanımı
PBS betikleri hakkında daha detaylı ilgi için : Küme Bilgisayarlarda İş Gönderme
sayfalarını ziyaret ediniz.
Örnek pbs betiği
Programı MPI (2 node üzerinde toplam 4 çekirdek ile) ile çalıştırmak için kullanılabilecek pbs betiği;
#!/bin/sh
#
#PBS -q trgridb@ce.ulakbim.gov.tr
#PBS -N namd_IB
#PBS -l nodes=2:ppn=4
#
## PBS değişkenleri sisteme gönderiliyor
#PBS -V
#
## Gerekli modüllerin yüklenmesi
. /usr/share/Modules/init/sh
module load tr-01-ulakbim/application/namd2.7/gcc
## Çalışma dizinine giriliyor
export CALISMA_DIZINI=$HOME/namd
cd $CALISMA_DIZINI
if [ "x$PBS_NODEFILE" != "x" ] ; then
echo "PBS Nodefile: $PBS_NODEFILE"
HOST_NODEFILE=$PBS_NODEFILE
fi
if [ "x$LSB_HOSTS" != "x" ] ; then
echo "LSF Hosts: $LSB_HOSTS"
HOST_NODEFILE=`pwd`/lsf_nodefile.$$
for host in ${LSB_HOSTS}
do
echo $host >> ${HOST_NODEFILE}
done
fi
if [ "x$HOST_NODEFILE" = "x" ]; then
echo "No hosts file defined. Exiting..."
exit
fi
CPU_NEEDED=`cat $HOST_NODEFILE | wc -l`
mpirun -np $CPU_NEEDED -machinefile $HOST_NODEFILE $NAMD_HOME/namd2 AAmin2.conf > ../out 2> ../err





