ORCA: Perbedaan antara revisi

Dari ALELEON by EFISON
(Tutorial ORCA versi EFIRO)
(→‎SLURM sbatch via Terminal: menambah detil format time)
(22 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 1: Baris 1:
== '''Software ORCA''' ==
[[Berkas:Orca logo.png|nirbing|350x350px]]
 
[https://orcaforum.kofo.mpg.de/app.php/portal '''ORCA'''] adalah package ab-inito kimia kuantum yang menyediakan semua metode ''electronic structure'' seperti ''density functional theory, many-body perturbation and coupled cluster theories'', dll.
[https://orcaforum.kofo.mpg.de/app.php/portal '''ORCA'''] adalah package ab-inito kimia kuantum yang menyediakan semua metode ''electronic structure'' seperti ''density functional theory, many-body perturbation and coupled cluster theories'', dll.


== '''Versi yang Tersedia''' ==
== '''Modul ORCA''' ==
Berikut adalah detail versi ORCA yang tersedia secara global di ALELEON Supercomputer:
{| class="wikitable"
{| class="wikitable"
!Versi
! rowspan="2" |Versi
!Nama Modul
! rowspan="2" | Nama modul
!Full PATH
! rowspan="2" |Modul  
!Dukungan MPI
DEFAULT
!Dukungan Hardware
! colspan="4" |Dukungan hardware
![[Partisi Aleleon Mk.II|Partisi]]
|-
!CPU
!GPU
!OMP
Threading
! MPI
multi-node
|-
|-
|4.2.1
|4.2.1
|orca
|orca/4.2.1-OMPI3.1.4
|/comp/orca/4.2.1-OMPI3.1.4/orca
| -
|Pure MPI
| V
|CPU
| -
parallel multi-node
| -
|epyc
|V
|-
|5.0.3
|orca/5.0.3-OpenMPI4.1.1
|V
|V
| -
| -
|V
|}
|}
== '''Input File ORCA untuk Berjalan Multi-Core''' ==
== '''Input File ORCA untuk Berjalan Multi-Core''' ==
Secara default, ORCA berjalan hanya dengan satu core - sesuatu yang tentunya menghambat kecepatan komputasi user. ORCA dapat berjalan secara paralel (multi core CPU) dengan parameter tambahan pada '''''main-input''''' di '''file input''':
Secara default, ORCA berjalan hanya dengan satu core - sesuatu yang tentunya menghambat kecepatan komputasi user. ORCA dapat berjalan secara paralel (multi core CPU) dengan parameter tambahan pada '''''main-input''''' di '''file input''':


---
=== '''!PAL untuk 8 Core CPU Maksimal''' ===
 
=== '''Maksimal 8 Core: !PAL''' ===
Main-input !PAL berfungsi untuk menjalankan ORCA pada maksimal 8 core. Contoh main-input PAL untuk menjalankan ORCA dengan 4 core CPU:  
Main-input !PAL berfungsi untuk menjalankan ORCA pada maksimal 8 core. Contoh main-input PAL untuk menjalankan ORCA dengan 4 core CPU:  
  ! B3LYP 6-31G(D) OPT '''PAL4'''
  ! B3LYP 6-31G(D) OPT '''PAL4'''
Dimana angka 4 setelah PAL adalah jumlah core CPU yang digunakan. Contoh lainnya, apabila ingin menggunakan 8 core, ubah menjadi PAL8.
Dimana angka 4 setelah PAL adalah jumlah core CPU yang digunakan. Contoh lainnya, apabila ingin menggunakan 8 core, ubah menjadi PAL8.


---
=== '''%PAL NPROCS untuk lebih dari 8 Core CPU''' ===
 
=== '''Lebih dari 8 Core: %PAL NPROCS''' ===
Opsi tambahan %PAL NPROCS berfungsi untuk menjalankan ORCA dengan lebih dari 8 core. Contoh main-input %PAL NPROCS menjalankan ORCA dengan 32 core CPU:  
Opsi tambahan %PAL NPROCS berfungsi untuk menjalankan ORCA dengan lebih dari 8 core. Contoh main-input %PAL NPROCS menjalankan ORCA dengan 32 core CPU:  
  ! B3LYP 6-31(D) OPT  
  ! B3LYP 6-31(D) OPT  
Baris 39: Baris 50:


== '''Menjalankan ORCA''' ==
== '''Menjalankan ORCA''' ==
User menjalankan ORCA di '''Job Composer''' EFIRO yang dapat dibuka melalui menu Jobs > Jobs Composer
User dapat menjalankan ORCA dengan pilihan cara menjalankan komputasi:
 
=== [[Menggunakan ALELEON Supercomputer via EFIRO#3A%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20Job%20Composer|EFIRO Job Composer]]===
[[Berkas:Efirojobcomposermenu.png|nirbing|400x400px|pra=https://wiki.efisonlt.com/wiki/Berkas:Efirojobcomposermenu.png]]
Menjalankan komputasi dengan tampilan grafis pada formulir job submission EFIRO Job Composer. Berikut adalah pilihan template ORCA yang tersedia:
 
=== 1. Memilih template ORCA ===
 
* Klik '''New Jobs > From Template.'''
* Pilih template ORCA 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"
{| class="wikitable"
!Template ORCA yang tersedia
!Nama Template
!Penjelasan
|-
|-
|'''ORCA - Standard Template'''
|ORCA 4.2.1
*Template standar menjalankan ORCA di Compute Node CPU.
|Menjalankan ORCA versi 4.2.1
|-
|ORCA 5.0.3
|Menjalankan ORCA versi 5.0.3
|}
|}
---
===[[Menggunakan ALELEON Supercomputer via Terminal#3%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20SLURM|SLURM sbatch via Terminal]]===
 
Menjalankan komputasi pada terminal melalui job submission SLURM sbatch. Berikut adalah contoh referensi Submit Script untuk menjalankan ORCA. Perhatikan nama modul mengacu versi ORCA yang akan digunakan.
=== 2. Mempersiapkan file input ORCA ===
[[Berkas:Jcjoboption3.png|nirbing|600x600px]]
 
* User dapat melakukan manajemen file seperti '''upload input file, editing input file, rename''', dll melalui menu '''Edit Files.'''
* Upload file input dan taruh pada direktori yang sama dengan file '''slurm-orca.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 ORCA dapat berjalan melalui menu '''Open Editor.'''
 
[[Berkas:Jceditor3.png|al=|nirbing|500x500px]]
 
[[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 ORCA Multi-Node (>128 core thread CPU) ===
ORCA 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"
{| class="wikitable"
![[MPI ALELEON Supercomputer]]
!Contoh SLURM Submit Script ORCA
|-
|-
|
|
* [https://wiki.efisonlt.com/wiki/MPI_ALELEON_Supercomputer#MPI_Satu_Node_vs_Multi_Node '''MPI Satu Node vs Multi Node''']
#!/bin/bash
# ------------------------------------------------------------------------
# | Template SLURM Submit Script
# | Software        : ORCA
# | Versi          : tergantung input user
# | Update script  r: 07/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>
# |
# | 4. Perhatian: samakan jumlah SBATCH ntasks dengan jumlah core CPU
# |    yang didefinisikan pada input ORCA user apabila menggunakan
# |    parameter PAL atau NPROCS untuk dapat berjalan multi-core.
# ------------------------------------------------------------------------
# --------------------------------------------------
# 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, format HH:MM:SS atau D-HH:MM:SS
#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 ORCA dengan format file-nya
INPUT_FILE='////.inp'
# Memuat modul software ORCA
module load orca////
# DAFTAR MODUL ORCA:
# ----------------------------------------
# | Nama modul              | Versi ORCA |
# ----------------------------------------
# | orca/4.2.1-OMPI3.1.4    | 4.2.1      |
# | orca/5.0.3-OpenMPI4.1.1  | 5.0.3      |
# ----------------------------------------
# -------------------------------------------------
# RUN SCRIPT
# -------------------------------------------------
 
# Menyimpan full PATH orca dengan which
RUN_ORCA=$(which orca)
# Perintah menjakankan ORCA (harus dengan full PATH)
${RUN_ORCA} ${INPUT_FILE}
|}
|}
---
===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]]
== '''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


===6. Submit ulang job===
* '''mail-user'''
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.
** 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.

Revisi per 13 Maret 2023 07.51

Orca logo.png

ORCA adalah package ab-inito kimia kuantum yang menyediakan semua metode electronic structure seperti density functional theory, many-body perturbation and coupled cluster theories, dll.

Modul ORCA

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

Versi Nama modul Modul

DEFAULT

Dukungan hardware
CPU GPU OMP

Threading

MPI

multi-node

4.2.1 orca/4.2.1-OMPI3.1.4 - V - - V
5.0.3 orca/5.0.3-OpenMPI4.1.1 V V - - V

Input File ORCA untuk Berjalan Multi-Core

Secara default, ORCA berjalan hanya dengan satu core - sesuatu yang tentunya menghambat kecepatan komputasi user. ORCA dapat berjalan secara paralel (multi core CPU) dengan parameter tambahan pada main-input di file input:

!PAL untuk 8 Core CPU Maksimal

Main-input !PAL berfungsi untuk menjalankan ORCA pada maksimal 8 core. Contoh main-input PAL untuk menjalankan ORCA dengan 4 core CPU:

! B3LYP 6-31G(D) OPT PAL4

Dimana angka 4 setelah PAL adalah jumlah core CPU yang digunakan. Contoh lainnya, apabila ingin menggunakan 8 core, ubah menjadi PAL8.

%PAL NPROCS untuk lebih dari 8 Core CPU

Opsi tambahan %PAL NPROCS berfungsi untuk menjalankan ORCA dengan lebih dari 8 core. Contoh main-input %PAL NPROCS menjalankan ORCA dengan 32 core CPU:

! B3LYP 6-31(D) OPT 
%PAL NPROCS 32 END

Dimana angka 32 setelah NPROCS adalah jumlah core CPU yang digunakan. Contoh lainnya, apabila ingin menggunakan 64 core, ubah menjadi %PAL NPROCS 64 END.

Menjalankan ORCA

User dapat menjalankan ORCA dengan pilihan cara menjalankan komputasi:

EFIRO Job Composer

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

Nama Template Penjelasan
ORCA 4.2.1 Menjalankan ORCA versi 4.2.1
ORCA 5.0.3 Menjalankan ORCA versi 5.0.3

SLURM sbatch via Terminal

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

Contoh SLURM Submit Script ORCA
#!/bin/bash

# ------------------------------------------------------------------------
# | Template SLURM Submit Script
# | Software        : ORCA
# | Versi           : tergantung input user
# | Update script  r: 07/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
# | 
# | 4. Perhatian: samakan jumlah SBATCH ntasks dengan jumlah core CPU
# |    yang didefinisikan pada input ORCA user apabila menggunakan
# |    parameter PAL atau NPROCS untuk dapat berjalan multi-core. 
# ------------------------------------------------------------------------

# --------------------------------------------------
# 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, format HH:MM:SS atau D-HH:MM:SS
#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 ORCA dengan format file-nya
INPUT_FILE='////.inp'

# Memuat modul software ORCA
module load orca////

# DAFTAR MODUL ORCA: 
# ----------------------------------------
# | Nama modul               | Versi ORCA |
# ---------------------------------------- 
# | orca/4.2.1-OMPI3.1.4     | 4.2.1      |
# | orca/5.0.3-OpenMPI4.1.1  | 5.0.3      |
# ----------------------------------------

# -------------------------------------------------
# RUN SCRIPT
# -------------------------------------------------
 
# Menyimpan full PATH orca dengan which
RUN_ORCA=$(which orca)

# Perintah menjakankan ORCA (harus dengan full PATH)
${RUN_ORCA} ${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.