Submit Script ALELEON Supercomputer: Perbedaan antara revisi

Dari ALELEON by EFISON
(add Perintah Esensial SLURM, SLURM Submission Script tes gambar)
(Add parameter SLURM + test penampilan tabel)
Baris 48: Baris 48:
== SLURM Submission Script ==
== SLURM Submission Script ==
SLURM submission script adalah bash-script yang bertujuan untuk menjalankan program komputasi melalui SLURM. Terdapat 4 komponen penting pada SLURM submission script:  
SLURM submission script adalah bash-script yang bertujuan untuk menjalankan program komputasi melalui SLURM. Terdapat 4 komponen penting pada SLURM submission script:  
[[Berkas:Contoh SLURM.png|kiri|nirbing|578x578px]]


[[Berkas:Contoh_SLURM.png|al=|nirbing|578x578px]]
# Header #!/bin/bash untuk bash script.
# Parameter alokasi resources CPU, memori, waktu, output, dll dengan SBATCH.
# Pengaturan [[Module Environment]] untuk memuat software yang dibutuhkan.
# Alur perintah untuk menjalankan komputasi user.


=== Parameter Resources SBATCH ===
Terdapat ratusan parameter SBATCH untuk SLURM. User dapat melihat daftar lengkap parameter SBATCH untuk SLURM HPC Aleleon Mk.II pada laman daftar parameter SBATCH SLURM ini. Berikut adalah daftar parameter SBATCH basis yang esensial:
{| class="wikitable"
|+Parameter SBATCH SLURM esensial
!Parameter
!Penjelasan
|-
|#SBATCH --ntasks=                       
|Jumlah alokasi cores CPU per node. '''Jumlah CPU core maksimal''' untuk HPC Aleleon Mk.II adalah '''128'''. Contoh mengalokasikan 64 core CPU:
$SBATCH --ntasks=64
|-
|#SBATCH --mem=
|Jumlah alokasi memori RAM. User bisa menetapkan satuan apapun namun kami merekomendasikan satuan GB. '''Jumlah memori maksimal''' untuk HPC Aleleon Mk.II adalah '''250GB'''. Contoh mengalokasikan memori 64GB:
$SBATCH --mem=64GB
|-
|#SBATCH --time=
|Walltime (waktu maksimal) yang dialokasikan untuk job user. Format waktu yang dipakai:


 
* HH:MM:SS. Contoh alokasi 10 jam= #SBATCH --time=10:00:00
 
* D-HH:MM:SS. Contoh alokasi 2 hari= #SBATCH --time=2-00:00:00
 
|}
 
 
 
 
 
 
 
# DDD
# DD
# DD
# D

Revisi per 22 Maret 2021 09.43

SLURM adalah software scheduler untuk mengantarkan job komputasi user ke Compute Node. Bila tidak menggunakan SLURM maka job user akan berjalan di Login Node yang tidak layak untuk komputasi. Selain itu SLURM mencatat penggunaan Core Hour user.

Alur Penggunaan SLURM untuk Job Submission

Pada contoh berikut, user akan menjalankan komputasi HPCG ke Compute Node dengan nama program 'xhpcg-3.1':

[ale01@login hpcg-tutorial]$ ls
hasil  hpcg.dat  xhpcg-3.1

User harus membuat SLURM submission script yang berisikan alokasi resources (CPU, GPU, RAM, waktu, dkk) dan alur jalannya program. Langkah membuat SLURM submission script akan dijelaskan di bagian berikutnya. Pada contoh ini, user membuat SLURM submission script bernama 'slurm-hpcgnvidia'.

[ale01@login hpcg-tutorial]$ ls
hasil  hpcg.dat  slurm-hpcgnvidia  xhpcg-3.1

Jalankan SLURM submission script dengan perintah sbatch. Perhatikan bahwa SLURM menjalankan job user dengan nomor ID 231.

[ale01@login hpcg-tutorial]$ sbatch slurm-hpcgnvidia
Submitted batch job 231

User dapat melihat status jalannya job dengan perintah squeue. Perhatikan bahwa job ID 231 sedang berjalan.

[ale01@login hpcg-tutorial]$ squeue -l
Mon Mar 22 10:43:22 2021
             JOBID PARTITION     NAME     USER    STATE       TIME TIME_LIMI  NODES NODELIST(REASON)
               230      epyc  HPLBLIS    ale02  RUNNING       9:42  20:00:00      1 epyc01
               229      epyc  HPLBLIS    ale02  RUNNING      10:46  20:00:00      1 epyc02
               231 gpu_amper slurm-hp    ale01  RUNNING       2:00   1:00:00      1 gpu1

Job selesai bila sudah tidak terlihat di daftar squeue. User dapat mengatur konfigurasi file output di SLURM submission script seperti contoh dibawah ini (output result-231.err dan result-231.out).

[ale01@login hpcg-tutorial]$ ls
hasil                                       hpcg.dat                          result-231.err  slurm-hpcgnvidia
HPCG-Benchmark_3.1_2021-03-22_10-43-30.txt  hpcg_log_2021.03.22.10.41.25.txt  result-231.out  xhpcg-3.1

Perintah Esensial SLURM

Berikut adalah perintah esensial bagi user untuk menggunakan SLURM:

Perintah Penjelasan
$ sbatch <slurm-submission-script>
Mengirim SLURM submission script untuk dijalankan di SLURM.
$ squeue
Melihat status dan antrian semua komputasi. Tambahan opsi:
  • squeue -l : squeue dengan info lengkap
  • squeue -u $USER : squeue untuk job user saja
$ scancel <job-ID>
Membatalkan job. Misalkan pada contoh diatas dengan job ID 231:
$ scancel 231

SLURM Submission Script

SLURM submission script adalah bash-script yang bertujuan untuk menjalankan program komputasi melalui SLURM. Terdapat 4 komponen penting pada SLURM submission script:

  1. Header #!/bin/bash untuk bash script.
  2. Parameter alokasi resources CPU, memori, waktu, output, dll dengan SBATCH.
  3. Pengaturan Module Environment untuk memuat software yang dibutuhkan.
  4. Alur perintah untuk menjalankan komputasi user.

Parameter Resources SBATCH

Terdapat ratusan parameter SBATCH untuk SLURM. User dapat melihat daftar lengkap parameter SBATCH untuk SLURM HPC Aleleon Mk.II pada laman daftar parameter SBATCH SLURM ini. Berikut adalah daftar parameter SBATCH basis yang esensial:

Parameter SBATCH SLURM esensial
Parameter Penjelasan
#SBATCH --ntasks= Jumlah alokasi cores CPU per node. Jumlah CPU core maksimal untuk HPC Aleleon Mk.II adalah 128. Contoh mengalokasikan 64 core CPU:
$SBATCH --ntasks=64
#SBATCH --mem= Jumlah alokasi memori RAM. User bisa menetapkan satuan apapun namun kami merekomendasikan satuan GB. Jumlah memori maksimal untuk HPC Aleleon Mk.II adalah 250GB. Contoh mengalokasikan memori 64GB:
$SBATCH --mem=64GB
#SBATCH --time= Walltime (waktu maksimal) yang dialokasikan untuk job user. Format waktu yang dipakai:
  • HH:MM:SS. Contoh alokasi 10 jam= #SBATCH --time=10:00:00
  • D-HH:MM:SS. Contoh alokasi 2 hari= #SBATCH --time=2-00:00:00