GROMACS adalah package berkecepatan tinggi untuk komputasi dinamika molekular baik untuk biokimia (seperti protein, lipids) maupun non-biokimia (seperti polimer).
Modul GROMACS
Berikut adalah detail versi GROMACS yang tersedia secara global di ALELEON Supercomputer:
Modul GROMACS versi CPU
Versi
|
Nama modul software
|
Dukungan hardware
|
CPU
|
GPU
|
OMP
Threading
|
MPI
multi-node
|
2021.1
|
gromacs/2021.1-GCC10-MKL
|
V
|
-
|
-
|
V
|
Modul GROMACS versi CPU dan GPU
Versi
|
Nama modul software
|
Dukungan hardware
|
CPU
|
GPU
|
OMP
Threading
|
MPI
multi-node
|
2022.4
|
gromacs/2022.4-GCC11.3-AOCL4.0-CUDA11.8
|
V
|
V
|
V
|
V
|
Hubungi tim admin melalui email support@efisonlt.com untuk permintaan instalasi versi lain.
Info Menjalankan GROMACS dengan Akselerasi GPU
ALELEON Supercomputer menyediakan GROMACS yang dapat berjalan dengan akselerasi GPU. Beberapa hal perlu menjadi pertimbangan user:
- Akselerasi GPU bukan jaminan peningkatan performa pada semua jenis input dan parameter.
- User harap menguji dengan nsteps kecil untuk mengetahui peningkatan performa pada akselerasi GPU.
- Biasanya GROMACS mdrun tidak memerlukan parameter tambahan untuk akselerasi GPU.
- Dalam beberapa kasus, optimasi parameter tambahan dapat meningkatkan kecepatan komputasi.
- Referensi lanjutan parameter akselerasi GPU (-nb, -bonded, -pme) dapat dipelajari pada tautan berikut:
Pilihan Menjalankan Komputasi
User dapat memilih metode menjalankan komputasi sesuai keinginan: (klik expand / kembangkan)
- Job submission terminal
- Job submission web EFIRO
- Berjalan di compute node melalui manajemen Slurm via web EFIRO.
Job Submission Terminal
Langkah Job Submission Terminal
|
1
|
Login SSH ke ALELEON Supercomputer.
|
2
|
Siapkan file komputasi yang dibutuhkan.
|
3
|
Buat parameter GROMACS untuk menjalankan komputasi:
1
|
Aktifkan modul GROMACS yang akan dipakai..
$ module load [nama-modul-GROMACS]
Nama modul lihat subbab 'Modul GROMACS' diatas.
|
2
|
Gunakan perintah gmx_mpi untuk membuat parameter GROMACS.
Contoh menggunakan pdb2gmx:
$ gmx_mpi pdb2gmx [parameter-input-output]
|
|
4A
|
Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi.
- Nama file bebas dengan format .sh, contoh
submit.sh
|
|
Contoh template Submit Script, ikuti petunjuk NOTES didalamnya.
Template Submit Script GROMACS versi CPU
|
#!/bin/bash
# -----------------------------------------------------
# Template SLURM Submit Script
# GROMACS (versi CPU) | rev.080124
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
# User dapat mengubah bagian yang perlu diubah.
# -----------------------------------------------------
# -----------------------------------------------------
# Alokasi komputasi SBATCH, input, dan module
# -----------------------------------------------------
# Alokasi jumlah core thread CPU
#SBATCH --ntasks=////
# Alokasi jumlah memori RAM (satuan GB)
#SBATCH --mem=////GB
# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS
#SBATCH --time=////
# Definisi file untuk menampung output terminal program
#SBATCH --output=result-%j.txt
# Definisi file untuk menampung output error log
#SBATCH --error=error-%j.txt
# Parameter input dan output untuk GROMACS
GROMACS_PARAMETER="////"
# Memuat modul software GROMACS versi CPU
# Daftar modul lihat subbab "Modul GROMACS" di atas
module load gromacs////
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------
# Perintah menjakankan GROMACS
mpirun -np ${SLURM_NTASKS} gmx_mpi mdrun ${GROMACS_PARAMETER}
|
Template Submit Script GROMACS versi GPU
|
#!/bin/bash
# --------------------------------------------------------
# Template SLURM Submit Script
# GROMACS (dengan akselerasi 1 GPU) | rev.180724
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
# User dapat mengubah bagian yang perlu diubah.
# 3. Rekomendasi performa optimal:
# --------------------------------------------------------
# | gpus | ntasks | cpus-per-task | mem | rate |
# | ------------------------------------------------------
# | 1 | 8 | 8 | 16GB | 64cch+1gh/jam |
# | 2 | 8 | 4 | 16GB | 32cch+2gh/jam |
# --------------------------------------------------------
# (saran diatas tidak wajib dijalankan)
# --------------------------------------------------------
# -----------------------------------------------------
# Alokasi komputasi SBATCH, input, dan module
# -----------------------------------------------------
# Menggunakan partisi compute node GPU
#SBATCH --partition=ampere
# Alokasi jumlah core thread CPU
#SBATCH --ntasks=////
# Alokasi jumlah thread OMP per task MPI
#SBATCH --cpus-per-task=////
# Alokasi jumlah GPU
#SBATCH --gpus=////
# Alokasi jumlah memori RAM (satuan GB)
#SBATCH --mem=////
# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS
#SBATCH --time=////
# Definisi file untuk menampung output terminal program
#SBATCH --output=result-%j.txt
# Definisi file untuk menampung output error log
#SBATCH --error=error-%j.txt
# Parameter input dan output untuk GROMACS
GROMACS_PARAMETER="////"
# Memuat modul software GROMACS versi GPU
# Daftar modul lihat subbab "Modul GROMACS" di atas
module load gromacs////
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------
# Threading OMP
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}
# Perintah menjalankan GROMACS 1 GPU dan multiple GPU
if [ $SLURM_GPUS -eq 1 ]
then
echo "Terdeteksi running GROMACS dengan 1 GPU"
gmx_mdi mdrun ${GROMACS_PARAMETER}
elif [ $SLURM_GPUS -gt 1 ]
then
echo "Terdeteksi running GROMACS dengan $SLURM_GPUS GPU"
# Unset UCX supaya MPI berjalan di NVIDIA
unset UCX_TLS
unset UCX_NET_DEVICES
mpirun -np $SLURM_GPUS gmx_mpi mdrun ${GROMACS_PARAMETER}
|
|
|
- Untuk SBATCH notifikasi email status jalannya job lihat Slurm Jojo.
|
4B
|
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
- Sisa Core Hour user dan Fair Usage Limit.
- Spesifikasi sistem dan software komputasi.
Untuk melihat limit, jalankan perintah berikut:
$ slimit-gromacs
|
5
|
Jalankan job komputasi dengan perintah:
$ sbatch [nama-submit-script]
Contoh:
$ sbatch submit.sh
|
6
|
User dapat melihat status jalannya job dengan perintah:
$ squeue -ul $USER
Kolom ST atau STATE menunjukkan status jalannya job.
|
STATE
|
Penjelasan
|
R (RUN)
|
Job berjalan
|
PD (PENDING)
|
Job tertahan, lihat NODELIST(REASON)
|
CG (COMPLETING)
|
Job selesai dan dalam proses clean-up
|
CA (CANCELED)
|
Job dibatalkan user
|
PR (PREEMPETED)
|
Job dibatalkan admin, alasan dikabarkan via email
|
S (SUSPENDED)
|
Job ditahan admin, alasan dikabarkan via email
|
|
7
|
Apabila user ingin menghentikan job yang berjalan, jalankan perintah:
$ scancel [job-ID]
Job ID ada pada squeue diatas.
contoh membatalkan job ID 231:
$ scancel 231
|
Job Submission Web EFIRO
Langkah Job Submission Web EFIRO
|
1
|
Login ke web EFIRO ALELEON Supercomputer.
|
2
|
Buka pinned apps Job Composer di homepage EFIRO.
Pilih menu New Job -> From Template
|
3
|
Pilih template GROMACS yang diinginkan:
Nama Template
|
Penjelasan
|
GROMACS 2021.1 (CPU)
|
Menjalankan GROMACS 2021.1 pada CPU
|
GROMACS 2022.4 (CPU)
|
Menjalankan GROMACS 2022.4 pada CPU
|
GROMACS 2022.4 (GPU)
|
Menjalankan GROMACS 2022.4 dengan akselerasi GPU
| Kemudian Isi Job Name dan klik Create New Job
|
4
|
Siapkan file komputasi dan parameter GROMACS yang dibutuhkan.
- Menu
Edit Files -> upload / download / edit file
Langkah membuat parameter GROMACS
|
1
|
Buka menu Open Terminal
|
2
|
Aktifkan modul GROMACS yang akan dipakai..
$ module load [nama-modul-GROMACS]
Nama modul lihat subbab 'Modul GROMACS' diatas.
|
3
|
Gunakan perintah gmx_mpi untuk membuat parameter GROMACS.
Contoh menggunakan pdb2gmx:
$ gmx_mpi pdb2gmx [parameter-input-output]
|
|
5A
|
Lengkapi Submit Script melalui tombol Open Editor .
- Submit script adalah 'formulir' untuk menjalankan job komputasi.
- Ikuti petunjuk NOTES didalamnya.
- Klik
Save setiap kali mengubah script.
|
|
|
5B
|
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
- Sisa Core Hour user dan Fair Usage Limit.
- Spesifikasi sistem dan software komputasi.
Untuk melihat limit, jalankan perintah berikut melalui Open Terminal :
$ slimit-gromacs
|
6
|
Jalankan job dengan klik tombol Submit .
- Pantau kolom status yang menjelaskan status jalannya job.
- Apabila ingin membatalkan job yang berjalan, klik
Stop .
Daftar Status Job (klik expand atau kembangkan)
|
Status
|
Arti
|
Not Submitted
|
Job belum pernah dijalankan.
|
Running
|
Job berjalan.
|
Queue
|
Job mengantri dan belum berjalan.
|
Completed
|
Job selesai berjalan.
|
Failed
|
Job berhenti di tengah jalan, antara error atau di stop user
|
Melihat alasan queue:
- Buka app
Active Jobs di homepage EFIRO.
|
|
7
|
Lihat output file komputasi pada kolom Folder Contents
- Atau dengan membuka menu
Edit Files
|
8
|
Untuk menghapus ruang job dan datanya:
- Pilih ruang job yang akan dihapus.
- Klik menu
Delete
|
Pelaporan Kendala dan Support
Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini.
---
Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email:
support@efisonlt.com