OpenMX: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (→SLURM sbatch via Terminal: paraphrasing comment script) |
WilsonLisan (bicara | kontrib) (→Metode Menjalankan Komputasi: paraphrasing) |
||
(12 revisi perantara oleh pengguna yang sama tidak ditampilkan) | |||
Baris 6: | Baris 6: | ||
Berikut adalah detail versi OpenMX yang tersedia secara global di ALELEON Supercomputer: | Berikut adalah detail versi OpenMX yang tersedia secara global di ALELEON Supercomputer: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Modul OpenMX | |||
! rowspan="2" |Versi | ! rowspan="2" |Versi | ||
! rowspan="2" |Nama modul | ! rowspan="2" |Nama modul | ||
Baris 28: | Baris 29: | ||
|} | |} | ||
== '''DATA.PATH pada File Input''' == | === '''DATA.PATH pada File Input''' === | ||
User wajib mendefinisikan DATA.PATH berikut pada file input supaya OpenMX dapat berjalan | User wajib mendefinisikan DATA.PATH berikut pada file input supaya OpenMX dapat berjalan. Daftar DATA.PATH per versi OpenMX lihat tabel di bawah. | ||
DATA.PATH /comp/openmx/3.9.9-GCC11.3-AOCL4.0/DFT_DATA19 | DATA.PATH ''[data-path-OpenMX]'' | ||
{| class="wikitable" | |||
|+Daftar DATA.PATH OpenMX | |||
!Versi | |||
!DATA.PATH | |||
|- | |||
|3.9.9 | |||
|<code>/comp/openmx/3.9.9-GCC11.3-AOCL4.0/DFT_DATA19</code> | |||
|} | |||
== '''Pilihan MPI atau Threading OpenMP''' == | == '''Pilihan MPI atau Threading OpenMP untuk Menjalankan OpenMX''' == | ||
OpenMX dapat berjalan melalui | OpenMX di ALELEON Supercomputer dapat berjalan melalui paralelisasi '''MPI''', '''OpenMP''' (OMP), atau keduanya ('''hybrid MPI/OMP''') untuk menggunakan multi-core CPU dan multi-node. Admin menyerahkan keputusan kepada user untuk memilih metode paralelisasi melalui parameter Submit Script berikut: | ||
*''Penjelasan submit script lihat subbab berikutnya (Pilihan Menjalankan Komputasi).'' | |||
*'''SBATCH ntasks mewakili jumlah task MPI sedangkan SBATCH cpus-per-task mewakili jumlah thread OMP.''' | |||
'''#SBATCH --ntasks''' ''-> mewakili jumlah task MPI'' | '''#SBATCH --ntasks''' ''-> mewakili jumlah task MPI'' | ||
'''#SBATCH --cpus-per-task''' ''-> mewakili jumlah thread OpenMP'' | '''#SBATCH --cpus-per-task''' ''-> mewakili jumlah thread OpenMP'' | ||
*Apabila ingin | *'''Apabila ingin MPI saja,''' isi jumlah SBATCH cpus-per-task dengan 1: | ||
''# Pure MPI'' | ''# Pure MPI'' | ||
'''#SBATCH --ntasks=''''' | '''#SBATCH --ntasks='''''[isi-sesuai-keinginan]'' | ||
'''#SBATCH --cpus-per-task=1''' | '''#SBATCH --cpus-per-task=1''' | ||
*Apabila ingin Hybrid MPI/OMP | *'''Apabila ingin Hybrid MPI/OMP,''' isi kedua parameter tersebut: | ||
**Total core CPU yang digunakan adalah '''ntasks * cpus-per-task'''. | |||
**Contoh menggunakan 2 proses MPI dan 4 thread OMP per MPI sehingga total menggunakan 8 core CPU: | |||
''# Hybrid MPI/OMP, contoh dengan 2 proses MPI dan 4 thread OMP per MPI.'' | ''# Hybrid MPI/OMP, contoh dengan 2 proses MPI dan 4 thread OMP per MPI.'' | ||
'''#SBATCH --ntasks=2''' | '''#SBATCH --ntasks=2''' | ||
'''#SBATCH --cpus-per-task=4''' | '''#SBATCH --cpus-per-task=4''' | ||
*Apabila ingin | *'''Apabila ingin OMP saja,''' isi jumlah ntasks dengan 1: | ||
''# Pure OMP'' | ''# Pure OMP'' | ||
'''#SBATCH --ntasks=1''' | '''#SBATCH --ntasks=1''' | ||
'''#SBATCH --cpus-per-task=''''' | '''#SBATCH --cpus-per-task='''''[isi-sesuai-keinginan]'' | ||
=='''Metode Menjalankan Komputasi'''== | |||
User dapat menjalankan OpenMX dengan pilihan metode: | |||
=== Batch Job === | |||
Menjalankan komputasi di [[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|compute node]] melalui manajemen Slurm kemudian user menunggu hingga selesai. Terdapat dua opsi tampilan yang dapat dipilih sesuai preferensi user: ''<small>(klik expand atau kembangkan)</small>'' | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!Langkah Job Submission Slurm di Terminal | |||
[[Berkas:Sbatch terminal display rev2.png|tepi|400x400px]] | |||
|- | |||
!1 | |||
|- | |||
| Lakukan [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_Terminal#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#Login_SSH Login SSH]''' ke ALELEON Supercomputer. | |||
|- | |||
!2 | |||
|- | |||
| Siapkan file komputasi yang dibutuhkan. | |||
*Perhatikan DATA.PATH pada file input. | |||
*User dapat upload / download file dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']]. | |||
|- | |||
!3A | |||
|- | |||
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi. | |||
*Nama file bebas dengan format .sh, contoh '''<code>submit.sh</code>''' | |||
|- | |||
! | |||
|- | |||
|Contoh template Submit Script, ikuti petunjuk NOTES didalamnya. | |||
* <small>Klik expand / kembangkan</small> | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!Template Submit Script OpenMX | |||
|- | |||
|<syntaxhighlight lang="bash" line="1"> | |||
#!/bin/bash | |||
# ----------------------------------------------------- | |||
# Template SLURM Submit Script | |||
# OpenMX | rev.080124 | |||
# | |||
# NOTES: | |||
# 1. Isi bagian yang ditandai 4 garing (////). | |||
# 2. Template ini bersifat referensi. | |||
# User dapat mengubah bagian yang perlu diubah. | |||
# 3. Perhatikan rate CCH = ntasks * cpus-per-task. | |||
# ----------------------------------------------------- | |||
# ----------------------------------------------------- | |||
# Alokasi komputasi SBATCH, input, dan module | |||
# ----------------------------------------------------- | |||
# Alokasi jumlah core thread CPU, mewakili jumlah task MPI | |||
#SBATCH --ntasks=//// | |||
# Alokasi jumlah thread OMP per task MPI | |||
#SBATCH --cpus-per-task=//// | |||
# 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 | |||
# Nama input file OpenMX yang dijalankan | |||
INPUT_FILE='////.dat' | |||
# Memuat modul software OpenMX | |||
# Daftar modul lihat subbab "Modul OpenMX" di atas | |||
module load openmx//// | |||
# ---------------------------------------------------- | |||
# Script jalannya program | |||
# ---------------------------------------------------- | |||
= | # Definisi threading OMP | ||
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK} | |||
# Perintah menjakankan OpenMX | |||
mpirun -np ${SLURM_NTASKS} openmx ${INPUT_FILE} | |||
</syntaxhighlight> | |||
|} | |||
|- | |||
| | |||
* ''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].</small>'' | |||
*''<small>Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM '''Slurm Jojo'''].</small>'' | |||
|- | |||
!3B | |||
|- | |||
|'''SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit''' berdasarkan: | |||
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']]. | |||
*Spesifikasi sistem dan software komputasi. | |||
Untuk melihat limit, jalankan perintah berikut: | |||
'''$ slimit-hympi''' | |||
|- | |||
!4 | |||
|- | |||
|Jalankan job komputasi dengan perintah: | |||
$ '''sbatch ''[nama-submit-script]''''' | |||
''Contoh:'' | |||
$ sbatch submit.sh | |||
|- | |||
!5 | |||
|- | |||
|User dapat melihat status jalannya job dengan perintah: | |||
'''<code>$ squeue -ul $USER</code>''' | |||
{| class="wikitable" | {| class="wikitable" | ||
! colspan="2" |''Kolom ST atau STATE menunjukkan status jalannya job.'' | |||
|- | |||
!STATE | |||
!Penjelasan | |||
|- | |||
|R (RUN) | |||
|Job berjalan | |||
|- | |||
|PD (PENDING) | |||
| Job tertahan, lihat [[Daftar Reason NODELIST ALELEON Supercomputer|'''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 | |||
|} | |||
|- | |||
! | |||
|- | |||
| 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 | |||
|} | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
! Langkah Job Submission Slurm di Web EFIRO | |||
[[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]] | |||
|- | |||
!1 | |||
|- | |||
| Lakukan [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_Terminal#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO Login ke web EFIRO]''' ALELEON Supercomputer. | |||
|- | |||
!2 | |||
|- | |||
|[[Berkas:New Pinnedapps jc.png|nirbing|128x128px]]Buka pinned apps '''Job Composer''' di homepage EFIRO. | |||
Pilih menu '''<code>New Job</code>''' -> '''<code>From Template</code>''' | |||
[[Berkas:Jcnewjobmarked.png|nirbing|180x180px]] | |||
|- | |||
! 3 | |||
|- | |||
| | |||
{| class="wikitable" | |||
! colspan="2" |Pilih template OpenMX yang diinginkan: | |||
|- | |||
!Nama Template | !Nama Template | ||
!Penjelasan | !Penjelasan | ||
Baris 61: | Baris 235: | ||
|OpenMX 3.9.9 | |OpenMX 3.9.9 | ||
|Menjalankan OpenMX 3.9.9 | |Menjalankan OpenMX 3.9.9 | ||
|}Kemudian Isi '''<code>Job Name</code>''' dan klik '''<code>Create New Job</code>''' | |||
[[Berkas:Jctemplate-2.png|nirbing]] | |||
|- | |||
! 4 | |||
|- | |||
| Siapkan file komputasi yang dibutuhkan: | |||
*Upload file melalui menu '''<code>Edit Files</code>''' | |||
**Untuk upload file tunggal diatas 2GB gunakan [[Upload File dengan Aplikasi FTP|'''software FTP''']]. | |||
*Perhatikan DATA.PATH pada file input. | |||
[[Berkas:JC job menu.png|nirbing|500x500px]] | |||
|- | |||
!5A | |||
|- | |||
|Lengkapi '''Submit Script''' melalui tombol '''<code>Open Editor</code>'''. | |||
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]] | |||
*Submit script adalah 'formulir' untuk menjalankan job komputasi. | |||
*Ikuti petunjuk NOTES didalamnya | |||
*Klik '''<code>Save</code>''' setiap kali mengubah script. | |||
|- | |||
| | |||
*''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].</small>'' | |||
*''<small>Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM '''Slurm Jojo'''].</small>'' | |||
|- | |||
!5B | |||
|- | |||
|'''SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit''' berdasarkan: | |||
* Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']]. | |||
*Spesifikasi sistem dan software komputasi. | |||
Untuk melihat limit, jalankan perintah berikut pada terminal: | |||
'''$ slimit-hympi''' | |||
|- | |||
!6 | |||
|- | |||
|Jalankan job dengan klik tombol '''<code>Submit</code>'''. | |||
*Pantau kolom status yang menjelaskan status jalannya job. | |||
*Apabila ingin membatalkan job yang berjalan, klik '''<code>Stop</code>'''. | |||
[[Berkas:JC job runstop.png|al=|nirbing|500x500px]] | |||
{| class="wikitable" | |||
! colspan="2" |Daftar status 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 karena error atau di stop user. | |||
|- | |||
| colspan="2" |'''''Untuk melihat alasan job yang queue:'''''[[Berkas:Active Jobs detail.png|nir|jmpl|300x300px|''Buka pinned apps '''Active Jobs''' di homepage EFIRO. Ubah opsi All jobs ke '''Your Jobs'''. Klik simbol '''>''' untuk melihat status job yang pending pada kolom Reason. Arti reason lihat laman [[Daftar Reason NODELIST ALELEON Supercomputer|'''Daftar Reason NODELIST ALELEON Supercomputer''']].'']] | |||
|} | |} | ||
|- | |- | ||
!7 | |||
|- | |||
|Lihat output file komputasi pada kolom '''<code>Folder Contents</code>''' | |||
* Atau dengan membuka '''<code>Edit Files</code>''' | |||
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>'''.'']] | |||
|- | |||
!8 | |||
|- | |||
|Untuk menghapus ruang job dan datanya: | |||
*Pilih ruang job yang akan dihapus. | |||
*Klik menu '''<code>Delete</code>''' | |||
[[Berkas:JC delete menu.png|nirbing|500x500px]] | |||
|} | |} | ||
==''' | =='''Pelaporan Kendala dan Support'''== | ||
Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini. | |||
[[Berkas:Wiki-pelaporankendala.jpg|1000x1000px|link=https://efisonlt.com/aleleonbugreport]] | |||
--- | |||
Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email: | |||
'''support@efisonlt.com''' | |||
Revisi terkini sejak 18 Desember 2024 07.50
OpenMX adalah software package untuk simulasi material skala nano berdasarkan DFT (Density Functional Theories), norm-conserving pseudopotensials, dan pseudo-atomic localized basis functinons. OpenMX merupakan software tidak berbayar dengan lisensi GNU GPLv3.
Modul OpenMX
Berikut adalah detail versi OpenMX yang tersedia secara global di ALELEON Supercomputer:
Versi | Nama modul | Modul
DEFAULT |
Dukungan hardware | |||
---|---|---|---|---|---|---|
CPU | GPU | OMP
Threading |
MPI
multi-node | |||
3.9.9 | openmx/3.9.9-GCC11.3-AOCL4.0 | V | V | - | V | V |
DATA.PATH pada File Input
User wajib mendefinisikan DATA.PATH berikut pada file input supaya OpenMX dapat berjalan. Daftar DATA.PATH per versi OpenMX lihat tabel di bawah.
DATA.PATH [data-path-OpenMX]
Versi | DATA.PATH |
---|---|
3.9.9 | /comp/openmx/3.9.9-GCC11.3-AOCL4.0/DFT_DATA19
|
Pilihan MPI atau Threading OpenMP untuk Menjalankan OpenMX
OpenMX di ALELEON Supercomputer dapat berjalan melalui paralelisasi MPI, OpenMP (OMP), atau keduanya (hybrid MPI/OMP) untuk menggunakan multi-core CPU dan multi-node. Admin menyerahkan keputusan kepada user untuk memilih metode paralelisasi melalui parameter Submit Script berikut:
- Penjelasan submit script lihat subbab berikutnya (Pilihan Menjalankan Komputasi).
- SBATCH ntasks mewakili jumlah task MPI sedangkan SBATCH cpus-per-task mewakili jumlah thread OMP.
#SBATCH --ntasks -> mewakili jumlah task MPI #SBATCH --cpus-per-task -> mewakili jumlah thread OpenMP
- Apabila ingin MPI saja, isi jumlah SBATCH cpus-per-task dengan 1:
# Pure MPI #SBATCH --ntasks=[isi-sesuai-keinginan] #SBATCH --cpus-per-task=1
- Apabila ingin Hybrid MPI/OMP, isi kedua parameter tersebut:
- Total core CPU yang digunakan adalah ntasks * cpus-per-task.
- Contoh menggunakan 2 proses MPI dan 4 thread OMP per MPI sehingga total menggunakan 8 core CPU:
# Hybrid MPI/OMP, contoh dengan 2 proses MPI dan 4 thread OMP per MPI. #SBATCH --ntasks=2 #SBATCH --cpus-per-task=4
- Apabila ingin OMP saja, isi jumlah ntasks dengan 1:
# Pure OMP #SBATCH --ntasks=1 #SBATCH --cpus-per-task=[isi-sesuai-keinginan]
Metode Menjalankan Komputasi
User dapat menjalankan OpenMX dengan pilihan metode:
Batch Job
Menjalankan komputasi di compute node melalui manajemen Slurm kemudian user menunggu hingga selesai. Terdapat dua opsi tampilan yang dapat dipilih sesuai preferensi user: (klik expand atau kembangkan)
Langkah Job Submission Slurm di Terminal | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||
Login SSH ke ALELEON Supercomputer. | ||||||||||||||||
2 | ||||||||||||||||
Siapkan file komputasi yang dibutuhkan.
| ||||||||||||||||
3A | ||||||||||||||||
Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi.
| ||||||||||||||||
Contoh template Submit Script, ikuti petunjuk NOTES didalamnya.
| ||||||||||||||||
| ||||||||||||||||
3B | ||||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
Untuk melihat limit, jalankan perintah berikut: $ slimit-hympi | ||||||||||||||||
4 | ||||||||||||||||
Jalankan job komputasi dengan perintah:
$ sbatch [nama-submit-script] Contoh: $ sbatch submit.sh | ||||||||||||||||
5 | ||||||||||||||||
User dapat melihat status jalannya job dengan perintah:
| ||||||||||||||||
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 |
Langkah Job Submission Slurm di Web EFIRO | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||
Login ke web EFIRO ALELEON Supercomputer. | ||||||||||||||||
2 | ||||||||||||||||
![]() Pilih menu | ||||||||||||||||
3 | ||||||||||||||||
Job Name dan klik Create New Job
| ||||||||||||||||
4 | ||||||||||||||||
Siapkan file komputasi yang dibutuhkan:
| ||||||||||||||||
5A | ||||||||||||||||
Lengkapi Submit Script melalui tombol Open Editor .
| ||||||||||||||||
| ||||||||||||||||
5B | ||||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
Untuk melihat limit, jalankan perintah berikut pada terminal: $ slimit-hympi | ||||||||||||||||
6 | ||||||||||||||||
Jalankan job dengan klik tombol Submit .
| ||||||||||||||||
7 | ||||||||||||||||
Lihat output file komputasi pada kolom Folder Contents
| ||||||||||||||||
8 | ||||||||||||||||
Untuk menghapus ruang job dan datanya:
|
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