ORCA: Perbedaan antara revisi

Dari ALELEON by EFISON
 
(52 revisi perantara oleh 2 pengguna 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
|+Modul ORCA
!Nama Modul
! rowspan="2" |Versi
!Dukungan Hardware
! rowspan="2" | Nama modul
![[Partisi Aleleon Mk.II|Partisi]]
! colspan="4" |Dukungan hardware
|-
!CPU
!GPU
!OMP
Threading
! MPI
multi-node
|-
|-
|4.2.1
|4.2.1
|orca
|orca/4.2.1-OMPI3.1.4
|CPU, parallel multi-node
| V
|epyc
| -
| -
|V
|-
|5.0.3
|orca/5.0.3-OpenMPI4.1.1
|V
| -
| -
|V
|}
|}
Hubungi admin melalui '''support@efisonlt.com''' apabila membutuhkan instalasi versi lain.
== '''Input File ORCA untuk Berjalan Multi-Core''' ==
Secara default, ORCA berjalan dengan '''satu core'''. ORCA dapat berjalan '''paralel (multi core CPU)''' untuk menambah kecepatan komputasi 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.
=='''Pilihan Menjalankan Komputasi'''==
User dapat menjalankan ORCA dengan pilihan metode:
===Batch Job===
Menjalankan komputasi siap jalan ke [[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|compute node]] melalui manajemen Slurm kemudian user menunggu hingga selesai.
* Terdapat dua opsi tampilan yang dapat dipilih sesuai preferensi user: ''<small>(klik expand atau kembangkan)</small>''
{| class="wikitable mw-collapsible mw-collapsed"
!Menggunakan Terminal
[[Berkas:Sbatch terminal display rev2.png|tepi|400x400px]]
|-
!1
|-
| Lakukan [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_Terminal#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#Login_SSH Login SSH]''' ke ALELEON Supercomputer.
|-
!2
|-
|Siapkan file komputasi yang dibutuhkan.
*User dapat upload / download file dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']].
*Perhatikan file input untuk menjalankan ORCA dengan multi-core CPU.
|-
!3A
|-
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi.
*Nama file bebas dengan format .sh, contoh '''<code>submit.sh</code>'''
|-
!
|-
|Contoh template Submit Script, ikuti petunjuk NOTES didalamnya.
* ''<small>Klik expand / kembangkan</small>''
{| class="wikitable mw-collapsible mw-collapsed"
!Template SLURM Submit Script ORCA
|-
|<syntaxhighlight lang="bash" line="1">
#!/bin/bash
# -----------------------------------------------------
# Template SLURM Submit Script
# ORCA | rev.080124
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# 3. Perhatikan jumlah ntasks mengikuti besar core
#    yang didefinisikan pada input file.
# -----------------------------------------------------
# -----------------------------------------------------
# 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 ORCA yang dijalankan
INPUT_FILE="////.inp"
# Memuat modul software ORCA
# Daftar modul lihat subbab "Modul ORCA" di atas
module load orca////
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------
# Menyimpan full PATH orca dengan which
WHICH_ORCA=$(which orca)


=='''Contoh SLURM Submission Script'''==
# Perintah menjakankan ORCA
User harus menggunakan [[Scheduler SLURM Aleleon|Scheduler SLURM]] untuk menjalankan komputasi ORCA di Compute Node. User dapat menjalankan ORCA dengan satu node atau paralel (lebih dari satu node) untuk performa lebih kencang.  
${WHICH_ORCA} ${INPUT_FILE}
</syntaxhighlight>
|}
|-
|
* ''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].</small>''


=== Satu Node ===
*''<small>Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM '''Slurm Jojo'''].</small>''
Contoh menggunakan 64 core CPU dan RAM 128GB.
|-
  #!/bin/bash
!3B
|-
|'''SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit''' berdasarkan:
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''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]'''''
   
   
  #SBATCH --ntasks=64
  ''Contoh:''
#SBATCH --mem=128GB
$ sbatch submit.sh
#SBATCH --time=10:00:00
|-
#SBATCH --output=result-%j.out
!5
#SBATCH --error=result-%j.err
|-
|User dapat melihat status jalannya job dengan perintah:
'''<code>$ squeue -ul $USER</code>'''
{| class="wikitable"
! colspan="2" |''Kolom ST atau STATE menunjukkan status jalannya job.''
|-
!STATE
!Penjelasan
|-
|R (RUN)
| Job berjalan
|-
| PD (PENDING)
|Job tertahan, lihat [[Daftar Reason NODELIST ALELEON Supercomputer|'''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]'''''
   
   
  # MODULE
  ''Job ID ada pada squeue diatas.''
  module load orca
  contoh membatalkan job ID 231:
   
  $ scancel 231
# RUN COMMAND
|}
  # mpirun wajib menggunakan flag protokol UCX
{| class="wikitable mw-collapsible mw-collapsed"
  mpirun -np 64 --mca pml ucx --mca osc ucx orca <file_input>
!Menggunakan Portal Web EFIRO
[[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]]
|-
! 1
|-
| Lakukan [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_Terminal#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO Login ke web EFIRO]''' ALELEON Supercomputer.
|-
!2
|-
|[[Berkas:New Pinnedapps jc.png|nirbing|128x128px]]Buka pinned apps '''Job Composer''' di homepage EFIRO.
Pilih menu '''<code>New Job</code>''' -> '''<code>From Template</code>'''
 
[[Berkas:Jcnewjobmarked.png|nirbing|180x180px]]
|-
!3
|-
|
{| class="wikitable"
! colspan="2" |'''Pilih template ORCA yang diinginkan:'''
|-
! Nama Template
!Penjelasan
|-
|ORCA 4.2.1
|Menjalankan ORCA versi 4.2.1
|-
|ORCA 5.0.3
|Menjalankan ORCA versi 5.0.3
|}
Isi '''<code>Job Name</code>''' dan klik '''<code>Create New Job</code>'''
 
[[Berkas:Jctemplate-2.png|nirbing]]
|-
!4
|-
|Siapkan file komputasi yang dibutuhkan:
* Upload / download / edit file via menu <code>'''Edit Files'''</code>
**Untuk upload file tunggal diatas 2GB gunakan [[Upload File dengan Aplikasi FTP|'''software FTP''']].
*Perhatikan file input untuk menjalankan ORCA dengan multi-core CPU.
[[Berkas:JC job menu.png|nirbing|500x500px]]
|-
!5A
|-
|Lengkapi '''Submit Script''' melalui tombol '''<code>Open Editor:</code>'''
*Submit script adalah 'formulir' untuk menjalankan job komputasi.
**Ikuti petunjuk NOTES didalamnya.
* Klik '''<code>Save</code>''' setiap kali mengubah script.
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]]
|-
|
*''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].</small>''
*''<small>Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM '''Slurm Jojo'''].</small>''
|-
!5B
|-
|SBATCH komputasi (ntasks, mem, time, dll) '''mempunyai limit''' berdasarkan:
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
* Spesifikasi sistem dan software komputasi.
Untuk melihat limit, jalankan perintah ini via menu '''<code>Open Terminal</code>''':
  '''$ slimit-mpi'''
|-
!6
|-
|Jalankan job dengan klik tombol '''<code>Submit</code>'''.
*Pantau kolom status yang menjelaskan status jalannya job.
*Apabila ingin membatalkan job yang berjalan, klik '''<code>Stop</code>'''.
[[Berkas:JC job runstop.png|al=|nirbing|500x500px]]
{| class="wikitable"
! colspan="2" |Daftar Status 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 karena error atau di stop user.
|-
| colspan="2" |'''''Untuk melihat alasan job yang queue:'''''[[Berkas:Active Jobs detail.png|nir|jmpl|300x300px|''Buka pinned apps '''Active Jobs''' di homepage EFIRO. Ubah opsi All jobs ke '''Your Jobs'''. Klik simbol '''>''' untuk melihat status job yang pending pada kolom Reason. Arti reason lihat laman [[Daftar Reason NODELIST ALELEON Supercomputer|'''Daftar Reason NODELIST ALELEON Supercomputer''']].'']]
|}
|-
!7
|-
|Lihat output file komputasi pada kolom '''<code>Folder Contents</code>'''
*Atau dengan membuka menu '''<code>Edit Files</code>'''
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>'''.'']]
|-
!8
|-
|Untuk menghapus ruang job dan datanya:
*Pilih ruang job yang akan dihapus.
*Klik menu '''<code>Delete</code>'''
[[Berkas:JC delete menu.png|nirbing|500x500px]]
|}
=='''Pelaporan Kendala dan Support'''==
Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini.
 
[[Berkas:Wiki-pelaporankendala.jpg|1000x1000px|link=https://efisonlt.com/aleleonbugreport]]
 
---


=== Banyak Node ===
Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email:
Contoh menggunakan 2 node, masing-masing 64 core CPU dan RAM 128GB.
#!/bin/bash
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=64
#SBATCH --mem=128GB
#SBATCH --time=10:00:00
#SBATCH --output=result-%j.out
#SBATCH --error=result-%j.out
# MODULE
module load orca
# RUN COMMAND
# mpirun wajib menggunakan flag protokol UCX
# Total proses MPI = ntasks per node X nodes
mpirun -np 128 --mca pml ucx --mca osc ucx orca <file_input>

Revisi terkini sejak 13 Januari 2025 15.15

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:

Modul ORCA
Versi Nama modul 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

Hubungi admin melalui support@efisonlt.com apabila membutuhkan instalasi versi lain.

Input File ORCA untuk Berjalan Multi-Core

Secara default, ORCA berjalan dengan satu core. ORCA dapat berjalan paralel (multi core CPU) untuk menambah kecepatan komputasi 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.

Pilihan Menjalankan Komputasi

User dapat menjalankan ORCA dengan pilihan metode:

Batch Job

Menjalankan komputasi siap jalan ke compute node melalui manajemen Slurm kemudian user menunggu hingga selesai.

  • Terdapat dua opsi tampilan yang dapat dipilih sesuai preferensi user: (klik expand atau kembangkan)
Menggunakan Terminal

Sbatch terminal display rev2.png

1
Login SSH ke ALELEON Supercomputer.
2
Siapkan file komputasi yang dibutuhkan.
  • User dapat upload / download file dengan software FTP.
  • Perhatikan file input untuk menjalankan ORCA dengan multi-core CPU.
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.
  • Klik expand / kembangkan
Template SLURM Submit Script ORCA
#!/bin/bash

# -----------------------------------------------------
# Template SLURM Submit Script
# ORCA | rev.080124
# 
# NOTES: 
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# 3. Perhatikan jumlah ntasks mengikuti besar core
#    yang didefinisikan pada input file.
# -----------------------------------------------------

# -----------------------------------------------------
# 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 ORCA yang dijalankan
INPUT_FILE="////.inp"

# Memuat modul software ORCA
# Daftar modul lihat subbab "Modul ORCA" di atas 
module load orca////

# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------

# Menyimpan full PATH orca dengan which
WHICH_ORCA=$(which orca)

# Perintah menjakankan ORCA
${WHICH_ORCA} ${INPUT_FILE}
  • 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

Kolom ST atau 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
Menggunakan Portal Web EFIRO

Efiro jobcomposer display.png

1
Login ke web EFIRO ALELEON Supercomputer.
2
New Pinnedapps jc.pngBuka pinned apps Job Composer di homepage EFIRO.

Pilih menu New Job -> From Template

Jcnewjobmarked.png

3
Pilih template ORCA yang diinginkan:
Nama Template Penjelasan
ORCA 4.2.1 Menjalankan ORCA versi 4.2.1
ORCA 5.0.3 Menjalankan ORCA versi 5.0.3

Isi Job Name dan klik Create New Job

Jctemplate-2.png

4
Siapkan file komputasi yang dibutuhkan:
  • Upload / download / edit file via menu Edit Files
  • Perhatikan file input untuk menjalankan ORCA dengan multi-core CPU.

JC job menu.png

5A
Lengkapi Submit Script melalui tombol Open Editor:
  • Submit script adalah 'formulir' untuk menjalankan job komputasi.
    • Ikuti petunjuk NOTES didalamnya.
  • Klik Save setiap kali mengubah script.

5B
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 ini via menu Open Terminal:

$ slimit-mpi
6
Jalankan job dengan klik tombol Submit.
  • Pantau kolom status yang menjelaskan status jalannya job.
  • Apabila ingin membatalkan job yang berjalan, klik Stop.

Daftar Status 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 karena error atau di stop user.
Untuk melihat alasan job yang queue:
Buka pinned apps Active Jobs di homepage EFIRO. Ubah opsi All jobs ke Your Jobs. Klik simbol > untuk melihat status job yang pending pada kolom Reason. Arti reason lihat laman Daftar Reason NODELIST ALELEON Supercomputer.
7
Lihat output file komputasi pada kolom Folder Contents
  • Atau dengan membuka menu Edit Files
Kolom Folder Contents.
8
Untuk menghapus ruang job dan datanya:
  • Pilih ruang job yang akan dihapus.
  • Klik menu Delete

JC delete menu.png

Pelaporan Kendala dan Support

Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini.

Wiki-pelaporankendala.jpg

---

Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email: