Quantum ESPRESSO: Perbedaan antara revisi

Dari ALELEON by EFISON
(test writing)
(overhaul 13/03/2023)
Baris 2: Baris 2:


[https://www.quantum-espresso.org/ '''Quantum ESPRESSO'''] adalah framework suite untuk kalkulasi ''electronic-structure'' dan modeling material berdasarkan ''density-functional theory'' (DFT)'', plane waves'', dan ''pseudopotentials''.
[https://www.quantum-espresso.org/ '''Quantum ESPRESSO'''] adalah framework suite untuk kalkulasi ''electronic-structure'' dan modeling material berdasarkan ''density-functional theory'' (DFT)'', plane waves'', dan ''pseudopotentials''.
 
=='''Modul Quantum ESPRESSO'''==
== '''Versi yang Tersedia''' ==
Berikut adalah detail versi Quantum ESPRESSO yang tersedia secara global di ALELEON Supercomputer:
{| class="wikitable"
{| class="wikitable"
!Versi
! rowspan="2" |Versi
!Dukungan MPI
! rowspan="2" |Nama modul
!Dukungan Hardware
! rowspan="2" | Modul
DEFAULT
! colspan="4" |Dukungan hardware
|-
|-
|6.7
!CPU
|Pure MPI
!GPU
|CPU, multi-node
!OMP
Threading
!MPI
multi-node
|-
|6.7
|qe/6.7-GCC10-MKL-LibM
| -
|V
| -
| -
|V
|-
|-
|6.8
|6.8
|Pure MPI
|qe/6.8-GCC10-MKL-LibM
|CPU, multi-node
|V
|V
| -
| -
| V
|-
|7.1
| colspan="6" |''coming soon''
|}
|}
 
=='''Menjalankan Quantum ESPRESSO'''==
== '''Menjalankan Quantum ESPRESSO di Job Composer''' ==
User dapat menjalankan Quantum ESPRESSO dengan pilihan cara menjalankan komputasi:
User menjalankan Quantum ESPRESSO pada '''Job Composer''' EFIRO yang dapat dibuka melalui menu Jobs > Jobs Composer
===[[Menggunakan ALELEON Supercomputer via EFIRO#3A%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20Job%20Composer|EFIRO Job Composer]]===
 
Menjalankan komputasi dengan tampilan grafis pada formulir job submission EFIRO Job Composer. Berikut adalah pilihan template Quantum ESPRESSO yang tersedia:
[[Berkas:Efirojobcomposermenu.png|nirbing|400x400px]]
 
== '''Memilih template Quantum ESPRESSO'''==
{| class="wikitable"
{| class="wikitable"
|+Template Quantum ESPRESSO yang tersedia
! Nama Template
! Nama Template
!Penjelasan
!Penjelasan
|-
|-
|Quantum ESPRESSO 6.7
|Quantum ESPRESSO 6.7
|Template standar QE versi 6.7
|Menjalankan Quantum ESPRESSO versi 6.7  
|-
|-
|Quantum ESPRESSO 6.8
| Quantum ESPRESSO 6.7
|Template standar QE versi 6.8
|Menjalankan Quantum ESPRESSO versi 6.8
|}
|}
Template Quantum ESPRESSO adalah set environment untuk menjalankan software Quantum ESPRESSO.
===[[Menggunakan ALELEON Supercomputer via Terminal#3%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20SLURM|SLURM sbatch via Terminal]]===
*Klik '''New Jobs > From Template.'''
Menjalankan komputasi pada terminal melalui job submission SLURM sbatch. Berikut adalah contoh referensi Submit Script untuk menjalankan Quantum ESPRESSO. Perhatikan nama modul mengacu versi Quantum ESPRESSO yang akan digunakan.
* Pilih template Quantum ESPRESSO yang dibutuhkan.
*isi '''Job Name''' sesuai keinginan user kemudian klik '''Create New Job'''.
[[Berkas:Jcnewjobmarked.png|al=|nirbing|200x200px]]
 
---
 
[[Berkas:Jcselecttemplate3.png|al=|nirbing|600x600px]]
=='''Mempersiapkan file input Quantum ESPRESSO'''==
[[Berkas:Jcjoboption3.png|nirbing|600x600px]]
*User dapat melakukan '''upload, editing, dan rename file input Quantum ESPRESSO''' melalui menu '''Edit Files.'''
*Taruh input file pada direktori yang sama dengan file '''slurm-qe.sh.'''
=='''Melengkapi Submit Script Template'''==
[[Berkas:Jceditor3.png|al=|nirbing|500x500px]]
 
* Melalui menu '''Open Editor''', user perlu melengkapi Submit Script supaya program Quantum ESPRESSO dapat berjalan:
** Parameter SBATCH.
** Nama file input Quantum ESPRESSO.
 
* Jangan lupa Save setiap sekali mengubah script.
[[Berkas:Save.png|nirbing|450x450px]]
 
---
===Panduan lengkap mengisi Submit Script===
[[Berkas:Wiki-14.jpg|1000x1000px|link=SLURM Script ALELEON Supercomputer |alt=SLURM Script ALELEON Supercomputer ]]
 
'''Note:''' Submit Script pada dasarnya adalah '''SLURM Script''' karena ALELEON Supercomputer menggunakan manajemen SLURM untuk menjalankan job di Compute Node.
=='''Fitur MPI pada Quantum ESPRESSO'''==
Quantum ESPRESSO menggunakan MPI (Message Passing Interface) sehingga memberi kebebasan user untuk:
{| class="wikitable"
{| class="wikitable"
![[MPI ALELEON Supercomputer]]
! Contoh SLURM Submit Script Quantum ESPESSO
|-
|-
|
|
*[https://wiki.efisonlt.com/wiki/MPI_ALELEON_Supercomputer#MPI_Satu_Node_vs_Multi_Node '''MPI Satu Node vs Multi Node''']
#!/bin/bash
**User dapat menjalankan Quantum ESPRESSO hanya dengan 1 node (maksimal 128 core thread CPU)
**Atau menggunakan '''multi-node''' alias '''lebih dari 128 core thread CPU'''.
# ------------------------------------------------------------------------
# | Template SLURM Submit Script
# | Software        : Quantum ESPRESSO
# | Versi          : tergantung input user
# | Update script  : 13/03/2023
# |
# | NOTES:
# | 1. Isi bagian yang ditandai 4 garing (////).
# | 2. Template ini adalah referensi - user dapat mengubah bagian yang
# |    sekiranya perlu diubah.
# | 3. Panduan mengisi alokasi komputasi (SBATCH) menurut spesifikasi
# |    ALELEON Supercomputer lihat:
# |    <nowiki>https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer</nowiki>
# ------------------------------------------------------------------------
# --------------------------------------------------
# Alokasi komputasi, modul software, dan file input
# --------------------------------------------------
# Alokasi jumlah compute node
#SBATCH --nodes=////
# Alokasi jumlah core thread CPU
#SBATCH --ntasks=////
# Alokasi jumlah memori RAM (satuan GB)
#SBATCH --mem=////GB
# Alokasi limit waktu menjalankan job
#SBATCH --time=////
# Definisi file untuk menampung output terminal
#SBATCH --output=result-%j.txt
# Definisi file untuk menampung output error log   
#SBATCH --error=error-%j.txt
# Nama input file Quantum ESPRESSO dengan format file-nya
INPUT_FILE='////.in'
# Memuat modul software Quantum ESPRESSO
module load qe////
# DAFTAR MODUL Quantum ESPRESSO:
# ----------------------------------------
# | Nama modul              | Versi QE  |
# ----------------------------------------
# | qe/6.7-GCC10-MKL-LibM    | 6.7        |
# | qe/6.7-GCC10-MKL-LibM    | 6.8        |
# ----------------------------------------
# -------------------------------------------------
# RUN SCRIPT
# -------------------------------------------------
# Perintah menjakankan Quantum ESPERESSO
mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx pw.x -input ${INPUT_FILE}
|}
|}
=='''Menjalankan Job'''==
Semua file untuk menjalankan program dan Submit Script sudah siap? Jalankan job dengan menekan tombol '''Submit'''.


[[Berkas:Jcsubmit2.png|al=|nirbing|600x600px]]
== '''Notifikasi Status Jalannya Job Submission via email''' ==
*Perhatikan status jalannya job pada kolom '''Status.'''
SLURM ALELEON Supercomputer dapat mengirim notifikasi email kepada user '''untuk mengabarkan apabila job user sudah berjalan atau selesai'''. SLURM ALELEON Supercomputer menggunakan nama email '''Jojo''' untuk mengirim notifikasi email.
{| class="wikitable"
 
!Status
Silahkan tambahan SBATCH berikut pada SLURM Submit Script (dapat ditambahkan setelah SBATCH error) apabila user ingin menerima notifikasi email dari SLURM:
!Arti
#SBATCH --mail-user=<''alamat-email-user''>
|-
#SBATCH --mail-type=begin
|Not Submitted
#SBATCH --mail-type=end
|Job belum pernah dijalankan.
 
|-
* '''mail-user'''
|Running
** Alamat email user untuk menerima notifikasi SLURM
|Job berjalan.
* '''mail-type=begin'''
|-
** Notifikasi email yang menginfokan job sudah berjalan.
|Queue
* '''mail-type=end'''
|Job mengantri dan belum berjalan.
** Notifikasi email yang menginfokan job sudah selesai.
|-
** Sekaligus memberikan cuplikan 20 baris terakhir dari file output SBATCH output dan error job user.
|Completed
|Job selesai berjalan.
|-
|Failed
|Job berhenti di tengah jalan,
Bisa karena di Stop atau Delete oleh user.
|}
*User dapat memantau perubahan kolom Status dengan me-refresh halaman Job.
*Apabila user ingin menghentikan job yang sedang berjalan, klik tombol '''Stop''' yang berada di sebelah tombol Submit.
=='''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.'''[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|'''Kolom Folder Contents melihat isi dari ruang direktori job. User dapat melihat semua file output yang keluar di kolom ini.''']][[Berkas:Jcjoboption3.png|nir|jmpl|'''atau dengan membuka menu Edit Files. Melalui halaman ini user juga dapat melakukan revisi file input misalnya apabila hasil output tidak sesuai yang diharapkan.''']]
=='''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.

Revisi per 13 Maret 2023 07.43

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:

Versi Nama modul Modul

DEFAULT

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 - - V
7.1 coming soon

Menjalankan Quantum ESPRESSO

User dapat menjalankan Quantum ESPRESSO dengan pilihan cara menjalankan komputasi:

EFIRO Job Composer

Menjalankan komputasi dengan tampilan grafis pada formulir job submission EFIRO Job Composer. Berikut adalah pilihan template Quantum ESPRESSO yang tersedia:

Nama Template Penjelasan
Quantum ESPRESSO 6.7 Menjalankan Quantum ESPRESSO versi 6.7
Quantum ESPRESSO 6.7 Menjalankan Quantum ESPRESSO versi 6.8

SLURM sbatch via Terminal

Menjalankan komputasi pada terminal melalui job submission SLURM sbatch. Berikut adalah contoh referensi Submit Script untuk menjalankan Quantum ESPRESSO. Perhatikan nama modul mengacu versi Quantum ESPRESSO yang akan digunakan.

Contoh SLURM Submit Script Quantum ESPESSO
#!/bin/bash

# ------------------------------------------------------------------------
# | Template SLURM Submit Script
# | Software        : Quantum ESPRESSO
# | Versi           : tergantung input user
# | Update script   : 13/03/2023
# |
# | NOTES: 
# | 1. Isi bagian yang ditandai 4 garing (////).
# | 2. Template ini adalah referensi - user dapat mengubah bagian yang 
# |    sekiranya perlu diubah.
# | 3. Panduan mengisi alokasi komputasi (SBATCH) menurut spesifikasi 
# |    ALELEON Supercomputer lihat: 
# |    https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer
# ------------------------------------------------------------------------

# --------------------------------------------------
# Alokasi komputasi, modul software, dan file input
# --------------------------------------------------

# Alokasi jumlah compute node
#SBATCH --nodes=////

# Alokasi jumlah core thread CPU
#SBATCH --ntasks=////

# Alokasi jumlah memori RAM (satuan GB)
#SBATCH --mem=////GB

# Alokasi limit waktu menjalankan job 
#SBATCH --time=////

# Definisi file untuk menampung output terminal
#SBATCH --output=result-%j.txt

# Definisi file untuk menampung output error log    
#SBATCH --error=error-%j.txt 

# Nama input file Quantum ESPRESSO dengan format file-nya
INPUT_FILE='////.in'

# Memuat modul software Quantum ESPRESSO
module load qe////

# DAFTAR MODUL Quantum ESPRESSO: 
# ----------------------------------------
# | Nama modul               | Versi QE   |
# ---------------------------------------- 
# | qe/6.7-GCC10-MKL-LibM    | 6.7        |
# | qe/6.7-GCC10-MKL-LibM    | 6.8        |
# ----------------------------------------

# -------------------------------------------------
# RUN SCRIPT
# -------------------------------------------------

# Perintah menjakankan Quantum ESPERESSO
mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx pw.x -input ${INPUT_FILE}

Notifikasi Status Jalannya Job Submission via email

SLURM ALELEON Supercomputer dapat mengirim notifikasi email kepada user untuk mengabarkan apabila job user sudah berjalan atau selesai. SLURM ALELEON Supercomputer menggunakan nama email Jojo untuk mengirim notifikasi email.

Silahkan tambahan SBATCH berikut pada SLURM Submit Script (dapat ditambahkan setelah SBATCH error) apabila user ingin menerima notifikasi email dari SLURM:

#SBATCH --mail-user=<alamat-email-user>
#SBATCH --mail-type=begin
#SBATCH --mail-type=end
  • mail-user
    • Alamat email user untuk menerima notifikasi SLURM
  • mail-type=begin
    • Notifikasi email yang menginfokan job sudah berjalan.
  • mail-type=end
    • Notifikasi email yang menginfokan job sudah selesai.
    • Sekaligus memberikan cuplikan 20 baris terakhir dari file output SBATCH output dan error job user.