PHASE/0: Perbedaan antara revisi

Dari ALELEON by EFISON
(Repair link)
(Tutorial menjalankan PHASE/0 via EFIRO)
Baris 4: Baris 4:
{| class="wikitable"
{| class="wikitable"
!Versi
!Versi
!Nama Modul
!Nama Template
!Dukungan MPI
!Dukungan MPI
!Dukungan Hardware
!Dukungan Hardware
![[Partisi Aleleon Mk.II|Partisi]]
|-
|-
|2020.01
|2020.01
|phase0
|PHASE/0 2020.01
|Pure MPI
|Pure MPI
|CPU, parallel multi-node
|CPU, multi-node
|epyc
|}
|}
=='''Contoh SLURM Script'''==
 
User harus menggunakan [[Scheduler SLURM Aleleon|'''manajemen SLURM''']] untuk menjalankan komputasi PHASE/0 di Compute Node. User dapat menjalankan PHASE/0 dengan satu node atau multi node (lebih dari satu node) untuk performa lebih.
== '''Menjalankan PHASE/0''' ==
==='''Satu Node CPU'''===
User menjalankan PHASE/0 pada '''Job Composer''' EFIRO yang dapat dibuka melalui menu Jobs > Jobs Composer
Contoh berikut untuk menjalankan PHASE/0 pada satu node CPU.
 
#!/bin/bash
[[Berkas:Efirojobcomposermenu.png|nirbing|400x400px|pra=https://wiki.efisonlt.com/wiki/Berkas:Efirojobcomposermenu.png]]
===1. Memilih template PHASE/0===
#SBATCH --ntasks=64              # Contoh menggunakan 64 core CPU
*Klik '''New Jobs > From Template.'''
#SBATCH --mem=128GB              # Contoh menggunakan RAM 128GB
*Pilih template PHASE/0 yang dibutuhkan.
#SBATCH --time=10:00:00          # Contoh menetapkan walltime maks 10 jam
*isi '''Job Name''' sesuai keinginan user kemudian klik '''Create New Job'''.
#SBATCH --output=result-%j.out    # Output terminal program
[[Berkas:Jcnewjobmarked.png|al=|nirbing|200x200px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcnewjobmarked.png]]
#SBATCH --error=result-%j.err    # Output verbose program
 
---
# Memuat modul PHASE/0
 
'''module load phase0'''
[[Berkas:Jcselecttemplate3.png|al=|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcselecttemplate3.png]]
{| class="wikitable"
# RUN COMMAND
|+Template PHASE/0 yang tersedia
# mpirun wajib menggunakan flag protokol UCX
!Nama Template
!Penjelasan
'''mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx phase'''
|-
==='''Multi Node CPU'''===
|PHASE/0 2020.01
Contoh berikut untuk menjalankan PHASE/0 pada lebih dari satu node CPU.
|Template standar PHASE/0 versi 2020.01
#!/bin/bash
|}---
===2. Mempersiapkan file input PHASE/0===
#SBATCH --nodes=2                # Contoh menggunakan 2 node ...
[[Berkas:Jcjoboption3.png|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcjoboption3.png]]
#SBATCH --ntasks-per-node=128    # dengan 128 core per node.
*User dapat melakukan '''upload input file, editing input file, rename''', dll melalui menu '''Edit Files.'''
                                  # Maka dari itu total menggunakan 256 core CPU
*Taruh input file pada direktori yang sama dengan file '''slurm-phase.sh.'''
#SBATCH --mem=128GB              # Contoh menggunakan RAM 128GB per node
---
#SBATCH --time=10:00:00          # Contoh menggunakan walltime maks 10 jam
===3A. Melengkapi Submit Script Template===
#SBATCH --output=result-%j.out    # Output terminal program
Submit Script adalah set perintah untuk menjalankan program user ke Compute Node melalui '''manajemen SLURM'''. User perlu melengkapi script template supaya program PHASE/0 dapat berjalan melalui menu '''Open Editor.'''
#SBATCH --error=result-%j.err    # Output verbose program
 
[[Berkas:Jceditor3.png|al=|nirbing|500x500px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jceditor3.png]]
# Memuat modul PHASE/0
 
'''module load phase0'''
[[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.
# RUN COMMAND
*Panduan lengkap untuk mengisi Submit Script dengan benar pada ALELEON Supercomputer:
# mpirun wajib menggunakan flag protokol UCX
[[Berkas:Wiki-14.jpg|1000x1000px|link=SLURM Script ALELEON Supercomputer |alt=SLURM Script ALELEON Supercomputer ]]
# $SLURM_NTASKS menangkap total proses MPI (nodes * ntasks-per-node)
 
---
'''mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx phase'''
===3B. Menjalankan PHASE/0 Multi-Node (>128 core thread CPU)===
==='''Pelajari Lebih Lanjut'''===
PHASE/0 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:
Pengguna 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,
{| 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.
 
---
===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.'''
 
[[Berkas:Jcfoldercontentsedit.png|al=|nirbing|399x399px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcfoldercontentsedit.png]]
 
---
===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.08

Deskripsi

PHASE/0 adalah program untuk menghitung struktur elektronik yang berbasis DFT (density functional theory) dan skema pseudopotensial. Program ini dapat memperkirakan ciri fisik dari material yang tidak ditemukan dalam percobaan apapun dengan ketepatan tinggi.

Versi yang Tersedia

Versi Nama Template Dukungan MPI Dukungan Hardware
2020.01 PHASE/0 2020.01 Pure MPI CPU, multi-node

Menjalankan PHASE/0

User menjalankan PHASE/0 pada Job Composer EFIRO yang dapat dibuka melalui menu Jobs > Jobs Composer

Efirojobcomposermenu.png

1. Memilih template PHASE/0

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

---

Template PHASE/0 yang tersedia
Nama Template Penjelasan
PHASE/0 2020.01 Template standar PHASE/0 versi 2020.01

---

2. Mempersiapkan file input PHASE/0

Jcjoboption3.png

  • User dapat melakukan upload input file, editing input file, rename, dll melalui menu Edit Files.
  • Taruh input file pada direktori yang sama dengan file slurm-phase.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 PHASE/0 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 PHASE/0 Multi-Node (>128 core thread CPU)

PHASE/0 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.