Menggunakan ALELEON Supercomputer via Terminal: Perbedaan antara revisi

Dari ALELEON by EFISON
(→‎Tutorial Umum: menyingkat link FTP)
(→‎Tutorial Umum: overhaul tutorial 120124)
Baris 126: Baris 126:
Berikut menjabarkan tutorial umum menjalankan komputasi melalui SLURM.
Berikut menjabarkan tutorial umum menjalankan komputasi melalui SLURM.
{| class="wikitable"
{| class="wikitable"
! colspan="2" |Langkah Umum Menjalankan Komputasi via SLURM
! colspan="2" |Langkah Menjalankan Komputasi melalui SLURM di Terminal
[[Berkas:Sbatch Terminal.png|nirbing|500x500px]]
|-
|-
|'''1'''
|'''1'''
|Siapkan file yang dibutuhkan untuk menjalankan komputasi user.
|
=====Menyiapkan File Komputasi=====
Siapkan file yang dibutuhkan untuk komputasi user, rekomendasi dalam satu folder per job:
*File input dan data komputasi.
**User dapat upload / download file ke ALELEON dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']].
*Membuat '''SLURM Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi.
**Nama script bebas dengan format file .sh (bash), contoh ''<code>my_job_submission.sh</code>''
**Info membuat SLURM Submit Script lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']]
{| class="wikitable mw-collapsible mw-collapsed"
!Contoh SLURM Submit Script dengan software CP2K
|-
|<syntaxhighlight lang="bash" line="1">
#!/bin/bash
 
# -----------------------------------------------------
# Template SLURM Submit Script
# CP2K (versi CPU) | rev.080124
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# -----------------------------------------------------
 
# -----------------------------------------------------
# Alokasi komputasi SBATCH, input, dan module
# -----------------------------------------------------


* [[Upload File dengan Aplikasi FTP|'''User dapat melakukan upload / download file dengan bantuan aplikasi FTP''']]
# 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 CP2K yang dijalankan
INPUT_FILE="////.inp"
 
# Memuat modul software CP2K versi CPU
# Daftar modul lihat subbab "Modul CP2K" di atas
module load cp2k////
 
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------
 
# Perintah menjakankan CP2K
mpirun -np ${SLURM_NTASKS} cp2k.zen2 ${INPUT_FILE}
</syntaxhighlight>
|}
|-
|-
|'''2'''
|'''2'''
|Buat '''SLURM Submit Script''' yaitu 'formulir' untuk menjalankan job dengan panduan berikut:
|
 
===== Menjalankan Job Komputasi =====
* Nama script dibebaskan dengan format file .sh (bash), contoh ''<code>my_job_submission.sh</code>''
Jalankan job dengan perintah sbatch.
*Buat script pada direktori yang sama dengan file komputasi yang akan dijalankan.
*Info membuat SLURM Submit Script lihat laman [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']]
[[Berkas:Slurmsubmitscript.png|nir|jmpl|''Contoh SLURM Submit Script'']]
|-
|'''3'''
|Jalankan job dengan perintah sbatch.
  $ '''sbatch''' '''''<nama-SLURM-Submit-script>'''''
  $ '''sbatch''' '''''<nama-SLURM-Submit-script>'''''
Contoh menjalankan nama script <code>my_job_submission.sh</code>.
Contoh menjalankan nama script <code>my_job_submission.sh</code>.
  $ sbatch my_job_submission.sh
  $ sbatch my_job_submission.sh
|-
|-
|'''4A'''
|'''3A'''
|User dapat melihat status jalannya job dengan perintah squeue berikut.
|User dapat melihat status jalannya job dengan perintah squeue berikut.
*Apabila tidak ada output artinya tidak ada job user yang berjalan / antri pada waktu itu.
*Apabila tidak ada output artinya tidak ada job user yang berjalan / antri pada waktu itu.
Baris 158: Baris 209:
!Penjelasan
!Penjelasan
|-
|-
|R
| R
|RUN
|RUN
|Job berjalan<sup>''1''</sup>
| Job berjalan  
|-
|-
|PD
|PD
|PENDING
|PENDING
|Job tertahan, lihat keterangan NODELIST(REASON)''<sup>2</sup>''
|Job tertahan, lihat keterangan [[Daftar Reason NODELIST ALELEON Supercomputer|'''NODELIST(REASON)''']]
|-
|-
|CG
| CG
|COMPLETING
|COMPLETING
|Job selesai dan dalam proses clean-up SLURM
|Job selesai dan dalam proses clean-up SLURM
|-
|-
|CA
|CA
|CANCELED
| CANCELED
|Job dibatalkan oleh user
|Job dibatalkan oleh user
|-
|-
Baris 178: Baris 229:
|Job dibatalkan oleh admin EFISON, alasan dikabarkan melalui email
|Job dibatalkan oleh admin EFISON, alasan dikabarkan melalui email
|-
|-
|S
| S
|SUSPENDED
|SUSPENDED  
|Job ditahan oleh admin EFISON
|Job ditahan oleh admin EFISON
|}'''''Keterangan:'''''
|}
#Sistem mulai menghitung Core Hour saat job komputasi user berjalan.
#Kunjungi laman [[Daftar Reason NODELIST ALELEON Supercomputer|'''Daftar Reason NODELIST ALELEON Supercomputer''']].
|-
|-
|'''4B'''
|'''3B'''
|Apabila user ingin membatalkan job yang sedang berjalan, gunakan perintah scancel berdasarkan job ID.
|
=====Menghentikan Job Komputasi=====
Apabila user ingin membatalkan job, gunakan perintah scancel berdasarkan job ID.
*Job ID dapat dilihat melalui perintah squeue pada kolom JOBID.
*Job ID dapat dilihat melalui perintah squeue pada kolom JOBID.
*User hanya bisa membatalkan job submission milik user sendiri.
*User hanya bisa membatalkan job submission milik user sendiri.

Revisi per 15 Januari 2024 11.26

Halaman ini menjelaskan tutorial menggunakan ALELEON Supercomputer via terminal.

Standar Kompetensi dan Persetujuan Prefix

Tutorial ini mengasumsikan user dapat mengoperasikan terminal Linux. Prefix simbol $ untuk menandakan perintah terminal, sedangkan tanda bracket <> menandakan parameter input:

$ command <input-yang-ditulis-user>

1 | Login SSH

Sebelum login, user harus terhubung ke VPN ALELEON Supercomputer.

  • SIlahkan gunakan software shell sesuai preferensi masing-masing user untuk login SSH.
Kredensial Login Node Utama
Username dan password Diberikan oleh admin EFISON
Host untuk user Windows / MacOS aleleon.hpc
Host untuk user Linux 10.192.50.10
Nomor port 22 (default)
Contoh login via terminal:
  • User OS Windows & MacOS -> $ ssh <username>@aleleon.hpc
  • User OS Linux -> $ ssh <username>@10.192.50.10
Keterangan:
  • Dapat melakukan compiling dengan lib. NVIDIA CUDA 12

ALELEON Supercomputer mendukung SSH X11 untuk menampilkan window GUI:

Dari OS Metode
Windows EFISON merekomendasikan software MobaXTerm Home Edition
MacOS $ ssh -Y <username>@aleleon.hpc
Linux $ ssh -X <username>@10.192.50.10

Terdapat login node khusus dengan spesifikasi besar bagi user yang ingin melakukan compiling file skala besar (klik expand atau kembangkan):

Kredensial Login Node Besar
Username dan password Diberikan oleh admin ALELEON
Host untuk user Windows / MacOS aleleon3.hpc
Host untuk user Linux 10.192.50.13
Nomor port 22 (default)
Keterangan:
  • Mempunyai spesifikasi CPU 12 core dan RAM 128GB.
  • Dapat melakukan compiling dengan lib. NVIDIA CUDA 12

Apabila tidak dapat login ke Login Node Utama, gunakan Login Node Backup (klik expand atau kembangkan):

Kredensial Login Node Backup
Username dan password Diberikan oleh admin ALELEON
Host untuk user Windows / MacOS aleleon2.hpc
Host untuk user Linux 10.192.50.12
Nomor port 22 (default)
Keterangan:
  • Mempunyai spesifikasi terbatas (CPU AMD EPYC 4 core dan RAM 16GB).
  • Tidak mempunyai GPU.

2 | Selamat Datang di Login Node

Login SSH membawa user masuk ke Login Node. Pada Login Node, user dapat melakukan:

Manajemen Data dan Folder

User dapat melakukan kegiatan manajemen data:

  • Upload dan download data via software FTP. Info lebih lanjut lihat laman Upload File dengan Aplikasi FTP
  • Mengatur file dan folder via software FTP atau terminal (cd, mkdir, cp, mv, vim, nano, dan lain-lainnya).
  • Kegiatan ini tidak mengurangi Kredit Core Hour.

Mengakses, Compiling, dan Instalasi Software

User dapat melakukan kegiatan mengakses, compiling, dan instalasi software secara lokal di direktori HOME masing-masing.

  • Info lebih detail lihat laman <coming soon>

Menjalankan Komputasi

User dapat menjalankan komputasi ke Compute Node melalui manajemen SLURM.

Keterangan:
  • Dimohon untuk tidak menjalankan komputasi selain compiling di semua jenis Login Node karena mempunyai spesifikasi terbatas dan akan mengganggu user lainnya.
  • Admin EFISON berhak memberikan peringatan kepada user atau menghentikan program user yang memakan semua resources Login Node dalam waktu lama.

3 | Menjalankan Komputasi ke Compute Node via SLURM

User menjalankan job komputasi ke Compute Node melalui program manajemen atau scheduler SLURM.

Tutorial Spesifik per Software Komputasi

User dapat melihat tutorial menjalankan komputasi masing-masing software komputasi di laman Daftar Software Komputasi dan Tutorial Penggunaan:

Daftar Software Komputasi dan Tutorial Penggunaan

Tutorial Umum

Berikut menjabarkan tutorial umum menjalankan komputasi melalui SLURM.

Langkah Menjalankan Komputasi melalui SLURM di Terminal

Sbatch Terminal.png

1
Menyiapkan File Komputasi

Siapkan file yang dibutuhkan untuk komputasi user, rekomendasi dalam satu folder per job:

  • File input dan data komputasi.
    • User dapat upload / download file ke ALELEON dengan software FTP.
  • Membuat SLURM Submit Script yaitu 'formulir' untuk menjalankan job komputasi.
Contoh SLURM Submit Script dengan software CP2K
#!/bin/bash

# -----------------------------------------------------
# Template SLURM Submit Script
# CP2K (versi CPU) | rev.080124
# 
# NOTES: 
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# -----------------------------------------------------

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

# Memuat modul software CP2K versi CPU
# Daftar modul lihat subbab "Modul CP2K" di atas 
module load cp2k////

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

# Perintah menjakankan CP2K
mpirun -np ${SLURM_NTASKS} cp2k.zen2 ${INPUT_FILE}
2
Menjalankan Job Komputasi

Jalankan job dengan perintah sbatch.

$ sbatch <nama-SLURM-Submit-script>

Contoh menjalankan nama script my_job_submission.sh.

$ sbatch my_job_submission.sh
3A User dapat melihat status jalannya job dengan perintah squeue berikut.
  • Apabila tidak ada output artinya tidak ada job user yang berjalan / antri pada waktu itu.
$ squeue -ul $USER

Berikut adalah daftar STATE (ST) dari squeue yang menunjukkan status berjalannya job:

Daftar STATE squeue SLURM
STATE Kepanjangan Penjelasan
R RUN Job berjalan
PD PENDING Job tertahan, lihat keterangan NODELIST(REASON)
CG COMPLETING Job selesai dan dalam proses clean-up SLURM
CA CANCELED Job dibatalkan oleh user
PR PREEMPETED Job dibatalkan oleh admin EFISON, alasan dikabarkan melalui email
S SUSPENDED Job ditahan oleh admin EFISON
3B
Menghentikan Job Komputasi

Apabila user ingin membatalkan job, gunakan perintah scancel berdasarkan job ID.

  • Job ID dapat dilihat melalui perintah squeue pada kolom JOBID.
  • User hanya bisa membatalkan job submission milik user sendiri.
$ scancel <job-ID-submission-user>

Contoh user membatalkan job submission milik user dengan ID 231.

$ scancel 231

Support dan Laporan Kendala Penggunaan

Apabila terdapat masalah teknis dalam menggunakan ALELEON Supercomputer, silahkan lapor dengan klik gambar berikut ini.

Wiki-pelaporankendala.jpg