NAMD: Perbedaan antara revisi

Dari ALELEON by EFISON
(major paraphrasing)
(reformat)
(5 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 1: Baris 1:
== '''Software NAMD''' ==
[[Berkas:NAMDsof.png|nirbing|600x600px]]
 
[https://www.ks.uiuc.edu/Research/namd/ '''NAMD'''] adalah framework dinamika molekular yang digunakan untuk komputasi biomolekuler skala besar di HPC. NAMD mendukung komputasi paralel.
[https://www.ks.uiuc.edu/Research/namd/ '''NAMD'''] adalah framework dinamika molekular yang digunakan untuk komputasi biomolekuler skala besar di HPC. NAMD mendukung komputasi paralel.


Baris 5: Baris 6:
{| class="wikitable sortable mw-collapsible"
{| class="wikitable sortable mw-collapsible"
!Versi
!Versi
!Nama Modul
!Dukungan MPI
!Dukungan MPI
!Dukungan Hardware
!Dukungan Hardware
![[Partisi Aleleon Mk.II|Partisi]]
|-
|-
|2.14
|2.14 (CPU)
|namd/2.14-GCC10-FFTW3F-UCX
|Pure MPI
|Pure MPI
|CPU, parallel multi-node
|CPU, multi-node
|epyc
|-
|-
|2.14
|2.14 (GPU)
|namd/2.14-GCC10-FFTW3F-CUDA11
| -
| -
|CPU - GPU, single-node
|CPU - GPU, single-node
|gpu_ampere
|}
|}
=='''Menjalankan NAMD di Job Composer'''==
{| class="wikitable"
|'''1'''
|Buka menu dashboard EFIRO '''<code>Jobs</code> > <code>Jobs Composer</code>'''
[[Berkas:Efirojobcomposermenu.png|nirbing|300x300px|al=|pra=https://wiki.efisonlt.com/wiki/Berkas:Efirojobcomposermenu.png]]
|-
|'''2'''
|Pilih '''<code>New Jobs</code> > <code>From Template</code>'''
[[Berkas:Jcnewjobmarked.png|al=|nirbing|180x180px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcnewjobmarked.png]]
|-
|'''3'''
|
==='''Memilih Template NAMD'''===
[[Berkas:Jcselecttemplate3.png|al=|nir|jmpl|Pilih template NAMD yang dibutuhkan. Isi atau ganti <code>'''Job Name'''</code> sesuai keinginan user, kemudian klik <code>'''Create New Job'''</code>.|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcselecttemplate3.png]]
{| class="wikitable"
|+Template NAMD
!Nama Template
!Penjelasan
|-
|NAMD 2.14 (CPU)
|Menjalankan NAMD 2.14 versi CPU
|-
|NAMD 2.14 (GPU)
|Menjalankan NAMD 2.14 versi GPU
|}
|-
| rowspan="2" |'''4'''
|
==='''Mempersiapkan File untuk Menjalankan Job'''===
[[Berkas:Jcjoboption3.png|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcjoboption3.png]]
*Gunakan menu '''<code>Edit Files</code>''' untuk upload file yang dibutuhkan'''.'''
**Laman Edit Files juga dapat melakukan view / download / edit / rename / delete file.
|-
|''Fitur upload pada laman Edit Files '''mempunyai batasan ukuran upload 2GB per file'''. Gunakan [[Upload File dengan Aplikasi FTP|'''aplikasi FTP''']] apabila user hendak mengupload file tunggal diatas 2GB.''
|-
|'''5A'''
|
==='''Melengkapi Submit Script Template'''===
[[Berkas:Jceditor3.png|al=|nirbing|300x300px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jceditor3.png]]


== '''Contoh SLURM Script''' ==
Melalui '''<code>Open Editor</code>''', lengkapi Submit Script dengan mengganti bagian yang di tandai 4 garis miring (////).
User harus menggunakan [[Manajemen SLURM Aleleon|'''manajemen SLURM''']] untuk menjalankan komputasi NAMD di Compute Node. User dapat menjalankan NAMD versi CPU dengan satu node atau multi node (lebih dari satu node) untuk performa lebih kencang. User juga dapat menjalankan NAMD versi GPU pada partisi Compute Node GPU. Pastikan memuat modul NAMD yang tepat.
*'''''Jangan lupa klik <code>Save</code> setiap sekali mengubah script.'''''
|-
| rowspan="2" |'''5B'''
|
==='''Panduan lengkap mengisi Submit Script:'''===
[[Berkas:Wiki-14edit.jpg|al=SLURM Script ALELEON Supercomputer|1000x1000px |link=Submit Script ALELEON Supercomputer ]]
|-
|
==='''Fitur MPI pada NAMD versi CPU'''===
NAMD versi CPU menggunakan MPI (Message Passing Interface) sehingga memberi kebebasan user untuk:
*[https://wiki.efisonlt.com/wiki/MPI_ALELEON_Supercomputer#MPI_Satu_Node_vs_Multi_Node '''MPI Satu Node vs Multi Node''']
**User dapat menjalankan NAMD versi CPU hanya dengan 1 node (maksimal 128 core thread CPU)
**Atau menggunakan '''multi-node''' alias '''lebih dari 128 core thread CPU'''.
|-
| rowspan="3" |'''6'''
|
==='''Menjalankan Job'''===
Jalankan job dengan klik tombol '''<code>Submit</code>'''.


=== '''NAMD (CPU) - Satu Node''' ===
[[Berkas:Jcsubmit2.png|al=|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcsubmit2.png]]
Contoh berikut untuk menjalankan NAMD CPU pada satu node CPU.
|-
#!/bin/bash
|Berikut penjelasan kolom '''<code>Status</code>,''' pantau dengan refresh halaman job''':'''
{| class="wikitable"
#SBATCH --ntasks=64              # Contoh menggunakan 64 core CPU
!Status
#SBATCH --mem=128GB              # Contoh menggunakan RAM 128GB
!Arti
#SBATCH --time=10:00:00          # Contoh menetapkan walltime maks 10 jam
|-
#SBATCH --output=result-%j.out    # Output terminal program
|Not Submitted
#SBATCH --error=result-%j.err    # Output verbose program
|Job belum pernah dijalankan.
|-
# Memuat modul NAMD CPU
|Running
'''module load namd/2.14-GCC10-FFTW3F-UCX'''
|Job berjalan.
|-
# RUN COMMAND
|Queue
# mpirun wajib menggunakan flag protokol UCX
|Job mengantri dan belum berjalan.
|-
'''mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx namd2''' <file_input>
|Completed
|Job selesai berjalan.
|-
|Failed
|Job berhenti di tengah jalan,
Bisa karena di Stop atau Delete oleh user.
|}
|-
|
===Stop atau Cancel Job===
Untuk menghentikan job yang tengah berjalan, klik tombol '''Stop'''.


=== '''NAMD (CPU) - Multi Node''' ===
[[Berkas:Stop.png|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Stop.png]]
Contoh menggunakan 2 node, masing-masing 64 core CPU dan RAM 128GB.
|-
#!/bin/bash
|'''7A'''
|
#SBATCH --nodes=2                # Contoh menggunakan 2 node ...
==='''Melihat hasil job yang selesai'''===
#SBATCH --ntasks-per-node=128    # dengan 128 core per node.
Hasil output job dapat dilihat pada kolom '''<code>Folder Contents</code>''' atau membuka halaman '''<code>Edit Pages</code>.'''[[Berkas:Jcfoldercontentsedit.png|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|User dapat melihat semua file output yang keluar di kolom '''<code>Folder Contents</code>'''.]][[Berkas:Jcjoboption3.png|nir|jmpl|atau dengan membuka menu '''<code>Edit Files</code>'''.|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcjoboption3.png]]
                                  # Maka dari itu total menggunakan 256 core CPU
|-
#SBATCH --mem=128GB              # Contoh menggunakan RAM 128GB per node
|'''7B'''
#SBATCH --time=10:00:00          # Contoh menggunakan walltime maks 10 jam
|
#SBATCH --output=result-%j.out    # Output terminal program
==='''Submit Ulang Job'''===
#SBATCH --error=result-%j.err    # Output verbose program
User dapat '''menjalankan ulang ruang job yang sama''' (misalkan ketika ada koreksi file input atau Submit Script) dengan '''mengklik kembali tombol <code>Submit</code>'''.
|}
# Memuat modul NAMD CPU
'''module load namd/2.14-GCC10-FFTW3F-UCX'''
# RUN COMMAND
# mpirun wajib menggunakan flag protokol UCX
# $SLURM_NTASKS menangkap total proses MPI (nodes * ntasks-per-node)
'''mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx namd2''' <file_input>
 
=== '''NAMD (GPU)''' ===
User hanya dapat menjalankan NAMD (GPU) dengan satu node namun dengan banyak GPU untuk performa lebih kencang.
#!/bin/bash
'''# Total GPU yang digunakan ada di argumen --gres=gpu:<jumlah_GPU>'''
#SBATCH --partition=gpu_ampere    # Menggunakan Compute Node GPU.
#SBATCH --ntasks=64              # Contoh menggunakan 64 core CPU
#SBATCH --mem=64GB                # Contoh menggunakan RAM 64GB
#SBATCH --gres=gpu:2              # Menggunakan 2 GPU
#SBATCH --time=10:00:00          # Contoh menetapkan walltime maks 10 jam.
#SBATCH --output=result-%j.out    # Output terminal program.
#SBATCH --error=result-%j.err    # Output verbose program.
# Memuat modul NAMD GPU
'''module load namd/2.14-GCC10-FFTW3F-CUDA11'''
# RUN COMMAND menggunakan perintah charmrun
# Total proses +p<proses> = ntasks
'''charmrun ++local +p${SLURM_NTASKS} namd2''' <file_input>
==='''Pelajari Lebih Lanjut'''===
User dapat melihat laman [https://wiki.efisonlt.com/wiki/Contoh_SLURM_Script#SLURM_Script_untuk_Komputasi_Paralel_MPI '''SLURM Script untuk Komputasi Paralel MPI'''] dan [https://wiki.efisonlt.com/wiki/Contoh_SLURM_Script#SLURM_Script_untuk_Komputasi_GPU '''SLURM Script untuk Komputasi GPU'''] untuk memahami lebih lanjut tentang berbagai contoh SLURM script diatas,

Revisi per 25 Maret 2022 12.04

NAMDsof.png

NAMD adalah framework dinamika molekular yang digunakan untuk komputasi biomolekuler skala besar di HPC. NAMD mendukung komputasi paralel.

Versi yang Tersedia

Versi Dukungan MPI Dukungan Hardware
2.14 (CPU) Pure MPI CPU, multi-node
2.14 (GPU) - CPU - GPU, single-node

Menjalankan NAMD di Job Composer

1 Buka menu dashboard EFIRO Jobs > Jobs Composer

2 Pilih New Jobs > From Template

3

Memilih Template NAMD

Pilih template NAMD yang dibutuhkan. Isi atau ganti Job Name sesuai keinginan user, kemudian klik Create New Job.
Template NAMD
Nama Template Penjelasan
NAMD 2.14 (CPU) Menjalankan NAMD 2.14 versi CPU
NAMD 2.14 (GPU) Menjalankan NAMD 2.14 versi GPU
4

Mempersiapkan File untuk Menjalankan Job

Jcjoboption3.png

  • Gunakan menu Edit Files untuk upload file yang dibutuhkan.
    • Laman Edit Files juga dapat melakukan view / download / edit / rename / delete file.
Fitur upload pada laman Edit Files mempunyai batasan ukuran upload 2GB per file. Gunakan aplikasi FTP apabila user hendak mengupload file tunggal diatas 2GB.
5A

Melengkapi Submit Script Template

Melalui Open Editor, lengkapi Submit Script dengan mengganti bagian yang di tandai 4 garis miring (////).

  • Jangan lupa klik Save setiap sekali mengubah script.
5B

Panduan lengkap mengisi Submit Script:

SLURM Script ALELEON Supercomputer

Fitur MPI pada NAMD versi CPU

NAMD versi CPU menggunakan MPI (Message Passing Interface) sehingga memberi kebebasan user untuk:

  • MPI Satu Node vs Multi Node
    • User dapat menjalankan NAMD versi CPU hanya dengan 1 node (maksimal 128 core thread CPU)
    • Atau menggunakan multi-node alias lebih dari 128 core thread CPU.
6

Menjalankan Job

Jalankan job dengan klik tombol Submit.

Berikut penjelasan kolom Status, pantau dengan refresh halaman 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 jalan,

Bisa karena di Stop atau Delete oleh user.

Stop atau Cancel Job

Untuk menghentikan job yang tengah berjalan, klik tombol Stop.

Stop.png

7A

Melihat hasil job yang selesai

Hasil output job dapat dilihat pada kolom Folder Contents atau membuka halaman Edit Pages.
User dapat melihat semua file output yang keluar di kolom Folder Contents.
atau dengan membuka menu Edit Files.
7B

Submit Ulang Job

User dapat menjalankan ulang ruang job yang sama (misalkan ketika ada koreksi file input atau Submit Script) dengan mengklik kembali tombol Submit.