ARF Hesaplama Kümesinde Gaussian 16 Programının Kullanılması#
Erişim#
TRUBA hesaplama kümelerinde TÜBİTAK ULAKBİM tarafından sağlanan Gaussian 16 Lisanslı yazılımını kullanmak isteyen araştırmacılarımızın Gaussian16 & GaussView 6 & TCP Linda Programlarına Erişim sayfasında yer alan bilgileri kontrol etmesi ve ilgili erişim dilekçesini TRUBA Portal’a yüklemesi gerekmektedir.
Gaussian 16 Programının Kullanılması#
Gaussian’ın sayfasında verilen kullanıcı el kitabına aşağıdaki linkten ulaşarak ilgili program ve de kullanımı hakkında detaylı bilgilere ulaşabilirsiniz.
Mevcut durumda TRUBA’daki ARF hesaplama kümesinde ilgili lisanslı Gaussian programları kullanılabilmektedir. Öncelikle ilgili lisanslı programa erişiminizin olduğundan emin olunuz (Gaussian16 & GaussView 6 & TCP Linda Programlarına Erişim).
ARF kümesine bağlantı için Bağlantı sayfasını inceleyebilirsiniz.
Terminalden ARF kümesine arf-ui kullanıcı arayüz sunucularından birisine bağlantı sağladıktan sonra
module available
komutunu yazdığınızda ARF kümesinde kurulu olan temel programlar listelenecektir.
İlgili programlar arasında Gaussian için aşağıdaki modüllerin de listede yer aldığını göreceksiniz:
apps/gaussian/g16-avx
apps/gaussian/g16-avx2
apps/gaussian/g16-legacy
apps/gaussian/g16-sse4.2
apps/gaussian/gview
Özel olarak sadece Gaussian programına ait modülleri görüntülemek isterseniz terminalde
avci gaussian
veya
module avail |& grep gaussian
veya
module avail 2>&1 | grep gaussian
komutlarından birisini yazabilirsiniz.
Gaussian 16 programına erişimi tanımlı olan araştırmacılar kendi kullanıcı dizinlerinde bir çalışma klasörü yaratarak aşağıdaki örnek SLURM betik dosyasını ilgili klasörde oluşturarak sistemde çalışmak üzere submit edebilirler.
mkdir g16-test
cd g16-test
touch gaussian16-orfoz.slurm #*.slurm uzantılı bos bir text dosyası olusturmak icin
SLURM Betik Dosyasının Oluşturulması#
Aşağıda örnek olarak verilen SLURM betik dosyasında
apps/gaussian/g16-avx
modülü kullanımıştır. Özellikle büyük ve karmaşık moleküler sistemlerin modellenmesi üzerine çalışan araştırmacılarımızın zaman etkin sonuçlar alabilmesi amacıyla
apps/gaussian/g16-avx2
modülünü kullanmaları önerilir.
#!/bin/bash
#SBATCH -p orfoz
#SBATCH -A kullanici_adi
#SBATCH -J jobname
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -c 56
#SBATCH --time=3-00:00:00
#SBATCH --output=jobname.out
#SBATCH --error=slurm-%j.err
echo "SLURM_NODELIST $SLURM_NODELIST"
echo "NUMBER OF TASKS $SLURM_NTASKS"
echo "NUMBER OF CORES=$SLURM_CPUS_PER_TASK"
module purge
module load apps/gaussian/g16-avx
export GAUSS_SCRDIR=/tmp/$SLURM_JOB_ID
source $g16root/g16/bsd/g16.profile
if [ -d "$GAUSS_SCRDIR" ]
then
rm -rf $GAUSS_SCRDIR
else
mkdir -p $GAUSS_SCRDIR
fi
$g16root/g16/g16 < g16input_file.gjf
rm -rf $GAUSS_SCRDIR
exit
#!/bin/bash
#SBATCH -p hamsi
#SBATCH -A kullanici_adi
#SBATCH -J jobname
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -c 56
#SBATCH --time=3-00:00:00
#SBATCH --output=jobname.out
#SBATCH --error=slurm-%j.err
echo "SLURM_NODELIST $SLURM_NODELIST"
echo "NUMBER OF TASKS $SLURM_NTASKS"
echo "NUMBER OF CORES=$SLURM_CPUS_PER_TASK"
module purge
module load apps/gaussian/g16-avx
export GAUSS_SCRDIR=/tmp/$SLURM_JOB_ID
source $g16root/g16/bsd/g16.profile
if [ -d "$GAUSS_SCRDIR" ]
then
rm -rf $GAUSS_SCRDIR
else
mkdir -p $GAUSS_SCRDIR
fi
$g16root/g16/g16 < g16input_file.gjf
rm -rf $GAUSS_SCRDIR
exit
#!/bin/bash
#SBATCH -p barbun
#SBATCH -A kullanici_adi
#SBATCH -J jobname
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -c 40 # barbun sunucularinda node basina 40 cekirdek talep edilebilir.
#SBATCH --time=3-00:00:00
#SBATCH --output=jobname.out
#SBATCH --error=slurm-%j.err
echo "SLURM_NODELIST $SLURM_NODELIST"
echo "NUMBER OF TASKS $SLURM_NTASKS"
echo "NUMBER OF CORES=$SLURM_CPUS_PER_TASK"
module purge
module load apps/gaussian/g16-avx
export GAUSS_SCRDIR=/tmp/$SLURM_JOB_ID
source $g16root/g16/bsd/g16.profile
if [ -d "$GAUSS_SCRDIR" ]
then
rm -rf $GAUSS_SCRDIR
else
mkdir -p $GAUSS_SCRDIR
fi
$g16root/g16/g16 < g16input_file.gjf
rm -rf $GAUSS_SCRDIR
exit
İlgili SLURM betik dosyasını kendi kullanıcı dizininizde yer alan çalışma klasörünüzde düzenledikten sonra
sbatch gaussian16.slurm
komutu ile sisteme submit edebilirsiniz.
Uyarı
Gaussian input dosyanızda nprocshared parametresinin, SLURM betik dosyanızda talep ettiğiniz çekirdek sayısı ile aynı olması gerekmektedir.
Çalışmakta olan işlerinizin işlemci yükünü ve bellek kullanımını [http://grafana.yonetim:3000] veya [http://172.16.6.25:3000] adreslerinden takip edebilirsiniz.
Not
Eğer Gaussian ile tek çekirdek gerektiren birden fazla işinizi çalıştırmak istiyorsanız, SLURM betik dosyasında aşağıdaki gibi ard arda satırlarda belirtebilirsiniz. Böylece olası en fazla sayıda çekirdeği kullanabilirsiniz.
GREASY ile tek çekirdek gerektiren işlerinizi iş listesinde ard arda satırlarda belirtebilirsiniz. Böylece olası en fazla sayıda çekirdeği kullanabilirsiniz. GREASY ile iş çalıştırmak için GREASY Kullanımı sayfasını inceleyebilirsiniz.
Veya SLURM betik dosyasında aşağıdaki gibi srun ile tek çekirdek kullanarak benzer şekilde bir dizi işinizi sisteme gönderebilirsiniz.
srun -n 1 -c 1 command_line &
srun -n 1 -c 1 command_line &
srun -n 1 -c 1 command_line &
srun -n 1 -c 1 command_line
wait
exit
Tek bir sunucu üzerinde işinizi 54 ya da 110çekirdek ile kuyruğa gönderip, aynı betikte birden fazla işin birden fazal çekirdek üzerinde çalıştırılmasını da sağlayabilirsiniz.
srun -n 1 -c 4 command_line > out1 2>&1 &
srun -n 1 -c 4 command_line > out2 2>&1 &
srun -n 1 -c 4 command_line > out3 2>&1 &
srun -n 1 -c 4 command_line > out4 2>&1 &
srun -n 1 -c 12 command_line > out5 >&1 &
srun -n 1 -c 12 command_line > out6 >&1 &
srun -n 1 -c 12 command_line > out7 2>&1
wait
exit
İşleriniz farklı dizinlerdeyse, SLURM betik dosyasında input dosyasının olduğu dizini aşağıdaki gibi belirtebilirsiniz:
cd /path/to/your/directory
srun -n 1 -c 1 command_line &
cd /path/to/another/directory
srun -n 1 -c 1 command_line &
cd /path/to/yet/another/directory
srun -n 1 -c 1 command_line
wait
exit