GROMACS

Dari ALELEON by EFISON

Revisi sejak 15 Februari 2022 09.55 oleh WilsonLisan (bicara | kontrib) (overhaul total halaman dengan membuat standar penulisan baru untuk OOD)

Deskripsi

GROMACS adalah package berkecepatan tinggi untuk komputasi dinamika molekular baik untuk biokimia (seperti protein, lipids) maupun non-biokimia (seperti polimer).

Versi yang Tersedia

Versi Nama Modul Dukungan MPI Dukungan Hardware Partisi
2021.1 gromacs Hybrid MPI/OMP CPU-GPU

parallel multi-node

epyc

gpu_ampere

Menjalankan GROMACS

User menjalankan GROMACS di Job Composer EFIRO yang dapat dibuka melalui menu Jobs > Jobs Composer

Efirojobcomposermenu.png


1. Memilih template GROMACS

Pilih New Jobs > From Template kemudian user memilih template untuk menjalankan GROMACS. Pilih template GROMACS yang dibutuhkan, isi Job Name sesuai keinginan user kemudian klik Create New Job.

Jcnewjob.png

Template GROMACS yang tersedia
GROMACS (CPU) - Standard Template
  • Template standar menjalankan GROMACS di Compute Node CPU.
GROMACS dengan 1 GPU
  • Menjalankan GROMACS dengan bantuan akselerasi 1 GPU.
GROMACS dengan 2 GPU
  • Menjalankan GROMACS dengan bantuan akselerasi 2 GPU.

2. Mempersiapkan file input dan menjalankan interaktif GROMACS

Jcjoboption.png

  • User dapat melakukan manajemen file seperti upload input file, editing input file, rename, dll melalui menu Edit Files.
  • Beberapa perintah GROMACS bekerja secara interaktif dan membutuhkan input dari user (contoh: pdb2gmx, grompp) sehingga harus dijalankan via terminal melalui menu Open Terminal.
    • Muat modul GROMACS untuk mengaktifkan software GROMACS:
    • Lanjutkan dengan melakukan perintah interaktif GROMACS (contoh: pdb2gmx):
$ module load gromacs
$ gmx_mpi pdb2gmx <parameter_input_dan_output>

3. Melengkapi Submit Script Template

Submit Script adalah set perintah untuk menjalankan program user ke Compute Node melalui manajemen SLURM. User perlu melengkapi script template supaya program GROMACS dapat berjalan melalui menu Open Editor.

Jceditor.png

  • User dapat memahami script dan mengikuti instruksi melalui penjelasan di deretan comment script template.
  • Panduan lengkap untuk mengisi Submit Script dengan benar pada ALELEON Supercomputer:

SLURM Script ALELEON Supercomputer

Jcsaveedit.png


4. Menjalankan Job

Semua file untuk menjalankan program dan Submit Script sudah siap? Jalankan job tersebut dengan menekan tombol Submit.

Perhatikan kolom Status pada job tersebut. User dapat memantau perubahan kolom Status dengan me-refresh halaman Job. Berikut adalah daftar Status yang terjadi:

Status jalannya Job
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 berjalan.

Bisa karena di Stop atau Delete oleh user atau server tiba-tiba mati.

Apabila user ingin menghentikan job yang sedang berjalan, klik tombol Stop yang berada di sebelah tombol Submit.


5. Melihat hasil job yang selesai

Apabila job sudah selesai berjalan, user dapat melihat hasil file yang dihasilkan melalui Edit Pages atau melihat secara cepat pada kolom Folder Contents.


6. Submit ulang job

User dapat menjalankan ulang job pada ruang job yang sama (misalkan ketika ada error dan mau dijalankan ulang setelah koreksi file input) dengan mengklik kembali tombol Submit.

Akselerasi GPU di GROMACS

User dapat menjalankan GROMACS dengan bantuan akselerasi GPU di Compute Node GPU. Perlu diketahui tidak semua input dan parameter berjalan kencang dengan akselerasi GPU. Harap user dapat menguji terlebih dahulu mdrun-nya dengan nsteps kecil untuk mengetahui peningkatan performa yang bisa diperoleh melalui akselerasi GPU.

Biasanya, GROMACS mdrun tidak memerlukan parameter tambahan untuk menjalankan akselerasi GPU. Namun dalam beberapa kasus, optimasi menggunakan parameter tambahan bisa berpengaruh positif ke kecepatan komputasi. Referensi mengenai parameter akselerasi GPU lanjutan (-nb, -bonded, -pme) dapat dibaca di laman Getting good performance from mdrun — GROMACS 2021.1 documentation dan Creating Faster Molecular Dynamics Simulations with GROMACS 2020 | NVIDIA Developer Blog.

Ikuti Arahan Template

User disarankan untuk tidak mengubah parameter CPU, GPU, RAM, dan OMP pada template karena telah dirancang untuk berjalan optimal di Compute Node GPU ALELEON Supercomputer - kecuali user bersedia mempelajari aturan menjalankan GROMACS pada GPU di ALELEON Supercomputer:

---

Akselerasi Satu GPU

Berikut adalah aturan (dan rekomendasi dari admin EFISON) menjalankan GROMACS dengan 1 GPU di ALELEON Supercomputer:

  • Berjalan dengan paralelisasi OpenMP (OMP) dengan jumlah thread sama dengan jumlah core thread CPU.
export OMP_NUM_THREADS=$SLURM_NTASKS
  • Jumlah CPU dan RAM kecil karena semua komputasi ditumpahkan ke GPU. Admin EFISON merekomendasikan nilai ntasks antara 4 atau 8 dengan RAM 2GB per ntasks.

---

Akselerasi Banyak GPU di GPU Node dan Hybrid MPI/OMP

Berikut adalah aturan (dan rekomendasi dari admin EFISON) menjalankan GROMACS dengan multi-GPU di ALELEON Supercomputer:

  • Berjalan dengan Hybrid MPI/OMP.
  • Pada jumlah proses MPI, EFISON merekomendasikan (atau sangat menganjurkan) untuk disamakan dengan jumlah GPU yang dipakai, sehingga:
Jumlah proses MPI = jumlah GPU yang digunakan
  • Berikutnya user memilih jumlah thread OMP per MPI. Jumlah thread OMP maksimal adalah 6 thread OMP per MPI.
  • Jumlah core CPU yang dipakai (ntasks) pada script SLURM mengikuti perumusan:
ntasks = jumlah GPU yang dipakai * jumlah thread OMP per MPI yang dipilih user