ATEST: Perbedaan antara revisi

Dari ALELEON by EFISON
(test)
(test)
Baris 12: Baris 12:
Kegiatan ini dilakukan pada '''terminal''':  
Kegiatan ini dilakukan pada '''terminal''':  


* Diakses melalui login SSH.
* Diakses melalui [https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#1_|_Login_SSH '''login SSH'''], atau
* Bagi yang login ke web EFIRO, buka menu '''Clusters -> Aleleon Shell Access'''
* Pada web EFIRO, buka menu '''Clusters -> Aleleon Shell Access'''


{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
Baris 20: Baris 20:
| rowspan="2" |1
| rowspan="2" |1
|Pilih dan aktifkan modul Anaconda yang akan digunakan.
|Pilih dan aktifkan modul Anaconda yang akan digunakan.
<code>'''$ module load <''nama-modul-anaconda>'''''</code>
<code>'''$ module load ''[nama-modul-anaconda]'''''</code>
|-
|-
|
|
Baris 44: Baris 44:
|2
|2
|Buat conda env di direktori HOME dan aktifkan dengan perintah:
|Buat conda env di direktori HOME dan aktifkan dengan perintah:
  '''$ conda create --name ''<nama-conda-env>'' pip'''
  '''$ conda create --name ''[nama-conda-env]'' pip'''
   
   
  ''Contoh dengan nama 'skripsi'''
  ''Contoh nama 'skripsi'''
  $ conda create --name '''skripsi''' pip
  $ conda create --name '''skripsi''' pip


Baris 58: Baris 58:
| rowspan="2" |1
| rowspan="2" |1
|Aktifkan conda env dengan perintah:  
|Aktifkan conda env dengan perintah:  
  '''$ source activate ''<nama-conda-env>'''''
  '''$ source activate ''[nama-conda-env]'''''
   
   
  ''Contoh mengaktifkan conda env 'skripsi'''
  ''Contoh mengaktifkan conda env 'skripsi'''
Baris 83: Baris 83:
| rowspan="2" |2
| rowspan="2" |2
|Untuk mengubah nama conda env:
|Untuk mengubah nama conda env:
  '''$ conda rename -n ''<nama-saat-ini>'' ''<nama-baru>'''''
  '''$ conda rename -n ''[nama-saat-ini]'' ''[nama-baru]'''''
   
   
  ''Contoh mengubah nama env skripsi ke tesis''
  ''Contoh mengubah nama env skripsi ke tesis''
Baris 105: Baris 105:
#* File ipynb harus dikonversi ke file Python.
#* File ipynb harus dikonversi ke file Python.
# Berjalan di Compute Node.
# Berjalan di Compute Node.
# Tutorial ini mengasumsikan user dapat mengoperasikan terminal Linux.
# Tutorial ini mengasumsikan user familiar dengan terminal Linux.
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |Langkah Job Submission Terminal
! colspan="2" |Langkah Job Submission Terminal
Baris 111: Baris 111:
|-
|-
|1
|1
|Lakukan [https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#1_|_Login_SSH '''login SSH'''] ke ALELEON Supercomputer.
|Lakukan [https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#1_|[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#1_|_Login_SSH '''Login SSH'''] ke ALELEON Supercomputer.
|-
|-
|2
|2
Baris 128: Baris 128:
!Anaconda Python di CPU
!Anaconda Python di CPU
|-
|-
|
|<syntaxhighlight lang="bash">
#!/bin/bash
 
# -----------------------------------------------------
# Template SLURM Submit Script
# Anaconda Python (CPU)
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# 3. Pastikan user sudah membuat Conda Environment.
# -----------------------------------------------------
 
# -----------------------------------------------------
# Alokasi komputasi SBATCH dan file input
# -----------------------------------------------------
 
# 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 Conda Environment yang digunakan
CONDA_NAME=////
 
# Nama program Python yang dijalankan
INPUT_FILE=////.py
 
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------
 
# Mengaktifkan Conda Environment
module load Anaconda3
source activate ${CONDA}/${CONDA_NAME}
 
# Menjalankan file Python
python3 ${INPUT_FILE}
</syntaxhighlight>
|}
|}
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
!Anaconda Python di GPU
!Anaconda Python di GPU
|-
|-
|
|<syntaxhighlight lang="bash">
#!/bin/bash
 
# -----------------------------------------------------
# Template SLURM Submit Script
# Anaconda Python (GPU)
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# 3. Pastikan user sudah membuat Conda Environment.
# -----------------------------------------------------
 
# -----------------------------------------------------
# Alokasi komputasi SBATCH dan file input
# -----------------------------------------------------
 
# Menggunakan partisi compute node GPU
#SBATCH --partition=ampere
 
# Alokasi jumlah core thread CPU
#SBATCH --ntasks=////
 
# Alokasi jumlah GPU
#SBATCH --gpus=////
 
# 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 Conda Environment yang digunakan
CONDA_NAME=////
 
# Nama program Python yang dijalankan
INPUT_FILE=////.py
 
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------
 
# Memuat modul NVIDIA CUDA default
module load cuda
 
# Mengaktifkan Conda Environment
module load Anaconda3
source activate ${CONDA}/${CONDA_NAME}
 
# Menjalankan file Python
python3 ${INPUT_FILE}
</syntaxhighlight>
|}
|}
|-
|-
|
|
|
|
{| class="wikitable"
|+
!Panduan nilai maksimal alokasi komputasi SBATCH
|-
|'''Limitasi [[Limitasi Fair Usage ALELEON Supercomputer|fair policy usage]] untuk menjaga kualitas layanan:'''
<code>#SBATCH --ntasks=128</code>
<code>#SBATCH --mem=128GB</code><code>#SBATCH --gpus=2</code><code>#SBATCH --time=72:00:00</code>User dapat mengajukan permintaan membuka limitasi melalui [https://efisonlt.com/pelaporan-kendala-aleleon-supercomputer/ '''form ini'''].
|-
|'''Versi CPU'''
<code>#SBATCH --ntasks=128</code>
<code>#SBATCH --mem=128GB</code><code>#SBATCH --time=72:00:00</code>
|-
|-
|
|
|
|}
|-
|4
|Jalankan job komputasi dengan perintah:
'''$ sbatch ''[nama-submit-script]'''''
''Contoh:''
$ sbatch submit.sh
|-
|5
|User dapat melihat status jalannya job dengan perintah:
'''<code>$ squeue -ul $USER</code>'''
|}
|}



Revisi per 4 April 2024 06.53

Halaman ini menjelaskan menjalankan komputasi Python dengan environment Anaconda di ALELEON Supercomputer.

Pythonanaconda.png

Langkah Menjalankan Komputasi

Terdapat dua langkah utama:

  1. Membuat dan menyiapkan conda environment untuk komputasi user.
  2. Memilih metode menjalankan komputasi.

Membuat Conda Environment

Kegiatan ini dilakukan pada terminal:

  • Diakses melalui login SSH, atau
  • Pada web EFIRO, buka menu Clusters -> Aleleon Shell Access
Membuat Conda Environment
1 Pilih dan aktifkan modul Anaconda yang akan digunakan.

$ module load [nama-modul-anaconda]

Daftar nama modul Anaconda
Nama Modul Versi
Anaconda3/2023.07-2 Anaconda 3 2023.07-2
Anaconda3/2022.05 Anaconda 3 2022.05
Anaconda3/2021.05 Anaconda 3 2021.05
Anaconda3/2020.11 Anaconda 3 2020.11
2 Buat conda env di direktori HOME dan aktifkan dengan perintah:
$ conda create --name [nama-conda-env] pip

Contoh nama 'skripsi'
$ conda create --name skripsi pip
Mengaktifkan Conda Environment dan Instalasi Package
0 Aktifkan modul Anaconda yang digunakan untuk membuat conda env user.
1 Aktifkan conda env dengan perintah:
$ source activate [nama-conda-env]

Contoh mengaktifkan conda env 'skripsi'
$ source activate skripsi
User dapat melihat daftar conda env yang dibuat sebelumnya dengan:

$ conda env list

2 Lakukan instalasi package Python yang dibutuhkan dengan pip
3 Untuk menonaktifkan conda env jalankan perintah:

$ conda deactivate

Manajemen Conda Environment
1 Deactivate conda env untuk melakukan manajemen dibawah ini.
2 Untuk mengubah nama conda env:
$ conda rename -n [nama-saat-ini] [nama-baru]

Contoh mengubah nama env skripsi ke tesis
$ conda rename -n skripsi tesis
Untuk menghapus conda env:

$ conda remove -n <nama-conda-env> --all

Metode Menjalankan Komputasi

User dapat memilih metode menjalankan komputasi sesuai keinginan:

  • Job submission di terminal
  • Job submission di web EFIRO
  • Interactive job Jupyter Lab / Notebook

Job Submission Terminal

Ketentuan:

  1. Menjalankan file Python di terminal dengan scheduler SLURM.
    • File ipynb harus dikonversi ke file Python.
  2. Berjalan di Compute Node.
  3. Tutorial ini mengasumsikan user familiar dengan terminal Linux.
Langkah Job Submission Terminal

Sbatch Terminal.png

1 Login SSH ke ALELEON Supercomputer.
2 Siapkan conda env dan file komputasi yang dibutuhkan.
3 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.
Anaconda Python di CPU
#!/bin/bash

# -----------------------------------------------------
# Template SLURM Submit Script
# Anaconda Python (CPU)
# 
# NOTES: 
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# 3. Pastikan user sudah membuat Conda Environment.
# -----------------------------------------------------

# -----------------------------------------------------
# Alokasi komputasi SBATCH dan file input
# -----------------------------------------------------

# 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 Conda Environment yang digunakan
CONDA_NAME=////

# Nama program Python yang dijalankan
INPUT_FILE=////.py

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

# Mengaktifkan Conda Environment 
module load Anaconda3
source activate ${CONDA}/${CONDA_NAME}

# Menjalankan file Python
python3 ${INPUT_FILE}
Anaconda Python di GPU
#!/bin/bash

# -----------------------------------------------------
# Template SLURM Submit Script
# Anaconda Python (GPU)
# 
# NOTES: 
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# 3. Pastikan user sudah membuat Conda Environment.
# -----------------------------------------------------

# -----------------------------------------------------
# Alokasi komputasi SBATCH dan file input
# -----------------------------------------------------

# Menggunakan partisi compute node GPU
#SBATCH --partition=ampere

# Alokasi jumlah core thread CPU
#SBATCH --ntasks=////

# Alokasi jumlah GPU
#SBATCH --gpus=////

# 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 Conda Environment yang digunakan
CONDA_NAME=////

# Nama program Python yang dijalankan
INPUT_FILE=////.py

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

# Memuat modul NVIDIA CUDA default 
module load cuda

# Mengaktifkan Conda Environment 
module load Anaconda3
source activate ${CONDA}/${CONDA_NAME}

# Menjalankan file Python
python3 ${INPUT_FILE}
Panduan nilai maksimal alokasi komputasi SBATCH
Limitasi fair policy usage untuk menjaga kualitas layanan:

#SBATCH --ntasks=128 #SBATCH --mem=128GB#SBATCH --gpus=2#SBATCH --time=72:00:00User dapat mengajukan permintaan membuka limitasi melalui form ini.

Versi CPU

#SBATCH --ntasks=128 #SBATCH --mem=128GB#SBATCH --time=72:00:00

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

Job Submission Web EFIRO

Ketentuan:

  1. Menjalankan file Python di web EFIRO Job Composer dengan scheduler SLURM.
    • File ipynb harus dikonversi ke file Python.
  2. Berjalan di Compute Node.
Langkah Job Submission Web EFIRO

Efirojobcomposer3.png

Interactive Job Jupyter

Ketentuan:

  1. Menjalankan sesi interaktif Jupyter Lab atau Notebook.
  2. Berjalan di Interactive Node.
Langkah Interactive Job Sesi Jupyter

Efirojupyterlab.png