Приклад запуску Gromacs на кластері СКІТ
В якості прикладу використовуємо gmxbench з домашнього сайту gromacs.
Створюємо директорію для експериментів:
[glad@access ~]$ mkdir test
[glad@access ~]$ cd test
Завантажуємо та розпаковуємо gmxbench:
[glad@access test]$ wget 'ftp://ftp.gromacs.org/pub/benchmarks/gmxbench-3.0.tar.gz'
--2013-09-23 21:18:24-- ftp://ftp.gromacs.org/pub/benchmarks/gmxbench-3.0.tar.gz
=> `gmxbench-3.0.tar.gz'
Resolving ftp.gromacs.org... 130.238.41.205
Connecting to ftp.gromacs.org|130.238.41.205|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pub/benchmarks ... done.
==> SIZE gmxbench-3.0.tar.gz ... 4060558
==> PASV ... done. ==> RETR gmxbench-3.0.tar.gz ... done.
Length: 4060558 (3.9M)
100%[======================================================================>] 4,060,558 1.18M/s in 3.3s
2013-09-23 21:18:28 (1.18 MB/s) - `gmxbench-3.0.tar.gz' saved [4060558]
[glad@access test]$ tar xf gmxbench-3.0.tar.gz
Беремо перший ліпший тест з gmxbench:
[glad@access test]$ ls
d.dppc d.lzm d.poly-ch2 d.villin gmxbench-3.0.tar.gz
[glad@access test]$ cd d.dppc/
[glad@access d.dppc]$ ls
conf.gro grompp.mdp topol.top
Готуємо скрипт запуску приблизно наступного змісту:
[glad@access d.dppc]$ cat run.sh
#!/bin/bash
# Підключаємо скрипт GMXRC з обраної версії gromacs, який налаштовує оточення (шляхи до утиліт та бібліотек) для gromacs відповідної версії.
source /opt/gromacs/4.6.3/bin/GMXRC
# Запускаємо утиліти gromacs, які підготовують дані для розрахунків
grompp -c conf.gro -p topol.top -f grompp.mdp
# Запускаємо виконання розрахунків. Замість безпосереднього виклику mpirun використовуємо змінну $GMX_MPIRUN, яку підготував скрипт GMXRC. Вона містить mpirun з усіма необхідними для запуску mdrun_mpi опціями.
$GMX_MPIRUN mdrun_mpi -s topol.tpr
Виставляємо права на запуск:
[glad@access d.dppc]$ chmod +x run.sh
Ставимо в чергу задачу:
[glad@access d.dppc]$ sbatch -n 4 -p lite_task ./run.sh
sbatch: Submitted batch job 168017
Спостерігаємо за станом задачі за допомогою squeue.
Коли задача закінчиться, результат виконання буде в поточній директорії. Там же буде й output файл з назвою slurm-<job_ib>.out, що містить лог виконання.
Дивимось output файл:
[glad@access d.dppc]$ tail slurm-168017.out
Parallel run - timing based on wallclock.
NODE (s) Real (s) (%)
Time: 386.903 386.903 100.0
6:26
(Mnbf/s) (GFlops) (ns/day) (hour/ns)
Performance: 301.519 10.486 2.234 10.745
gcq#77: "Hold On Like Cliffhanger" (Urban Dance Squad)