ORCA: Perbedaan antara revisi

Dari ALELEON by EFISON
(Major paraphrasing)
(Menambahkan section Menjalankan ORCA secara paralel)
Baris 16: Baris 16:
|epyc
|epyc
|}
|}
== '''Menjalankan ORCA Secara Paralel''' ==
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.
=== '''Penulisan SLURM Script''' ===
Adapun persyaratan tambahan pada SLURM Script untuk menjalankan ORCA secara paralel adalah:
# Jumlah ntasks atau ntasks-per-node * nodes adalah '''sama dengan jumlah core CPU yang didefnisikan pada file input.'''
# '''Tidak menggunakan sintaks mpirun''' melainkan menggunakan full PATH ORCA.
User dapat mengetahui PATH ORCA dengan perintah module load dan which:
[nasigoreng@login ~]$ '''module load orca'''
ORCA 4.2.1 - Open MPI 3.1.4 loaded
-----
[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'''==
=='''Contoh SLURM Script'''==
Baris 34: Baris 63:
   
   
  # RUN COMMAND
  # RUN COMMAND
# mpirun wajib menggunakan flag protokol UCX
  '''/comp/orca/4.2.1-OMPI3.1.4/orca''' <file_input>
  '''mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx orca''' <file_input>


=== '''Multi Node CPU''' ===
=== '''Multi Node CPU''' ===
Baris 54: Baris 81:
   
   
  # RUN COMMAND
  # RUN COMMAND
# mpirun wajib menggunakan flag protokol UCX
  '''/comp/orca/4.2.1-OMPI3.1.4/orca''' <file_input>
# $SLURM_NTASKS menangkap total proses MPI (nodes * ntasks-per-node)
  '''mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx orca''' <file_input>
==='''Pelajari Lebih Lanjut'''===
==='''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,
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 14 Januari 2022 10.13

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 Dukungan MPI Dukungan Hardware Partisi
4.2.1 orca Pure MPI CPU, parallel multi-node epyc

Menjalankan ORCA Secara Paralel

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.

Penulisan SLURM Script

Adapun persyaratan tambahan pada SLURM Script untuk menjalankan ORCA secara paralel adalah:

  1. Jumlah ntasks atau ntasks-per-node * nodes adalah sama dengan jumlah core CPU yang didefnisikan pada file input.
  2. Tidak menggunakan sintaks mpirun melainkan menggunakan full PATH ORCA.

User dapat mengetahui PATH ORCA dengan perintah module load dan which:

[nasigoreng@login ~]$ module load orca
ORCA 4.2.1 - Open MPI 3.1.4 loaded
-----
[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

User harus menggunakan 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

Contoh menggunakan 2 node, masing-masing 64 core CPU dan RAM 128GB.

#!/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 SLURM Script untuk Komputasi Paralel MPI untuk memahami lebih lanjut tentang berbagai contoh SLURM script diatas,