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
|
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
|
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.
---
Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email:
support@efisonlt.com