Quantum ESPRESSO: Perbedaan antara revisi

Dari ALELEON by EFISON
(Tutorial QE versi EFIRO)
Baris 5: Baris 5:
{| class="wikitable"
{| class="wikitable"
!Versi
!Versi
!Nama Modul
!Dukungan MPI
!Dukungan MPI
!Dukungan Hardware
!Dukungan Hardware
Baris 11: Baris 10:
|-
|-
|6.7
|6.7
|qe
|Pure MPI
|Pure MPI
|CPU, parallel multi-node
|CPU, multi-node
|epyc
|-
|6.8
|Pure MPI
|CPU, multi-node
|epyc
|epyc
|}
|}


== '''SLURM Submission Script''' ==
== '''Menjalankan Quantum ESPRESSO''' ==
User harus menggunakan [[Manajemen SLURM Aleleon|'''manajemen SLURM''']] untuk menjalankan komputasi Quantum ESPRESSO di Compute Node. User dapat menjalankan Quantum ESPRESSO dengan satu node atau paralel (lebih dari satu node) untuk performa lebih kencang.
User menjalankan Quantum ESPRESSO pada '''Job Composer''' EFIRO yang dapat dibuka melalui menu Jobs > Jobs Composer
 
[[Berkas:Efirojobcomposermenu.png|nirbing|400x400px|pra=https://wiki.efisonlt.com/wiki/Berkas:Efirojobcomposermenu.png]]
=== 1. Memilih template Quantum ESPRESSO===
*Klik '''New Jobs > From Template.'''
* Pilih template Quantum ESPRESSO yang dibutuhkan.
*isi '''Job Name''' sesuai keinginan user kemudian klik '''Create New Job'''.
[[Berkas:Jcnewjobmarked.png|al=|nirbing|200x200px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcnewjobmarked.png]]
 
---
 
[[Berkas:Jcselecttemplate3.png|al=|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcselecttemplate3.png]]
{| class="wikitable"
|+Template Quantum ESPRESSO yang tersedia
! Nama Template
!Penjelasan
|-
|Quantum ESPRESSO 6.7
|Template standar QE versi 6.7
|-
|Quantum ESPRESSO 6.8
|Template standar QE versi 6.8
|}---
===2. Mempersiapkan file input Quantum ESPRESSO===
[[Berkas:Jcjoboption3.png|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcjoboption3.png]]
*User dapat melakukan '''upload, editing, dan rename file input''' melalui menu '''Edit Files.'''
*Taruh input file pada direktori yang sama dengan file '''slurm-qe.sh.'''
---
===3A. 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 Quantum ESPRESSO dapat berjalan melalui menu '''Open Editor.'''
 
[[Berkas:Jceditor3.png|al=|nirbing|500x500px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jceditor3.png]]
 
[[Berkas:Jcsaveedit.png|nirbing|450x450px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcsaveedit.png|al=]]
*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:
[[Berkas:Wiki-14.jpg|1000x1000px|link=SLURM Script ALELEON Supercomputer |alt=SLURM Script ALELEON Supercomputer ]]
 
---
===3B. Menjalankan Quantum ESPRESSO Multi-Node (>128 core thread CPU)===
Quantum ESPRESSO menggunakan MPI (Message Passing Interface) sehingga dapat berjalan multi-node atau lebih dari 128 core thread CPU. User dapat mempelajari teknis menjalankan MPI multi-node pada:
{| class="wikitable"
![[MPI ALELEON Supercomputer]]
|-
|
*[https://wiki.efisonlt.com/wiki/MPI_ALELEON_Supercomputer#MPI_Satu_Node_vs_Multi_Node '''MPI Satu Node vs Multi Node''']
|}---
===4. Menjalankan Job===
Semua file untuk menjalankan program dan Submit Script sudah siap? Jalankan job dengan menekan tombol '''Submit'''.
 
[[Berkas:Jcsubmit2.png|al=|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcsubmit2.png]]
 
Perhatikan kolom '''Status''' pada job tersebut. User dapat memantau perubahan kolom Status dengan me-refresh halaman Job. Berikut adalah daftar Status yang terjadi:
{| class="wikitable"
|+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.
|}Apabila user ingin menghentikan job yang sedang berjalan, klik tombol '''Stop''' yang berada di sebelah tombol Submit.


=== '''Satu Node CPU''' ===
---
Contoh berikut untuk menjalankan Quantum ESPRESSO pada satu node CPU.
===5. Melihat hasil job yang selesai===
#!/bin/bash
Apabila job sudah selesai (status Completed), user dapat melihat hasil output job melalui bagian '''Folder Contents''' atau membuka halaman '''Edit Pages.'''
#SBATCH --ntasks=64              # Contoh menggunakan 64 core CPU
#SBATCH --mem=128GB              # Contoh menggunakan RAM 128GB
#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 Quantum ESPRESSO
module load qe
# RUN COMMAND
# mpirun wajib menggunakan flag protokol UCX
'''mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx pw.x -input''' <file_input>


=== '''Multi Node CPU''' ===
[[Berkas:Jcfoldercontentsedit.png|al=|nirbing|399x399px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcfoldercontentsedit.png]]
Contoh berikut untuk menjalankan Quantum ESPRESSO pada lebih dari satu node CPU.
#!/bin/bash
#SBATCH --nodes=2                # Contoh menggunakan 2 node ...
#SBATCH --ntasks-per-node=128    # dengan 128 core per node.
                                  # Maka dari itu total menggunakan 256 core CPU
#SBATCH --mem=128GB              # Contoh menggunakan RAM 128GB per node
#SBATCH --time=10:00:00          # Contoh menggunakan walltime maks 10 jam
#SBATCH --output=result-%j.out  # Output terminal program
#SBATCH --error=result-%j.err    # Output verbose program
# Memuat modul Quantum ESPRESSO
module load qe
# 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 pw.x -input''' <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'''] untuk memahami lebih lanjut tentang berbagai contoh SLURM script diatas,
===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.

Revisi per 17 Februari 2022 13.25

Software Quantum ESPRESSO

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

Versi yang Tersedia

Versi Dukungan MPI Dukungan Hardware Partisi
6.7 Pure MPI CPU, multi-node epyc
6.8 Pure MPI CPU, multi-node epyc

Menjalankan Quantum ESPRESSO

User menjalankan Quantum ESPRESSO pada Job Composer EFIRO yang dapat dibuka melalui menu Jobs > Jobs Composer

Efirojobcomposermenu.png

1. Memilih template Quantum ESPRESSO

  • Klik New Jobs > From Template.
  • Pilih template Quantum ESPRESSO yang dibutuhkan.
  • isi Job Name sesuai keinginan user kemudian klik Create New Job.

---

Template Quantum ESPRESSO yang tersedia
Nama Template Penjelasan
Quantum ESPRESSO 6.7 Template standar QE versi 6.7
Quantum ESPRESSO 6.8 Template standar QE versi 6.8

---

2. Mempersiapkan file input Quantum ESPRESSO

Jcjoboption3.png

  • User dapat melakukan upload, editing, dan rename file input melalui menu Edit Files.
  • Taruh input file pada direktori yang sama dengan file slurm-qe.sh.

---

3A. 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 Quantum ESPRESSO dapat berjalan melalui menu Open Editor.

  • 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

---

3B. Menjalankan Quantum ESPRESSO Multi-Node (>128 core thread CPU)

Quantum ESPRESSO menggunakan MPI (Message Passing Interface) sehingga dapat berjalan multi-node atau lebih dari 128 core thread CPU. User dapat mempelajari teknis menjalankan MPI multi-node pada:

MPI ALELEON Supercomputer

---

4. Menjalankan Job

Semua file untuk menjalankan program dan Submit Script sudah siap? Jalankan job 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.

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 (status Completed), user dapat melihat hasil output job melalui bagian Folder Contents atau membuka halaman Edit Pages.

---

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.