Quantum ESPRESSO: Perbedaan antara revisi

Dari ALELEON by EFISON
(→‎Job Submission Web EFIRO: fix formatting error)
Baris 210: Baris 210:
===Job Submission Web EFIRO===
===Job Submission Web EFIRO===
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
!Langkah Job Submission Web EFIRO
!Langkah Job Submission Terminal
[[Berkas:Efirojobcomposer3.png|nirbing|400x400px]]
[[Berkas:Sbatch Terminal.png|tepi|400x400px]]
|-
|-
!1
!1
|-
|-
| [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO Login ke web EFIRO]''' ALELEON Supercomputer.
| 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
! 2
|-
|-
|Buka pinned apps '''Job Composer''' [[Berkas:New Pinnedapps jc.png|nirbing|128x128px]] di homepage EFIRO.
|Siapkan file komputasi yang dibutuhkan.
Pilih menu '''<code>New Job</code>''' -> '''<code>From Template</code>'''
*User dapat upload / download file dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']].
 
[[Berkas:Jcnewjobmarked.png|nirbing|180x180px]]
|-
|-
!3
!3A
|-
|-
|{| class="wikitable"
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi.
! colspan="2" |Pilih template Quantum ESPRESSO yang diinginkan
*Nama file bebas dengan format .sh, contoh '''<code>submit.sh</code>'''
|-
|-
!Nama Template
!
!Penjelasan
|-
|-
|Quantum ESPRESSO 6.7
|Contoh template Submit Script, ikuti petunjuk NOTES didalamnya.
|Menjalankan Quantum ESPRESSO 6.7
{| class="wikitable mw-collapsible mw-collapsed"
!Template Quantum ESPRESSO
|-
|-
|Quantum ESPRESSO 6.8
|<syntaxhighlight lang="bash" line="1">
|Menjalankan Quantum ESPRESSO 6.8
#!/bin/bash
|-
 
|Quantum ESPRESSO 7.1
# -----------------------------------------------------
|Menjalankan Quantum ESPRESSO 7.1
# Template SLURM Submit Script
|}Kemudian Isi '''<code>Job Name</code>''' dan klik '''<code>Create New Job</code>'''
# Quantum ESPRESSO | 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
 
# Nama input file Quantum ESPRESSO yang dijalankan
INPUT_FILE="////.in"
 
# Memuat modul software Quantum ESPRESSO
# Daftar modul lihat subbab "Modul Quantum ESPRESSO" di atas
module load qe////
 
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------
 
# Perintah menjakankan Quantum ESPERESSO
# Kondisi khusus dimana 1 node -> mpirun tanpa UCX
# 2 node -> mpirun dengan UCX


[[Berkas:Jctemplate-2.png|nirbing]]
if [ $SLURM_NNODES -eq 1 ]
|-
then
! 4
echo "Terdeteksi running QE dengan 1 node"
|-
mpirun -np ${SLURM_NTASKS} pw.x -input ${INPUT_FILE}
|Siapkan file komputasi yang dibutuhkan.
elif [ $SLURM_NNODES -gt 1 ]
[[Berkas:Jcjoboption.png|nirbing|400x400px]]
then
*Upload file melalui menu '''<code>Edit Files</code>'''
echo "Terdeteksi running QE dengan 2 node"
**Untuk upload file tunggal diatas 2GB gunakan [[Upload File dengan Aplikasi FTP|'''software FTP''']].
mpirun -np ${SLURM_NTASKS} --mca pml ucx --mca osc ucx pw.x -input ${INPUT_FILE}
|-
fi
!5A
</syntaxhighlight>
|-
|}
|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.
|-
|-
!
!
|-
|-
|
|*''Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].''
*''Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].''
*''Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM '''Slurm Jojo'''].''
*''Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM '''Slurm Jojo'''].''
|-
|-
!5B
!3B
|-
|-
|'''SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit''' berdasarkan:
| '''SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit''' berdasarkan:
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
*Spesifikasi sistem dan software komputasi.
*Spesifikasi sistem dan software komputasi.
Untuk melihat limit, jalankan perintah berikut pada terminal:
Untuk melihat limit, jalankan perintah berikut:
  '''$ slimit-mpi'''
  '''$ slimit-mpi'''  
|-
!4
|-
|Jalankan job komputasi dengan perintah:
$ '''sbatch ''[nama-submit-script]'''''
''Contoh:''
$ sbatch submit.sh
|-
|-
! 6
!5
|-
|-
|Jalankan job dengan klik tombol '''<code>Submit</code>'''.
|User dapat melihat status jalannya job dengan perintah:
[[Berkas:Jcsubmit2.png|al=|nirbing|400x400px]]*Pantau kolom status yang menjelaskan status jalannya job.
'''<code>$ squeue -ul $USER</code>'''
*Apabila ingin membatalkan job yang berjalan, klik '''<code>Stop</code>'''.
*Job completed dapat dijalankan kembali dengan '''<code>Submit</code>'''.
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |Daftar status job:
! colspan="2" |Daftar ST (STATE) menunjukkan status jalannya job:
|-
|-
!Status
!STATE
!Arti
!Penjelasan
|-
|-
|Not Submitted
| R (RUN)
|Job belum pernah dijalankan.
|Job berjalan
|-
|-
|Running
|PD (PENDING)
|Job berjalan.
|Job tertahan, lihat [[Daftar Reason NODELIST ALELEON Supercomputer|'''NODELIST(REASON)''']]
|-
|-
|Queue
|CG (COMPLETING)
|Job mengantri dan belum berjalan.
|Job selesai dan dalam proses clean-up
|-
|-
|Completed
|CA (CANCELED)
|Job selesai berjalan.
|Job dibatalkan user
|-
|-
| Failed
|PR (PREEMPETED)
|Job berhenti di tengah jalan, antara error atau di stop user
|Job dibatalkan admin, alasan dikabarkan via email
|-
|-
| colspan="2" |'''Untuk melihat alasan queue:'''
|S (SUSPENDED)
#Buka app '''<code>Active Jobs</code>''' [[Berkas:Pinnedapps activejobs.png|nirbing|127x127px]]di homepage EFIRO.
|Job ditahan admin, alasan dikabarkan via email
#[[Berkas:Efiroqueueedit.png|nir|jmpl|''Ubah opsi '''<code>Your jobs</code>''' untuk melihat status job user saja. Klik simbol '''>''' untuk melihat status  job pending pada kolom '''Reason'''. Arti reason lihat laman '''[[Daftar Reason NODELIST ALELEON Supercomputer]].''''']]
|}
|}
|-
|-
!7
!
|-
|-
|Lihat output file komputasi pada kolom '''<code>Folder Contents</code>'''
|Apabila user ingin menghentikan job yang berjalan, jalankan perintah:
*Atau dengan membuka '''<code>Edit Files</code>'''
'''$ scancel ''[job-ID]'''''
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>'''.'']]
''Job ID ada pada squeue diatas.''
contoh membatalkan job ID 231:
$ scancel 231
|}
|}
== '''Pelaporan Kendala dan Support''' ==
== '''Pelaporan Kendala dan Support''' ==
Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini.
Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini.

Revisi per 4 Juni 2024 17.38

Quantum ogo ok.png

Quantum ESPRESSO adalah framework suite untuk kalkulasi electronic-structure dan modeling material berdasarkan density-functional theory (DFT), plane waves, dan pseudopotentials.

Modul Quantum ESPRESSO

Berikut adalah detail versi Quantum ESPRESSO yang tersedia secara global di ALELEON Supercomputer:

Modul Quantum ESPRESSO
Versi Nama modul Dukungan hardware
CPU GPU OMP

Threading

MPI

multi-node

6.7 qe/6.7-GCC10-MKL-LibM V - - V
6.8 qe/6.8-GCC10-MKL-LibM V - - V
7.1 qe/7.1-GCC11.3-AOCL4.0-ELPA2022.05-Libxc6.1.0 V - - V

Info Perubahan Menjalankan Quantum ESPRESSO

Terdapat perubahan sintaks MPI menjalankan Quantum ESPRESSO berdasarkan update Slurm ALELEON Supercomputer pada maintenance 7-12 Januari 2024 yaitu:

  • Menggunakan mpirun biasa untuk menjalankan QE satu node.
  • Menggunakan mpirun dengan sintaks UCX untuk menjalankan QE multi-node

Perubahan ini telah diupdate pada tutorial template SLURM Submit Script dan Template Job Composer untuk Quantum ESPRESSO dengan skema sintaks MPI berikut:

...

if [ $SLURM_NNODES -eq 1 ]
then
	echo "Terdeteksi running QE dengan 1 node"
	mpirun -np ${SLURM_NTASKS} pw.x -input ${INPUT_FILE}
elif [ $SLURM_NNODES -gt 1 ]
then
	echo "Terdeteksi running QE dengan ${SLURM_NNODES} node"
	mpirun -np ${SLURM_NTASKS} --mca pml ucx --mca osc ucx pw.x -input ${INPUT_FILE}
fi

Metode Menjalankan Komputasi

User dapat memilih metode menjalankan komputasi sesuai keinginan:

  • Job submission terminal
  • Job submission web EFIRO
    • Berjalan di compute node melalui manajemen Slurm via web EFIRO.

Job Submission Terminal

Langkah Job Submission Terminal

Sbatch Terminal.png

1
Login SSH ke ALELEON Supercomputer.
2
Siapkan file komputasi yang dibutuhkan.
3A
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 Quantum ESPRESSO
#!/bin/bash

# -----------------------------------------------------
# Template SLURM Submit Script
# Quantum ESPRESSO | 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 

# Nama input file Quantum ESPRESSO yang dijalankan
INPUT_FILE="////.in"

# Memuat modul software Quantum ESPRESSO
# Daftar modul lihat subbab "Modul Quantum ESPRESSO" di atas 
module load qe////

# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------

# Perintah menjakankan Quantum ESPERESSO
# Kondisi khusus dimana 1 node -> mpirun tanpa UCX
# 2 node -> mpirun dengan UCX

if [ $SLURM_NNODES -eq 1 ]
then
	echo "Terdeteksi running QE dengan 1 node"
	mpirun -np ${SLURM_NTASKS} pw.x -input ${INPUT_FILE}
elif [ $SLURM_NNODES -gt 1 ]
then
	echo "Terdeteksi running QE dengan 2 node"
	mpirun -np ${SLURM_NTASKS} --mca pml ucx --mca osc ucx pw.x -input ${INPUT_FILE}
fi
*Info script lebih detail lihat Submit Script ALELEON Supercomputer.
  • Untuk SBATCH notifikasi email status jalannya job lihat Slurm Jojo.
3B
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-mpi 
4
Jalankan job komputasi dengan perintah:
$ sbatch [nama-submit-script]

Contoh:
$ sbatch submit.sh
5
User dapat melihat status jalannya job dengan perintah:

$ squeue -ul $USER

Daftar ST (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
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 Terminal

Sbatch Terminal.png

1
Login SSH ke ALELEON Supercomputer.
2
Siapkan file komputasi yang dibutuhkan.
3A
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 Quantum ESPRESSO
#!/bin/bash

# -----------------------------------------------------
# Template SLURM Submit Script
# Quantum ESPRESSO | 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 

# Nama input file Quantum ESPRESSO yang dijalankan
INPUT_FILE="////.in"

# Memuat modul software Quantum ESPRESSO
# Daftar modul lihat subbab "Modul Quantum ESPRESSO" di atas 
module load qe////

# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------

# Perintah menjakankan Quantum ESPERESSO
# Kondisi khusus dimana 1 node -> mpirun tanpa UCX
# 2 node -> mpirun dengan UCX

if [ $SLURM_NNODES -eq 1 ]
then
	echo "Terdeteksi running QE dengan 1 node"
	mpirun -np ${SLURM_NTASKS} pw.x -input ${INPUT_FILE}
elif [ $SLURM_NNODES -gt 1 ]
then
	echo "Terdeteksi running QE dengan 2 node"
	mpirun -np ${SLURM_NTASKS} --mca pml ucx --mca osc ucx pw.x -input ${INPUT_FILE}
fi
*Info script lebih detail lihat Submit Script ALELEON Supercomputer.
  • Untuk SBATCH notifikasi email status jalannya job lihat Slurm Jojo.
3B
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-mpi 
4
Jalankan job komputasi dengan perintah:
$ sbatch [nama-submit-script]

Contoh:
$ sbatch submit.sh
5
User dapat melihat status jalannya job dengan perintah:

$ squeue -ul $USER

Daftar ST (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
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 

Pelaporan Kendala dan Support

Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini.

Wiki-pelaporankendala.jpg

---

Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email:

support@efisonlt.com