ORCA: Perbedaan antara revisi

Dari ALELEON by EFISON
(Tutorial ORCA versi EFIRO)
Baris 15: Baris 15:
|/comp/orca/4.2.1-OMPI3.1.4/orca
|/comp/orca/4.2.1-OMPI3.1.4/orca
|Pure MPI
|Pure MPI
|CPU, parallel multi-node
|CPU
parallel multi-node
|epyc
|epyc
|}
|}


== '''Menjalankan ORCA Secara Paralel''' ==
== '''Input File ORCA untuk Berjalan Multi-Core''' ==
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''':
 
---


=== '''Maksimal 8 Core: !PAL''' ===
=== '''Maksimal 8 Core: !PAL''' ===
Baris 26: Baris 29:
  ! 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.
---


=== '''Lebih dari 8 Core: %PAL NPROCS''' ===
=== '''Lebih dari 8 Core: %PAL NPROCS''' ===
Baris 33: Baris 38:
Dimana angka 32 setelah NPROCS adalah jumlah core CPU yang digunakan. Contoh lainnya, apabila ingin menggunakan 64 core, ubah menjadi %PAL NPROCS 64 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.


=== '''Penulisan SLURM Script''' ===
== '''Menjalankan ORCA''' ==
Adapun persyaratan tambahan pada SLURM Script untuk menjalankan ORCA secara paralel adalah:  
User menjalankan ORCA di '''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 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"
!Template ORCA yang tersedia
|-
|'''ORCA - Standard Template'''
*Template standar menjalankan ORCA di Compute Node CPU.
|}
---
 
=== 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"
![[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]]


# Jumlah ntasks atau ntasks-per-node * nodes adalah '''sama dengan jumlah core CPU yang didefnisikan pada file input.'''
Perhatikan kolom '''Status''' pada job tersebut. User dapat memantau perubahan kolom Status dengan me-refresh halaman Job. Berikut adalah daftar Status yang terjadi:
# '''Tidak menggunakan sintaks mpirun''' melainkan menggunakan full PATH ORCA.
{| 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.


User dapat mengetahui PATH ORCA dengan perintah module load dan which:
---
[nasigoreng@login ~]$ '''module load orca'''
===5. Melihat hasil job yang selesai===
ORCA 4.2.1 - Open MPI 3.1.4 loaded
Apabila job sudah selesai (status Completed), user dapat melihat hasil output job melalui bagian '''Folder Contents''' atau membuka halaman '''Edit Pages.'''
-----
[nasigoreng@login ~]$ '''which orca'''
'''/comp/orca/4.2.1-OMPI3.1.4/orca'''
Sehingga sintaks untuk menjalankan ORCA menjadi:
'''/comp/orca/4.2.1-OMPI3.1.4/orca''' <file-input>


=='''Contoh SLURM Script'''==
[[Berkas:Jcfoldercontentsedit.png|al=|nirbing|399x399px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcfoldercontentsedit.png]]
User harus menggunakan [[Manajemen SLURM Aleleon|'''manajemen SLURM''']] untuk menjalankan komputasi ORCA di Compute Node. User dapat menjalankan ORCA dengan satu node atau multi node (lebih dari satu node) untuk performa lebih kencang.


=== '''Satu Node CPU''' ===
---
Contoh menggunakan 64 core CPU dan RAM 128GB.
#!/bin/bash
#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 orca
'''module load orca'''
# RUN COMMAND
'''/comp/orca/4.2.1-OMPI3.1.4/orca''' <file_input>


=== '''Multi Node CPU''' ===
===6. Submit ulang job===
Contoh menggunakan 2 node, masing-masing 64 core CPU dan RAM 128GB.
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.
#!/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 orca
'''module load orca'''
# RUN COMMAND
'''/comp/orca/4.2.1-OMPI3.1.4/orca''' <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,

Revisi per 17 Februari 2022 03.34

Software ORCA

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

Versi Nama Modul Full PATH Dukungan MPI Dukungan Hardware Partisi
4.2.1 orca /comp/orca/4.2.1-OMPI3.1.4/orca Pure MPI CPU

parallel multi-node

epyc

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:

---

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:

! 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.

---

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:

! 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 menjalankan ORCA di Job Composer EFIRO yang dapat dibuka melalui menu Jobs > Jobs Composer

Efirojobcomposermenu.png

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.

---

Template ORCA yang tersedia
ORCA - Standard Template
  • Template standar menjalankan ORCA di Compute Node CPU.

---

2. Mempersiapkan file input ORCA

Jcjoboption3.png

  • 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.

  • 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 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:

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.