Submit Script ALELEON Supercomputer: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (Menambah info limitasi fair usage) |
WilsonLisan (bicara | kontrib) (→SBATCH untuk Compute Node GPU (Partisi ampere): paraphrasing penggunaan CCH dan GH) |
||
Baris 88: | Baris 88: | ||
! colspan="2" |Jumlah ntasks maksimal | ! colspan="2" |Jumlah ntasks maksimal | ||
|- | |- | ||
|Per Compute Node | |Per Compute Node atau nodes | ||
|'''128''' | |'''128''' | ||
|- | |- | ||
Baris 98: | Baris 98: | ||
*''ALELEON Supercomputer menyalakan SMT (Simultaneous Multithreading) pada semua CPU sehingga '''ntasks mengisi core thread CPU.''''' | *''ALELEON Supercomputer menyalakan SMT (Simultaneous Multithreading) pada semua CPU sehingga '''ntasks mengisi core thread CPU.''''' | ||
*''Berdasarkan arsiktektur CPU AMD yang digunakan ALELEON Supercomputer, user direkomendasikan untuk memilih jumlah ntasks berdasarkan kelipatan 4, dimulai dari 1,2,4, kemudian naik kelipatan 4 menjadi 8, 12, 16, 20, 24, 28, 32, 36, 40, dan seterusnya.'' | *''Berdasarkan arsiktektur CPU AMD yang digunakan ALELEON Supercomputer, user direkomendasikan untuk memilih jumlah ntasks berdasarkan kelipatan 4, dimulai dari 1,2,4, kemudian naik kelipatan 4 menjadi 8, 12, 16, 20, 24, 28, 32, 36, 40, dan seterusnya.'' | ||
* '' | * ''Kredit CPU Core Hour (CCH) akan berkurang sejumlah ntasks yang didefinisikan user per jam-nya.'' | ||
|- | |- | ||
| colspan="2" |'''Apabila user ingin menjalankan komputasi paralel lebih dari 2 Compute Node (dengan program yang mendukung seperti MPI), silahkan lihat panduan tambahan:''' | | colspan="2" |'''Apabila user ingin menjalankan komputasi paralel lebih dari 2 Compute Node (dengan program yang mendukung seperti MPI), silahkan lihat panduan tambahan:''' | ||
Baris 179: | Baris 179: | ||
| colspan="2" |'''<code>#SBATCH --partition=ampere</code>''' bertujuan untuk menjalankan job submission di Compute Node GPU. | | colspan="2" |'''<code>#SBATCH --partition=ampere</code>''' bertujuan untuk menjalankan job submission di Compute Node GPU. | ||
|- | |- | ||
| rowspan=" | | rowspan="3" |'''gpus''' | ||
|'''Alokasi jumlah GPU yang digunakan.''' | |'''Alokasi jumlah GPU yang digunakan.''' | ||
|- | |- | ||
Baris 190: | Baris 190: | ||
!2 | !2 | ||
|} | |} | ||
|- | |||
|'''Note:''' | |||
* ''Kredit GPU Hour (GH) akan berkurang sejumlah gpus yang didefinisikan user per jam-nya.'' | |||
|- | |- | ||
| rowspan="3" |'''ntasks''' | | rowspan="3" |'''ntasks''' | ||
Baris 206: | Baris 209: | ||
*''ALELEON Supercomputer menyalakan SMT (Simultaneous Multithreading) pada semua CPU sehingga '''ntasks mengisi core thread CPU.''''' | *''ALELEON Supercomputer menyalakan SMT (Simultaneous Multithreading) pada semua CPU sehingga '''ntasks mengisi core thread CPU.''''' | ||
*''Berdasarkan arsiktektur CPU AMD yang digunakan ALELEON Supercomputer, user direkomendasikan untuk memilih jumlah ntasks berdasarkan kelipatan 4, dimulai dari 1,2,4, kemudian naik kelipatan 4 menjadi 8, 12, 16, 20, 24, 28, 32.'' | *''Berdasarkan arsiktektur CPU AMD yang digunakan ALELEON Supercomputer, user direkomendasikan untuk memilih jumlah ntasks berdasarkan kelipatan 4, dimulai dari 1,2,4, kemudian naik kelipatan 4 menjadi 8, 12, 16, 20, 24, 28, 32.'' | ||
* '' | * ''Kredit CPU Core Hour (CCH) akan berkurang sejumlah ntasks yang didefinisikan user per jam-nya.'' | ||
|- | |- | ||
| rowspan="2" |'''mem''' | | rowspan="2" |'''mem''' |
Revisi per 15 Februari 2023 15.26
Halaman ini menjadi suplemen untuk konten: |
Halaman ini menjelaskan panduan memahami, membuat, dan mengisi SLURM Submit Script (atau disingkat Submit Script) untuk melakukan job submission ke Compute Node.
Bahasa Bash
Submit Script menggunakan bahasa bash dengan standar versi 4.4.
Struktur Submit Script
Secara umum, Submit Script mempunyai 4 bagian utama.
- Header #!/bin/bash karena Submit Script adalah bash script.
- Parameter SBATCH untuk mengalokasikan resources job seperti CPU, RAM, GPU, time, dll.
- Memuat modul software yang dibutuhkan untuk menjalankan komputasi user dengan Module Environment.
- Alur perintah untuk menjalankan program user.
Note:
|
Limitasi Sementara Alokasi Komputasi
Per tanggal 3 Februari 2023, ALELEON Supercomputer mengimplementasikan aturan baru berupa limitasi fair usage. Hal ini dilakukan untuk menjamin kualitas layanan ALELEON Supercomputer kepada seluruh pengguna. Mohon maaf atas ketidaknyamannya.
Berikut adalah limitasi fair usage per akun untuk total akumulasi semua job masing-masing user yang berjalan.
Alokasi komputasi | Limit maksimal |
---|---|
CPU | 128 |
Memori RAM | 128GB |
GPU | 2 |
Limit waktu komputasi | 3 hari (3-00:00:00) |
Ketika job yang sedang berjalan pada akun mencapai batas fair usage tersebut, maka job baru yang masuk ke antrian akan menunggu sampai job yang berjalan selesai dan alokasi fair usage dapat digunakan kembali.
Permintaan Membuka Limitasi Sementara
Ketika membutuhkan alokasi komputasi yang lebih besar dari limit diatas, user dapat mengajukan pembukaan limitasi sementara melalui laporan kendala dengan mengklik gambar ini.
- Tim admin akan memutuskan alokasi pembukaan limitasi tersebut menyesuaikan ketersediaan sumber daya komputasi dan antrian job pengguna lain di ALELEON Supercomputer.
SBATCH untuk Compute Node CPU (Partisi epyc)
Berikut adalah daftar SBATCH yang esensial (dan biasanya akan ditemukan pada banyak template) untuk menjalankan komputasi di Compute Node CPU atau Partisi epyc.
#SBATCH --nodes=<jumlah-compute-node> #SBATCH --ntasks=<jumlah-core-CPU> #SBATCH --mem=<jumlah-memori-RAM> #SBATCH --time=<jumlah-limit-waktu-komputasi> #SBATCH --output=<output-textfile> #SBATCH --error=<output-verbose-dan-error-log-textfile>
SBATCH | Penjelasan | |||||
---|---|---|---|---|---|---|
nodes | Alokasi jumlah Compute Node CPU yang digunakan. | |||||
#SBATCH --nodes=<jumlah-compute-node>
| ||||||
ntasks | Alokasi jumlah core CPU yang digunakan. | |||||
#SBATCH --ntasks=<jumlah-core-CPU>
| ||||||
Note:
| ||||||
Apabila user ingin menjalankan komputasi paralel lebih dari 2 Compute Node (dengan program yang mendukung seperti MPI), silahkan lihat panduan tambahan: | ||||||
mem | Alokasi jumlah memori RAM yang digunakan. Admin merekomendasikan satuan MB atau GB. | |||||
#SBATCH --mem=<jumlah-memori>MB|GB
| ||||||
Partisi epyc mempunyai satu node spesial dengan kapasitas RAM hingga 500GB (dibandingkan standar 240GB). Apabila user membutuhkan RAM lebih dari 240GB, gunakan kombinasi SBATCH berikut:
#SBATCH --nodelist=epyc001 #SBATCH --mem=<maks-hingga-500GB> Note:
| ||||||
time | Alokasi limit waktu untuk menjalankan job. Apabila waktu jalannya program melebihi limit maka akan dihentikan (kill) secara otomatis oleh SLURM. | |||||
#SBATCH --time=<HH:MM:SS> atau #SBATCH --time=<D-HH:MM:SS>
| ||||||
output | Output textfile untuk merekap output terminal. User mendefinisikan nama dan format file.
| |||||
#SBATCH --output=<nama-file-output>.<format-file>
| ||||||
error | Output textfile untuk merekap output verbose (status jalannya program dan error log ketika program gagal berjalan).
| |||||
#SBATCH --error=<nama-file-output>.<format-file>
|
SBATCH untuk Compute Node GPU (Partisi ampere)
Berikut adalah daftar SBATCH yang esensial untuk menjalankan komputasi di Compute Node GPU atau Partisi ampere.
#SBATCH --partition=ampere #SBATCH --gpus=<jumlah-GPU> #SBATCH --ntasks=<jumlah-core-CPU> #SBATCH --mem=<jumlah-memori-RAM> #SBATCH --time=<jumlah-limit-waktu-komputasi> #SBATCH --output=<output-textfile> #SBATCH --error=<output-verbose-dan-error-log-textfile>
SBATCH | Penjelasan | |
---|---|---|
#SBATCH --partition=ampere bertujuan untuk menjalankan job submission di Compute Node GPU.
| ||
gpus | Alokasi jumlah GPU yang digunakan. | |
#SBATCH --gpus=<jumlah-GPU>
| ||
Note:
| ||
ntasks | Alokasi jumlah core CPU yang digunakan. | |
#SBATCH --ntasks=<jumlah-core-CPU>
| ||
Note:
| ||
mem | Alokasi jumlah memori RAM yang digunakan. Admin merekomendasikan satuan MB atau GB. | |
#SBATCH --mem=<jumlah-memori>MB|GB
| ||
time | Alokasi limit waktu untuk menjalankan job. Apabila waktu jalannya program melebihi limit maka akan dihentikan (kill) secara otomatis oleh SLURM. | |
#SBATCH --time=<HH:MM:SS> atau #SBATCH --time=<D-HH:MM:SS>
| ||
output | Output textfile untuk merekap output terminal. User mendefinisikan nama dan format file.
| |
#SBATCH --output=<nama-file-output>.<format-file>
| ||
error | Output textfile untuk merekap output verbose (status jalannya program dan error log ketika program gagal berjalan).
| |
#SBATCH --error=<nama-file-output>.<format-file>
|
SBATCH Notifikasi e-mail
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 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.
Memuat Software dengan module load
Modul software pada SLURM Submit Script berfungsi supaya Compute Node dapat menjalankan software yang dibutuhkan oleh komputasi user. Masukkan line script berikut:
module load <nama-modul-software-yang-digunakan-untuk-komputasi-user>
Tulis script module load tersebut sebelum menulis run script jalannya program.
- Daftar lengkap nama modul software dapat ditemukan pada Katalog Software ALELEON Supercomputer.
Template Submit Script
Admin EFISON menyediakan referensi untuk template Submit Script berdasarkan skenario dan software komputasi.
Tanda ////
Dalam membuat template SLURM Submit Script, admin EFISON menggunakan tanda 4 garing (////) untuk menandai bagian yang perlu diisi oleh user. Contoh terdapat bagian script untuk menaruh nama file input:
FILE_INPUT="////.in"
Artinya user mengisi nama file input dengan menggantikan tanda //// di dalam braket tanda petik, contoh menjadi:
FILE_INPUT="myskripsi.in"
Daftar Template Submit Script
User dapat melihat daftar lengkap template Submit Script pada laman ini: