TRIAL A6: Perbedaan antara revisi

Dari ALELEON by EFISON
 
(6 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 1: Baris 1:
Ini adalah panduan ''all-in-one'' untuk masa uji coba user dengan <big>'''kode [A]/6'''</big>.
Ini adalah panduan ''all-in-one'' untuk masa uji coba user dengan <big>'''kode [A]/6'''</big>.
== '''''Persetujuan Simbol''''' ==
* Simbol '''$''' menandakan perintah terminal, bracket '''[ ]''' menandakan parameter input.
$ '''command''' '''''[input-user]'''''
Contoh perintah submit job -> $ '''sbatch''' '''''[nama-script]'''''
dengan nama script "mysubmit.sh" menjadi -> $ '''sbatch mysubmit.sh'''
{| class="wikitable"
! colspan="2" |Keterangan simbol perintah terminal
|-
|<code>'''<big>$</big>'''</code>
|Perintah ketika conda environment tidak aktif
|-
|'''<code><big><sub>(env)</sub>$</big></code>'''
|Perintah ketika conda environment aktif
|}


== '''''Login ALELEON Supercomputer''''' ==
== '''''Login ALELEON Supercomputer''''' ==
Baris 71: Baris 53:
|}
|}


== '''''Conda Environment dan Langkah Komputasi''''' ==
== '''''Spesifikasi Trial dan Reproduksi Langkah''''' ==
'''ALELEON Supercomputer mensyaratkan penggunaan conda environment untuk komputasi Python:'''  
Masa uji coba ini menjalankan komputasi Python dengan spesifikasi:
 
# Meggunakan '''conda environment''' untuk menampung instalasi package Python dan isolasi site-packages (tempat instalasi package Python).
# Dapat dijalankan secara batch job dan sesi Jupyter ALELEON Supercomputer.
---
 
=== Conda Environment 'tensor' ===
'''Tim admin menyediakan conda environment siap pakai pada akun uji coba bernama 'tensor' dengan spesifikasi:'''
 
# Dibuat dengan Anaconda 3 2024-02.1 dan Python 3.11
# Package utama TensorFlow 2.19 versi CUDA + CUDA 12.5.
 
'''Tutorial ini memberikan info bagaimana tim admin membuat conda env 'tensor' dan menjalankannya di akun masa uji coba:'''
 
* Supaya user dapat melakukan hal serupa apabila membutuhkan membuat conda env lain,
* contoh untuk instalasi package yang tidak dapat bersama TensorFlow karena ketidakcocokan ''depedencies'' seperti PyTorch.
* Tutorial ini menggunakan basis '''[<nowiki/>[[Komputasi Python dengan Conda Environment]]]''' yang dimodifikasi untuk masa uji coba ini.
 
== '''''Langkah Menjalankan Komputasi'''''==
Terdapat tiga langkah utama:
#Buat conda environment untuk menampung instalasi package.
#Instal package Python yang diperlukan di conda env tersebut.
#Menggunakan conda env tersebut untuk menjalankan komputasi.
===Spesifikasi===
Tutorial ini memandu membuat conda environment dengan '''site-packages terisolasi di dalamnya'''.
{| class="wikitable"
! colspan="2" |Keterangan simbol perintah terminal
|-
|<code>'''<big>$</big>'''</code>
|Perintah ketika conda env tidak aktif
|-
|'''<code><big><sub>(env)</sub>$</big></code>'''
|Perintah ketika conda env aktif
|}
 
== '''''Membuat Conda Environment''''' ==
Tutorial ini menggunakan '''Anaconda 3''' terbaru di ALELEON yaitu versi '''2024-02.1''' dengan environment '''Python 3.11''' karena saat ini (dianggap) '''cocok untuk instalasi semua jenis package.'''
{| class="wikitable"
!- Membuat conda env dengan Anaconda -
[[Berkas:Anaconda transparent logo.png|nirbing|90x90px]]
|-
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!'''''
*''User EFIRO klik app '''<code>Aleleon Shell Access</code>'''''
*''atau menu '''<code>Apps > Aleleon Shell Access</code>'''''
|-
!<big><nowiki>---| 1 |---</nowiki></big>
|-
|Aktifkan modul Anaconda 3 2024.02-1
$ '''module load Anaconda3/2024.02-1'''
|-
!<big><nowiki>---| 2 |---</nowiki></big>
|-
|Buat conda env kosong dengan Python 3.11:
$ '''conda create -n ''[nama-conda-env]'' python=3.11'''
''Contoh pada conda env "tensor":
$ conda create -n '''tensor python=3.11'''''
|-
!---
|}
=='''''Mengaktifkan Conda Env dan Instalasi Package'''''==
[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Ada baiknya user melengkapi instalasi package '''sebelum menjalankan komputasi''' karena:
#Batch job -> supaya script Python berjalan tanpa error ''missing package''.
#Sesi Jupyter -> untuk efisiensi penggunaan karena terkadang ada package yang membutuhkan waktu lama untuk instalasi.
Instalasi ini berjalan di login node sehingga '''tidak mengkonsumsi Core Hour.'''
{| class="wikitable"
!- Mengaktifkan Conda Environment -
|-
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!'''''
*''User EFIRO klik app '''<code>Aleleon Shell Access</code>'''''
*''atau menu '''<code>Apps > Aleleon Shell Access</code>'''''
|-
!<big><nowiki>---| 1 |---</nowiki></big>
|-
|Muat atau pastikan modul Anaconda 3 2024.02-1 aktif:
$ '''module load Anaconda3/2024.02-1'''
|-
!<big><nowiki>---| 2 |---</nowiki></big>
|-
|Aktifkan conda env dengan perintah '''<big><code>source</code></big>''':
$ '''source activate ''[nama-conda-env]'''''
''contoh pada conda env tensor:
$ '''source activate tensor'''''
Apabila lupa dengan nama conda env, cari dengan:
$ '''conda env list'''
|-
!<big><nowiki>---| 3A |---</nowiki></big>
|-
!Pilih panduan instalasi package yang dibutuhkan
|-
|Lihat laman '''<big>[<nowiki/>[[Daftar Instalasi Package Python|Dafta]]</big><big>[[Daftar Instalasi Package Python|r Instalasi Package Python]]]</big>'''
* ''<small>Pada conda env tensor lihat subbab TensorFlow.</small>''
|-
!<big><nowiki>---| 3B |---</nowiki></big>
|-
!Untuk user yang hendak menggunakan sesi Jupyter
[[Berkas:EOD Apps Jupyter full.png|nirbing|116x116px]]
|-
|Instal package:
<sub>(env)</sub>$ '''pip install jupyter jupyterlab'''
|-
!<big><nowiki>---| 4 |---</nowiki></big>
|-
|Apabila hendak menonaktfkan conda env:
<sub>(env)</sub>$ '''conda deactivate'''
|}
=='''''Pilihan Menjalankan Komputasi'''''==
Berikut opsi menjalankan komputasi Python dengan conda env, pilih sesuai kebutuhan: 
{| class="wikitable"
!Jenis Komputasi
!Berjalan di
|-
|'''<big>[[https://wiki.efisonlt.com/wiki/TRIAL_A6#Batch_Job Batch job]]</big>'''
*'''Menjalankan script Python siap jalan yang tidak membutuhkan interaksi user.'''
**[[Berkas:GMB warning wololo.png|nirbing|50x50px]]Perhatikan '''file <code>.ipynb</code>''' harus dikonversi ke '''file <code>.py</code>'''.
**''Job dijalankan oleh Slurm, user menunggu hingga selesai.''
*'''Batch job akan berhenti ketika:'''
**''Program komputasi selesai berjalan.''
**''Program komputasi menyentuh limit waktu yang ditentukan user.''
** ''Program menjumpai error sehingga selesai prematur.''
*'''Koneksi user tidak mempengaruhi jalannya batch job:'''
**''Job tidak akan berhenti ketika koneksi user terputus, atau''
**''user keluar (log out) dari ALELEON.''
|'''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|Compute node]]]:'''
*Partisi epyc [[Berkas:GMB CPU icon.png|nirbing|50x50px]]
*Partisi ampere [[Berkas:GMB GPU icon.png|nirbing|70x70px]]
|-
! colspan="2" |
|-
|'''<big>[[https://wiki.efisonlt.com/wiki/TRIAL_A6#Sesi_Jupyter Sesi Jupyter]]</big>'''
*'''Menjalankan sesi interaktif Jupyter Lab atau Notebook.'''
*'''Sesi Jupyter akan berhenti ketika:'''
**''Waktu sesi habis.''
**''Sesi dihentikan secara manual oleh user.''
**''Sesi menjumpai error sehingga selesai prematur.''
*'''Koneksi user tidak mempengaruhi jalannya sesi Jupyter, contoh:'''
**''Sesi tidak akan berhenti ketika koneksi user terputus, atau''
**''user keluar (log out) dari ALELEON.''
*'''Ketika user keluar dari sesi Jupyter saat ada cell berjalan dan kembali masuk:'''
**''Bisa jadi cell tersebut tidak menampilkan proses jalannya komputasi.''
**''Lihat cell berikutnya apakah belum / sedang / sudah selesai berjalan.''
|'''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Interactive%20Node|interactive node]]]:'''
*Partisi torti [[Berkas:GMB CPU icon.png|nirbing|50x50px]]
*Partisi tilla [[Berkas:GMB GPU icon.png|nirbing|70x70px]]
|}---
 
=== '''Menjalankan Package Python versi GPU?''' ===
Perhatikan hal berikut apabila user menginstal '''package Python versi CUDA''' dan hendak menggunakan '''compute / interactive node GPU''':
#Package membutuhkan jenis dan versi library NVIDIA sesuai seperti '''CUDA, cuDNN''' untuk dapat berjalan di GPU NVIDIA.
#'''''Umumnya (walau tidak semua)''''' package Python CUDA saat ini juga menginstal package NVIDIA yang dibutuhkan.
#Berikut metode mengecek dan melengkapi library NVIDIA yang dibutuhkan package:
{| class="wikitable"
!Mengecek Kelengkapan Package NVIDIA
|-
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!'''''
*''User EFIRO klik app '''<code>Aleleon Shell Access</code>'''''
*''atau menu '''<code>Apps > Aleleon Shell Access</code>'''''
|-
!<big><nowiki>---| 1 |---</nowiki></big>
|-
|'''[[https://wiki.efisonlt.com/wiki/TRIAL_A6#Mengaktifkan_Conda_Env_dan_Instalasi_Package Aktifkan conda env]]''' yang akan digunakan.
|-
!<big><nowiki>---| 2 |---</nowiki></big>
|-
|Cek ketersediaan library CUDA di conda env tersebut:
- Apabila instal package dengan pip
<sub>(env)</sub>$ '''pip list | grep cuda'''
- Apabila instal package dengan conda
<sub>(env)</sub>$ '''conda list | grep cuda'''
|-
!<big><nowiki>---| 3A |---</nowiki></big>
|-
!''Apabila ada output:''
|-
|Conda env siap digunakan.
*User '''tidak perlu memuat modul CUDA.'''
|-
!<big><nowiki>---| 3B |---</nowiki></big>
|-
![[Berkas:GMB warning wololo.png|nirbing|50x50px]] ''Apabila tidak ada output:''
|-
|User '''harus memuat modul CUDA''' dengan ketentuan:
#Perhatikan versi CUDA '''yang dibutuhkan package'''.
#Lihat dokumentasi package tersebut.
''<small><code>(klik expand / kembangkan)</code></small>''
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |- Tutorial memuat dan daftar modul CUDA -
[[Berkas:Logo CUDA ALELEON tp.png|nirbing|150x150px]]
|-
! colspan="2" |'''<big>Opsi Batch Job</big>'''
|-
| colspan="2" |Tambah perintah berikut pada submit script:
...
# Memuat modul
module load ${PM}
'''module load ''[Nama-modul-CUDA]'''''
...
|-
! colspan="2" |'''<big>Opsi Sesi Jupyter</big>'''
|-
| colspan="2" |Isi nama modul pada kolom '''Software Modules'''
|-
! colspan="2" |
|-
! colspan="2" |DAFTAR MODUL CUDA ALELEON
|-
!Versi CUDA
!Nama modul CUDA
|-
|11.2
|<code>cuda/11.2-cuDNN8.1.1</code>
|-
|11.6
|<code>cuda/11.6-cuDNN8.3.3</code>
|-
|11.8
|<code>cuda/11.8-cuDNN8.6.0</code>
|-
|12.0
|<code>cuda/12.0-cuDNN8.7.0</code>
|-
|12.1
|<code>cuda/12.1-cuDNN8.8.1</code>
|-
|12.3
|<code>cuda/12.3-cuDNN8.9.6</code>
|-
|12.4
|<code>cuda/12.4-cuDNN9.2.1</code>
|-
|12.5
|<code>cuda/12.5-cuDNN9.2.1</code>
|-
| colspan="2" |Permintaan instalasi CUDA versi lain:
*Hubungi tim admin di '''''support@efisonlt.com'''''
|-
! colspan="2" |---
|}
|-
!---
|}---
===Batch Job===
menjalankan script Python siap jalan yang tidak membutuhkan interaksi user melalui manajemen Slurm di '''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|compute node]]].'''
*[[Berkas:GMB warning wololo.png|nirbing|50x50px]]Perhatikan '''file <code>.ipynb</code>''' harus dikonversi ke '''file <code>.py</code>'''.
*Tersedia dua pilihan tampilan yaitu terminal dan web EFIRO. Pilih sesuai keinginan.
''<small><code>(klik expand / kembangkan)</code></small>''
{| class="wikitable mw-collapsible mw-collapsed"
!- Langkah Batch Job di Terminal -
[[Berkas:Sbatch terminal display rev2.png|tepi|400x400px]]
|-
!''Tutorial ini mengasumsikan user familiar dengan terminal Linux''
|-
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!'''''
*''User EFIRO klik app '''<code>Aleleon Shell Access</code>'''''
*''atau menu '''<code>Apps > Aleleon Shell Access</code>'''''
|-
!<big><nowiki>---| 1 |---</nowiki></big>
|-
!Lakukan persiapan:
|-
|'''Pastikan package lengkap pada conda env yang akan digunakan:'''
*Package tidak lengkap akan menyebabkan job gagal berjalan.
'''Siapkan file komputasi yang dibutuhkan:'''
*Upload / download file lihat '''[[https://wiki.efisonlt.com/wiki/Manajemen_File_di_ALELEON_Supercomputer#Upload_dan_Download_File Upload / Dow][https://wiki.efisonlt.com/wiki/Manajemen_File_di_ALELEON_Supercomputer#Upload_dan_Download_File nload File HOME]]'''
'''[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Untuk mencegah batch job mengacu site-packages yang salah:'''
1 - ''Apabila'' conda env aktif, keluar:
<small>(env)</small>$ '''conda deactivate'''
 
2 - Menonaktifkan modul Anaconda:
$ '''ml unload Anaconda3'''
<small>Apabila ada pesan ini, abaikan:
  '''''the module ... cannot be unloaded because it was not loaded'''''</small>
|-
!<big><nowiki>---| 2 |---</nowiki></big>
|-
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi:
*Nama file bebas dengan format .sh, contoh '''<code>submit.sh</code>'''
*''Biasanya submit script berada satu folder dengan file komputasi.''
$ '''nano submit.sh'''
''<small>atau vim</small>''
|-
!
|-
|Contoh template Submit Script:
*Ikuti petunjuk '''NOTES dan alur script''' di dalamnya.
''<small><code>Klik expand / kembangkan</code></small>''
{| class="wikitable mw-collapsible mw-collapsed"
!- Template submit script Conda Environment versi CPU -
[[Berkas:GMB CPU icon.png|nirbing|80x80px]]
|-
|'''Note:'''
* '''Perhatikan akun uji coba punya limit alokasi komputasi maksimal:'''
** CPU 16 core thread.
** RAM 64GB.
** Walltime (waktu limit komputasi) 24 jam.
* Apabila menggunakan conda env selain '''<nowiki/>'tensor'''':
** Ganti isi variabel <code>'''CONDA_NAME'''</code> dengan conda env yang akan dipakai.
|-
|<syntaxhighlight lang="bash" line="1">
#!/bin/bash
 
# -----------------------------------------------------
# Template SLURM Submit Script
# Python dengan Conda Environment (CPU)
# TRIAL UST CODE: [A]/6
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# 3. Pastikan user sudah melengkapi conda environment.
# -----------------------------------------------------
 
# -----------------------------------------------------
# Alokasi komputasi SBATCH dan file input
# -----------------------------------------------------
 
# Alokasi jumlah core thread CPU, range 2 - 16
#SBATCH --ntasks=////
 
# Alokasi jumlah memori RAM (satuan GB), range 1 - 64
#SBATCH --mem=////GB
 
# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS, maks 24:00:00
#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
 
# Input nama modul package manager yang digunakan untuk membuat
# conda env user.
PM="Anaconda3/2024.02-1"
 
# Nama conda environment yang digunakan
CONDA_NAME="tensor"
 
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------
 
# Memuat modul
module load ${PM}
 
# Mengaktifkan Conda Environment
source activate ${CONDA_NAME}
 
# Tuliskan perintah menjalankan komputasi Python user
# contoh -> python3 nama-file-python
////
</syntaxhighlight>
|}
|-
|
{| class="wikitable mw-collapsible mw-collapsed"
!- Template submit script conda environment versi GPU -
[[Berkas:GMB GPU icon.png|nirbing|100x100px]]
|-
|'''Note:'''
*[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Perhatikan apakah perlu memuat modul CUDA?
**Conda env ''''tensor'''<nowiki/>' tidak perlu memuat modul CUDA.
**Info detail lihat '''[[https://wiki.efisonlt.com/wiki/TRIAL_A6#Menjalankan_Package_Python_versi_GPU? Menjalankan Package Python Versi GPU?]]'''
**'''''Apabila butuh''''', isi nama modul CUDA sebagai berikut:
...
module load ${PM}
'''''module load [Nama-modul-CUDA]'''''
...
 
* '''Perhatikan akun uji coba punya limit alokasi komputasi maksimal:'''
** CPU 16 core thread.
** GPU 1 unit.
** RAM 64GB.
** Walltime (waktu limit komputasi) 24 jam.
* Apabila menggunakan conda env selain '''<nowiki/>'tensor'''':
** Ganti isi variabel <code>'''CONDA_NAME'''</code> dengan conda env yang akan dipakai.
|-
|<syntaxhighlight lang="bash" line="1">
#!/bin/bash
 
# -----------------------------------------------------
# Template SLURM Submit Script
# Python dengan Conda Environment (GPU)
# TRIAL UST CODE: [A]/6
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# 3. Pastikan user sudah melengkapi conda environment.
# -----------------------------------------------------
 
# -----------------------------------------------------
# Alokasi komputasi SBATCH dan file input
# -----------------------------------------------------
 
# Partisi GPU untuk batch job
#SBATCH --partition=ampere
 
# Alokasi jumlah core thread CPU, range 2 - 16
#SBATCH --ntasks=////
 
# Mengalokasikan 1 GPU
#SBATCH --gpus=1
 
# Alokasi jumlah memori RAM (satuan GB), range 1 - 64
#SBATCH --mem=////GB
 
# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS, maks 24:00:00
#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
 
# Input nama modul package manager yang digunakan untuk membuat
# conda env user.
PM="Anaconda3/2024.02-1"
 
# Nama conda environment yang digunakan
CONDA_NAME="tensor"
 
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------
 
# Memuat modul
# Modul NVIDIA CUDA telah tersedia di conda env tensor
module load ${PM}
 
# Mengaktifkan Conda Environment
source activate ${CONDA_NAME}
 
# Tuliskan perintah menjalankan komputasi Python user
# contoh -> python3 nama-file-python
////
</syntaxhighlight>
|}
|-
!
|-
|
*''Detail Submit Script lihat '''[<nowiki/>[[Submit Script ALELEON Supercomputer|Subm]][[Submit Script ALELEON Supercomputer|it Script ALELEON Supercomputer]]]'''''
 
*''Untuk SBATCH notifikasi email status jalannya job lihat '''[[https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM Slurm Jojo]]'''''
|-
!<big><nowiki>---| 3 |---</nowiki></big>
|-
|Jalankan job dengan perintah:
$ '''sbatch ''[nama-submit-script]'''''
''Contoh:''
$ sbatch submit.sh
|-
!<big><nowiki>---| 4 |---</nowiki></big>
|-
|User dapat melihat status jalannya job dengan perintah:
$ '''squeue -ul $USER'''
*''Apabila tidak ada di squeue artinya job bersangkutan telah berakhir.''
*''Job berakhir ketika:''
**''Komputasi selesai atau ada error sehingga selesai prematur.''
**''Job menyentuh walltime yang didefinisikan user di SBATCH time.''
{| class="wikitable"
|+Kolom ST atau STATE menunjukkan status jalannya job:
|-
! STATE
!Penjelasan
|-
|<code>'''R (RUN)'''</code>
|Job berjalan
|-
|<code>'''PD (PENDING)'''</code>
|Job tertahan, lihat '''[<nowiki/>[[Daftar Job Reason ALELEON Supercomputer|Daftar Job Reason]]]'''
|-
|<code>'''CG (COMPLETING)'''</code>
|Job selesai dan dalam proses clean-up
|-
|<code>'''CA (CANCELED)'''</code>
|Job dibatalkan user
|-
|<code>'''PR (PREEMPETED)'''</code>
|Job dibatalkan admin, alasan dikabarkan via email
|-
|<code>'''S (SUSPENDED)'''</code>
|Job ditahan admin, alasan dikabarkan via email
|}
'''[[Berkas:GMB warning wololo.png|nirbing|50x50px]]  Perhatikan akun uji coba punya limit 1 concurrent job:'''
 
* Hanya 1 job yang bisa berjalan dalam satu waktu.
* Apabila ada job yang jalan, job lain yang disubmit akan mengantri.
|-
!<big><nowiki>---| 5 |---</nowiki></big>
|-
!Memantau konsumsi Core Hour
|-
|User dapat memantau CCH dan GH dengan menjalankan:
$ '''sausage'''
''Perhatikan sausage update nilai setiap 1 jam''
Apabila telah ada pembacaan CCH dan GH, artinya:
 
* ''Akun uji coba ini telah digunakan user sebelumnya.''
* ''Catat nilai yg terbaca sebagai referensi.''
|-
!<big><nowiki>---| 6 |---</nowiki></big>
|-
|User dapat memantau file output dengan perintah Unix seperti:
*'''<code>ls</code>''', '''<code>cat</code>''', '''<code>more</code>''', '''<code>tail</code>''', dll
|-
!<big><nowiki>---| 7 |---</nowiki></big>
|-
|Apabila user ingin menghentikan job yang berjalan, jalankan perintah:
'''$ scancel ''[job-ID]'''''
''Job ID ada pada squeue diatas.''
contoh membatalkan job ID 231:
$ '''scancel 231'''
|-
!---
|}
{| class="wikitable mw-collapsible mw-collapsed"
!- Langkah Batch Job di web EFIRO -
[[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]]
|-
!<big><nowiki>---| 1 |---</nowiki></big>
|-
| [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_ |'''[[https://wiki.efisonlt.com/wiki/TRIAL_A6#Login_ALELEON_Supercomputer Login ke web EFIRO]]''' ALELEON Supercomputer.
|-
!<big><nowiki>---| 2 |---</nowiki></big>
|-
|
{| class="wikitable"
|[[Berkas:EOD Apps Job Composer full.png|nirbing|126x126px]]
|Klik app '''<code><big>Job Composer</big></code>'''  di homepage EFIRO.
*''atau'' menu '''<big><code>Apps > Job Composer</code></big>'''
|}
|-
|[[Berkas:Jcnewjobmarked.png|nirbing|170x170px]]Pilih menu <big>'''<code>New Job > From Template</code>'''</big>
|-
!<big><nowiki>---| 3 |---</nowiki></big>
|-
!Buat ruang job untuk menjalankan komputasi:
|-
|
{| class="wikitable"
|+Pilih template Anaconda Python yang diinginkan:
|-
!Nama Template
!Penjelasan
|-
|TRIAL [A]/6 - Conda Env (CPU)
|Menjalankan conda env pada CPU
|-
|TRIAL [A]/6 - Conda Env (GPU)
|Menjalankan conda env pada GPU
|}Kemudian Isi '''Job Name''' dan klik '''<code><big>Create New Job</big></code>'''
 
[[Berkas:Jctemplate-2.png|nirbing]]
|-
!<big><nowiki>---| 4 |---</nowiki></big>
|-
!Lakukan persiapan:
|-
|'''Pastikan package lengkap pada conda env yang akan digunakan:'''
*Package tidak lengkap akan menyebabkan job gagal berjalan.
*Akses terminal apabila butuh via menu '''<code><big>Open Terminal</big></code>'''
'''Siapkan file komputasi yang dibutuhkan di ruang job:'''
*''Pastikan ruang job yang dipilih adalah yang akan digunakan.''
 
*Upload / download / edit file via menu <code>'''<big>Edit Files</big>'''</code>
 
*Upload / download file tunggal diatas 2GB gunakan '''[[https://wiki.efisonlt.com/wiki/Manajemen_File_di_ALELEON_Supercomputer#Upload_/_Download_Ruang_Job_Composer software FTP]]'''
[[Berkas:JC job menu.png|nirbing|500x500px]]
|-
!<big><nowiki>---| 5 |---</nowiki></big>
|-
|Lengkapi '''Submit Script''' melalui tombol '''<code><big>Open Editor</big></code>'''
*Submit script adalah 'formulir' untuk menjalankan job komputasi.
*Ikuti petunjuk '''NOTES dan alur script''' di dalamnya.
*Klik '''<code><big>Save</big></code>''' setiap kali mengubah script.
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]]
|-
!
|-
|'''Note:'''
*'''Perhatikan akun uji coba punya limit alokasi komputasi maksimal:'''
** CPU 16 core thread.
** GPU 1 unit.
** RAM 64GB.
** Walltime (waktu limit komputasi) 24 jam.
* '''Apabila menggunakan conda env selain <nowiki/>'tensor':'''
** Ganti isi variabel <code>CONDA_NAME</code> dengan conda env yang akan dipakai.
* '''[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Apabila memiliih template GPU:'''
**Perhatikan apakah perlu memuat modul CUDA?
**Conda env ''''tensor'''<nowiki/>' tidak perlu memuat modul CUDA.
**Info detail lihat '''[[https://wiki.efisonlt.com/wiki/TRIAL_A6#Menjalankan_Package_Python_versi_GPU? Menjalankan Package Python Versi GPU?]]'''
***'''''Apabila butuh''''', isi nama modul CUDA pada submit script:
...
module load ${PM}
'''''module load [Nama-modul-CUDA]'''''
...
|-
!
|-
|
*''Detail Submit Script lihat '''[<nowiki/>[[Submit Script ALELEON Supercomputer|Subm]][[Submit Script ALELEON Supercomputer|it Script ALELEON Supercomputer]]]'''''
 
*''Untuk SBATCH notifikasi email status jalannya job lihat '''[[https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM Slurm Jojo]]'''''
|-
!<big><nowiki>---| 6 |---</nowiki></big>
|-
|Jalankan job dengan klik tombol '''<code><big>Submit</big></code>'''
[[Berkas:JC job runstop.png|al=|nirbing|400x400px]]
*''Job berakhir '''(Status completed)''' ketika:''
**''Komputasi selesai atau ada error sehingga selesai prematur.''
**''Job menyentuh walltime yang didefinisikan user di SBATCH time.''
{| class="wikitable"
|+Kolom Status menunjukkan status jalannya job:
|-
!Status
!Arti
|-
|'''Not Submitted'''
|Job belum pernah dijalankan.
|-
|'''Running'''
|Job berjalan.
|-
|'''Queue'''
|Job mengantri dan belum berjalan.
|-
|'''Completed'''
|Job selesai berjalan.
|-
|'''Failed'''
|Job berhenti karena error atau di stop user.
|-
! colspan="2" |'''Melihat alasan job yang queue:'''
|-
| colspan="2" |[[Berkas:Active Jobs detail.png|nir|jmpl|300x300px|''Buka menu '''Apps >''' '''Active Jobs''' di homepage EFIRO. Ubah opsi All jobs ke '''Your Jobs'''. Klik simbol '''>''' untuk melihat status job yang pending pada kolom Reason. Arti reason lihat laman '''[[Daftar Job Reason ALELEON Supercomputer]]''''']]
|}
'''[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Perhatikan akun uji coba punya limit 1 concurrent job:'''
 
* Hanya 1 job yang bisa berjalan dalam satu waktu.
* Apabila ada job yang jalan, job lain yang disubmit akan mengantri.
|-
!<big><nowiki>---| 7 |---</nowiki></big>
|-
|User dapat memantau CCH dan GH dengan:
 
# Buka menu '''<code><big>Open Terminal</big></code>'''
# Jalankan perintah: 
 
$ '''sausage'''
''Perhatikan sausage update nilai setiap 1 jam''
Apabila telah ada pembacaan CCH dan GH, artinya:
 
* ''Akun uji coba ini telah digunakan user sebelumnya.''
* ''Catat nilai yg terbaca sebagai referensi.''
|-
!<big><nowiki>---| 8 |---</nowiki></big>
|-
|Lihat output file komputasi pada kolom '''Folder Contents'''
*Atau dengan membuka menu '''<code><big>Edit Files</big></code>'''
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>''''']]
|-
!<big><nowiki>---| 9 |---</nowiki></big>
|-
|Apabila user ingin menghentikan job yang berjalan, klik '''<code><big>Stop</big></code>'''
|-
!<big><nowiki>---| 10 |---</nowiki></big>
|-
|Untuk menghapus ruang job dan datanya:
*Pilih ruang job yang akan dihapus.
*Perhatikan opsi ini juga '''menghapus data di ruang job tersebut.'''
*Klik menu '''<code><big>Delete</big></code>'''
[[Berkas:JC delete menu.png|nirbing|400x400px]]
|-
!---
|}
===Sesi Jupyter===
Menjalankan sesi interaktif Jupyter Lab atau Notebook di '''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Interactive%20Node|interactive node]]].'''


# Praktik baik dalam isolasi site-packages (tempat instalasi package Python).  
''<small><code>(klik expand / kembangkan)</code></small>''
# Dapat digunakan untuk menjalankan job secara batch job dan sesi Jupyter.
{| class="wikitable mw-collapsible mw-collapsed"
!- Langkah Sesi Jupyter -
[[Berkas:Efiro jupyter display.png|400x400px]]
|-
!<big><nowiki>---| 1 |---</nowiki></big>
|-
| '''[https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_ |'''[[https://wiki.efisonlt.com/wiki/TRIAL_A6#Login_ALELEON_Supercomputer Login ke web EFIRO]]''' ALELEON Supercomputer.
|-
!<big><nowiki>---| 2 |---</nowiki></big>
|-
!Lakukan persiapan sebelum sesi Jupyter:
|-
|'''Untuk efisiensi sesi terkait batasan waktu dan konsumsi Core Hour:'''
*Lengkapi instalasi package pada conda env yang akan dipakai.
*Upload file besar lihat '''[[https://wiki.efisonlt.com/wiki/Manajemen_File_di_ALELEON_Supercomputer Upload / Download File HOME]]'''
**Direktori standar sesi Jupyter adalah $HOME user.
|-
!<big><nowiki>---| 3 |---</nowiki></big>
|-
|
{| class="wikitable"
|[[Berkas:New Pinnedapps jupyter.png|nirbing|116x116px]]
|Klik app '''<code><big>Jupyter</big></code>'''  di homepage EFIRO.
*''atau'' menu '''<big><code>Apps > Jupyter</code></big>'''
|}
|-
!<big><nowiki>---| 4 |---</nowiki></big>
|-
|Isi formulir untuk memulai sesi Jupyter dengan panduan berikut:
{| class="wikitable"
!<code>''<big>Choose Jupyter version</big>''</code>
|-
|Pilih sesuai preferensi user, <code>Jupyter Lab</code> atau <code>Notebook</code>
|-
!
|-
!''<code><big>Partition</big></code>''
|-
|Pilih sesuai kebutuhan:
*<code>'''torti'''</code> -> interactive node CPU [[Berkas:GMB CPU icon.png|nirbing|60x60px]]
*<code>'''tilla'''</code> -> interactive node GPU [[Berkas:GMB GPU icon.png|nirbing|90x90px]]
|-
!
|-
!<code>''<big>Number of CPU thread(s)</big>''</code>
|-
|Alokasi core CPU, range <code><big>'''2 - 16'''</big></code>
|-
!
|-
!<code>''<big>Amount of memory/RAM (GB)</big>''</code>
|-
|Alokasi RAM dalam satuan GB, range <code><big>'''1 - 55'''</big></code>
|-
!
|-
!''<code><big>Number of GPUs</big></code> (apabila pilih partition tilla)''
|-
|Jumlah GPU, isi angka <code><big>'''1'''</big></code>
|-
!
|-
!''<code><big>Number of hours</big></code>''
|-
|Waktu maksimal sesi Jupyter, range <code><big>'''1 - 24'''</big></code>
|-
![[Berkas:GMB warning wololo.png|nirbing|50x50px]] Limit komputasi
|-
|'''Perhatikan akun uji coba punya limit alokasi komputasi maksimal:'''
 
* CPU 16 core thread.
* GPU 1 unit.
* RAM 64GB.
* Walltime (waktu limit komputasi) 24 jam.
|-
!
|-
!''<code><big>Choose how to launch Jupyter</big></code>''
|-
|Pilih <code>'''Anaconda/Mamba'''</code>
|-
!
|-
!''<code><big>Choose Anaconda/Mamba version</big></code>''
|-
|Pilih '''<code>Anaconda 3 2024.02-1</code>'''
|-
!
|-
!''<code><big>Conda/Mamba environment directory</big></code>''
|-
|Isi <code>'''tensor'''</code>
* ''Kecuali apabila user menggunakan conda env lain:''
* ''Isi dengan nama conda env yang dibuat user.''
|-
!
|-
!''<code><big>Software Modules</big></code>''
|-
|Memuat modul software diluar conda env user , ''isi apabila ada''.
|-
|[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Bagi user yang memilih '''partition tilla''':
*Perhatikan apakah perlu memuat modul CUDA?
*Conda env ''''tensor'''<nowiki/>' tidak perlu memuat modul CUDA.
*Info detail lihat '''[[https://wiki.efisonlt.com/wiki/TRIAL_A6#Menjalankan_Package_Python_versi_GPU? Menjalankan Package Python Versi GPU?]]'''
*'''''Apabila butuh''''', isi form ini dengan nama modul CUDA.
|-
!
|-
!''<code><big>Environment setup</big></code>''
|-
|Memuat environment variable, ''isi apabila ada''.
|-
!
|-
!''<code><big>Additional Jupyter arguments</big></code>''
|-
|Memuat argumen tambahan Jupyter, ''isi apabila ada''.
|-
!
|-
!''<code><big>Email address</big></code>''
|-
|Notifikasi email untuk status mulai dan selesainya Jupyter.
*''Isi apabila berkenan.''
|}
*
|-
!<big><nowiki>---| 5 |---</nowiki></big>
|-
|Klik tombol '''<code><big>Launch</big></code>''' untuk memulai sesi Jupyter:
*User akan diarahkan ke halaman '''<code><big>My Interactive Sessions</big></code>'''
*Tunggu hingga sesi Jupyter siap diakses.
[[Berkas:Jupyternotebookqueue.png|nirbing|500x500px]]
|-
!<big><nowiki>---| 6 |---</nowiki></big>
|-
|Apabila status '''Running''', klik tombol '''<code><big>Connect to Jupyter</big></code>'''
*[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Sistem mulai menghitung Core Hour!
*Sesi akan terus berjalan selama '''waktu sesi masih ada'''.
*Untuk menghentikan sesi yang running, klik tombol '''<code><big>Cancel</big></code>'''
[[Berkas:Newjupyter120124.png|nirbing|500x500px]]
|-
!<big><nowiki>---| 7 |---</nowiki></big>
|-
|Gunakan kernel '''Python 3 (ipykernel)''' untuk sesi Jupyter.
|-
!<big><nowiki>---| 8A |---</nowiki></big>
|-
|User dapat memantau CCH dan GH dengan:
 
# Buka menu '''<code><big>Apps > Aleleon Shell Access</big></code>'''
# Jalankan perintah: 
 
$ '''sausage'''
''Perhatikan sausage update nilai setiap 1 jam''
Apabila telah ada pembacaan CCH dan GH, artinya:
 
* ''Akun uji coba ini telah digunakan user sebelumnya.''
* ''Catat nilai yg terbaca sebagai referensi.''
|-
!<big><nowiki>---| 8B |---</nowiki></big>
|-
|'''Sesi Jupyter tidak terputus ketika:'''
*Koneksi user terputus saat sesi Jupyter.
*User keluar / log out dari sesi Jupyter dan web EFIRO.
'''User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:'''
*Menu '''<code><big>My Interactive Sessions</big></code>'''
*Kolom '''<code><big>Active interactive sessions</big></code>''' di homepage EFIRO.
[[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Ketika user keluar saat ada cell berjalan dan kembali masuk:'''
*Bisa jadi cell tersebut tidak menampilkan proses jalannya komputasi.
*Lihat cell berikutnya apakah belum / sedang / selesai berjalan.
|-
!---
|}
=='''''Pelaporan Kendala dan Support'''''==
Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini.


'''User menjalankan komputasi Python melalui conda env dengan langkah utama:'''
[[Berkas:Wiki-pelaporankendala.jpg|1000x1000px|link=https://efisonlt.com/aleleonbugreport]]


# Tim admin telah menyediakan conda env siap pakai.
Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email:
#* User dapat mengecek kelengkapan package dan melakukan tambahan instalasi apabila perlu.
'''support@efisonlt.com'''
# Pilih metode menjalankan komputasi yaitu batch job atau sesi Jupyter.

Revisi terkini sejak 17 Mei 2025 19.09

Ini adalah panduan all-in-one untuk masa uji coba user dengan kode [A]/6.

Login ALELEON Supercomputer

- Langkah Login ke ALELEON Supercomputer -
---| 1 |---
Aktifkan [Koneksi VPN ALELEON Supercomputer]
---| 2 |---
Pilih opsi login:
  • User dapat login keduanya di waktu bersamaan.
Login SSH terminal

Sbatch terminal display rev2.png

Lakukan SSH dengan software shell preferensi user:
Kredensial login SSH ALELEON Supercomputer
Username dan password Diberikan 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 Windows & MacOS -> $ ssh [username]@aleleon.hpc
  • User Linux -> $ ssh [username]@10.192.50.10
Login Portal Web EFIRO

Efirodashboardshort2.png

Buka portal web EFIRO. Login dengan username dan password user.
---

Spesifikasi Trial dan Reproduksi Langkah

Masa uji coba ini menjalankan komputasi Python dengan spesifikasi:

  1. Meggunakan conda environment untuk menampung instalasi package Python dan isolasi site-packages (tempat instalasi package Python).
  2. Dapat dijalankan secara batch job dan sesi Jupyter ALELEON Supercomputer.

---

Conda Environment 'tensor'

Tim admin menyediakan conda environment siap pakai pada akun uji coba bernama 'tensor' dengan spesifikasi:

  1. Dibuat dengan Anaconda 3 2024-02.1 dan Python 3.11
  2. Package utama TensorFlow 2.19 versi CUDA + CUDA 12.5.

Tutorial ini memberikan info bagaimana tim admin membuat conda env 'tensor' dan menjalankannya di akun masa uji coba:

  • Supaya user dapat melakukan hal serupa apabila membutuhkan membuat conda env lain,
  • contoh untuk instalasi package yang tidak dapat bersama TensorFlow karena ketidakcocokan depedencies seperti PyTorch.
  • Tutorial ini menggunakan basis [Komputasi Python dengan Conda Environment] yang dimodifikasi untuk masa uji coba ini.

Langkah Menjalankan Komputasi

Terdapat tiga langkah utama:

  1. Buat conda environment untuk menampung instalasi package.
  2. Instal package Python yang diperlukan di conda env tersebut.
  3. Menggunakan conda env tersebut untuk menjalankan komputasi.

Spesifikasi

Tutorial ini memandu membuat conda environment dengan site-packages terisolasi di dalamnya.

Keterangan simbol perintah terminal
$ Perintah ketika conda env tidak aktif
(env)$ Perintah ketika conda env aktif

Membuat Conda Environment

Tutorial ini menggunakan Anaconda 3 terbaru di ALELEON yaitu versi 2024-02.1 dengan environment Python 3.11 karena saat ini (dianggap) cocok untuk instalasi semua jenis package.

- Membuat conda env dengan Anaconda -

Anaconda transparent logo.png

EOD Apps Shell full.png
Menggunakan terminal!
  • User EFIRO klik app Aleleon Shell Access
  • atau menu Apps > Aleleon Shell Access
---| 1 |---
Aktifkan modul Anaconda 3 2024.02-1
$ module load Anaconda3/2024.02-1
---| 2 |---
Buat conda env kosong dengan Python 3.11:
$ conda create -n [nama-conda-env] python=3.11

Contoh pada conda env "tensor":
$ conda create -n tensor python=3.11
---

Mengaktifkan Conda Env dan Instalasi Package

GMB warning wololo.png Ada baiknya user melengkapi instalasi package sebelum menjalankan komputasi karena:

  1. Batch job -> supaya script Python berjalan tanpa error missing package.
  2. Sesi Jupyter -> untuk efisiensi penggunaan karena terkadang ada package yang membutuhkan waktu lama untuk instalasi.

Instalasi ini berjalan di login node sehingga tidak mengkonsumsi Core Hour.

- Mengaktifkan Conda Environment -
EOD Apps Shell full.png
Menggunakan terminal!
  • User EFIRO klik app Aleleon Shell Access
  • atau menu Apps > Aleleon Shell Access
---| 1 |---
Muat atau pastikan modul Anaconda 3 2024.02-1 aktif:
$ module load Anaconda3/2024.02-1
---| 2 |---
Aktifkan conda env dengan perintah source:
$ source activate [nama-conda-env]

contoh pada conda env tensor:
$ source activate tensor

Apabila lupa dengan nama conda env, cari dengan:

$ conda env list
---| 3A |---
Pilih panduan instalasi package yang dibutuhkan
Lihat laman [Daftar Instalasi Package Python]
  • Pada conda env tensor lihat subbab TensorFlow.
---| 3B |---
Untuk user yang hendak menggunakan sesi Jupyter

EOD Apps Jupyter full.png

Instal package:
(env)$ pip install jupyter jupyterlab
---| 4 |---
Apabila hendak menonaktfkan conda env:
(env)$ conda deactivate

Pilihan Menjalankan Komputasi

Berikut opsi menjalankan komputasi Python dengan conda env, pilih sesuai kebutuhan:

Jenis Komputasi Berjalan di
[Batch job]
  • Menjalankan script Python siap jalan yang tidak membutuhkan interaksi user.
    • GMB warning wololo.pngPerhatikan file .ipynb harus dikonversi ke file .py.
    • Job dijalankan oleh Slurm, user menunggu hingga selesai.
  • Batch job akan berhenti ketika:
    • Program komputasi selesai berjalan.
    • Program komputasi menyentuh limit waktu yang ditentukan user.
    • Program menjumpai error sehingga selesai prematur.
  • Koneksi user tidak mempengaruhi jalannya batch job:
    • Job tidak akan berhenti ketika koneksi user terputus, atau
    • user keluar (log out) dari ALELEON.
[Compute node]:
  • Partisi epyc GMB CPU icon.png
  • Partisi ampere GMB GPU icon.png
[Sesi Jupyter]
  • Menjalankan sesi interaktif Jupyter Lab atau Notebook.
  • Sesi Jupyter akan berhenti ketika:
    • Waktu sesi habis.
    • Sesi dihentikan secara manual oleh user.
    • Sesi menjumpai error sehingga selesai prematur.
  • Koneksi user tidak mempengaruhi jalannya sesi Jupyter, contoh:
    • Sesi tidak akan berhenti ketika koneksi user terputus, atau
    • user keluar (log out) dari ALELEON.
  • Ketika user keluar dari sesi Jupyter saat ada cell berjalan dan kembali masuk:
    • Bisa jadi cell tersebut tidak menampilkan proses jalannya komputasi.
    • Lihat cell berikutnya apakah belum / sedang / sudah selesai berjalan.
[interactive node]:
  • Partisi torti GMB CPU icon.png
  • Partisi tilla GMB GPU icon.png

---

Menjalankan Package Python versi GPU?

Perhatikan hal berikut apabila user menginstal package Python versi CUDA dan hendak menggunakan compute / interactive node GPU:

  1. Package membutuhkan jenis dan versi library NVIDIA sesuai seperti CUDA, cuDNN untuk dapat berjalan di GPU NVIDIA.
  2. Umumnya (walau tidak semua) package Python CUDA saat ini juga menginstal package NVIDIA yang dibutuhkan.
  3. Berikut metode mengecek dan melengkapi library NVIDIA yang dibutuhkan package:
Mengecek Kelengkapan Package NVIDIA
EOD Apps Shell full.png
Menggunakan terminal!
  • User EFIRO klik app Aleleon Shell Access
  • atau menu Apps > Aleleon Shell Access
---| 1 |---
[Aktifkan conda env] yang akan digunakan.
---| 2 |---
Cek ketersediaan library CUDA di conda env tersebut:
- Apabila instal package dengan pip
(env)$ pip list | grep cuda

- Apabila instal package dengan conda
(env)$ conda list | grep cuda
---| 3A |---
Apabila ada output:
Conda env siap digunakan.
  • User tidak perlu memuat modul CUDA.
---| 3B |---
GMB warning wololo.png Apabila tidak ada output:
User harus memuat modul CUDA dengan ketentuan:
  1. Perhatikan versi CUDA yang dibutuhkan package.
  2. Lihat dokumentasi package tersebut.

(klik expand / kembangkan)

- Tutorial memuat dan daftar modul CUDA -

Logo CUDA ALELEON tp.png

Opsi Batch Job
Tambah perintah berikut pada submit script:
...
# Memuat modul
module load ${PM}
module load [Nama-modul-CUDA]
...
Opsi Sesi Jupyter
Isi nama modul pada kolom Software Modules
DAFTAR MODUL CUDA ALELEON
Versi CUDA Nama modul CUDA
11.2 cuda/11.2-cuDNN8.1.1
11.6 cuda/11.6-cuDNN8.3.3
11.8 cuda/11.8-cuDNN8.6.0
12.0 cuda/12.0-cuDNN8.7.0
12.1 cuda/12.1-cuDNN8.8.1
12.3 cuda/12.3-cuDNN8.9.6
12.4 cuda/12.4-cuDNN9.2.1
12.5 cuda/12.5-cuDNN9.2.1
Permintaan instalasi CUDA versi lain:
  • Hubungi tim admin di support@efisonlt.com
---
---

---

Batch Job

menjalankan script Python siap jalan yang tidak membutuhkan interaksi user melalui manajemen Slurm di [compute node].

  • GMB warning wololo.pngPerhatikan file .ipynb harus dikonversi ke file .py.
  • Tersedia dua pilihan tampilan yaitu terminal dan web EFIRO. Pilih sesuai keinginan.

(klik expand / kembangkan)

- Langkah Batch Job di Terminal -

Sbatch terminal display rev2.png

Tutorial ini mengasumsikan user familiar dengan terminal Linux
EOD Apps Shell full.png
Menggunakan terminal!
  • User EFIRO klik app Aleleon Shell Access
  • atau menu Apps > Aleleon Shell Access
---| 1 |---
Lakukan persiapan:
Pastikan package lengkap pada conda env yang akan digunakan:
  • Package tidak lengkap akan menyebabkan job gagal berjalan.

Siapkan file komputasi yang dibutuhkan:

GMB warning wololo.png Untuk mencegah batch job mengacu site-packages yang salah:

1 - Apabila conda env aktif, keluar:
(env)$ conda deactivate
 
2 - Menonaktifkan modul Anaconda:
$ ml unload Anaconda3

Apabila ada pesan ini, abaikan:
 the module ... cannot be unloaded because it was not loaded
---| 2 |---
Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi:
  • Nama file bebas dengan format .sh, contoh submit.sh
  • Biasanya submit script berada satu folder dengan file komputasi.
$ nano submit.sh
atau vim
Contoh template Submit Script:
  • Ikuti petunjuk NOTES dan alur script di dalamnya.

Klik expand / kembangkan

- Template submit script Conda Environment versi CPU -

GMB CPU icon.png

Note:
  • Perhatikan akun uji coba punya limit alokasi komputasi maksimal:
    • CPU 16 core thread.
    • RAM 64GB.
    • Walltime (waktu limit komputasi) 24 jam.
  • Apabila menggunakan conda env selain 'tensor':
    • Ganti isi variabel CONDA_NAME dengan conda env yang akan dipakai.
#!/bin/bash

# -----------------------------------------------------
# Template SLURM Submit Script
# Python dengan Conda Environment (CPU)
# TRIAL UST CODE: [A]/6
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# 3. Pastikan user sudah melengkapi conda environment.
# -----------------------------------------------------

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

# Alokasi jumlah core thread CPU, range 2 - 16
#SBATCH --ntasks=////

# Alokasi jumlah memori RAM (satuan GB), range 1 - 64
#SBATCH --mem=////GB

# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS, maks 24:00:00
#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

# Input nama modul package manager yang digunakan untuk membuat
# conda env user.
PM="Anaconda3/2024.02-1"

# Nama conda environment yang digunakan
CONDA_NAME="tensor"

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

# Memuat modul
module load ${PM}

# Mengaktifkan Conda Environment
source activate ${CONDA_NAME}

# Tuliskan perintah menjalankan komputasi Python user
# contoh -> python3 nama-file-python
////
- Template submit script conda environment versi GPU -

GMB GPU icon.png

Note:
  • GMB warning wololo.png Perhatikan apakah perlu memuat modul CUDA?
...
module load ${PM}
module load [Nama-modul-CUDA]
...
  • Perhatikan akun uji coba punya limit alokasi komputasi maksimal:
    • CPU 16 core thread.
    • GPU 1 unit.
    • RAM 64GB.
    • Walltime (waktu limit komputasi) 24 jam.
  • Apabila menggunakan conda env selain 'tensor':
    • Ganti isi variabel CONDA_NAME dengan conda env yang akan dipakai.
#!/bin/bash

# -----------------------------------------------------
# Template SLURM Submit Script
# Python dengan Conda Environment (GPU)
# TRIAL UST CODE: [A]/6
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# 3. Pastikan user sudah melengkapi conda environment.
# -----------------------------------------------------

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

# Partisi GPU untuk batch job
#SBATCH --partition=ampere

# Alokasi jumlah core thread CPU, range 2 - 16
#SBATCH --ntasks=////

# Mengalokasikan 1 GPU
#SBATCH --gpus=1

# Alokasi jumlah memori RAM (satuan GB), range 1 - 64
#SBATCH --mem=////GB

# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS, maks 24:00:00
#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

# Input nama modul package manager yang digunakan untuk membuat
# conda env user.
PM="Anaconda3/2024.02-1"

# Nama conda environment yang digunakan
CONDA_NAME="tensor"

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

# Memuat modul
# Modul NVIDIA CUDA telah tersedia di conda env tensor
module load ${PM}

# Mengaktifkan Conda Environment
source activate ${CONDA_NAME}

# Tuliskan perintah menjalankan komputasi Python user
# contoh -> python3 nama-file-python
////
  • Untuk SBATCH notifikasi email status jalannya job lihat [Slurm Jojo]
---| 3 |---
Jalankan job dengan perintah:
$ sbatch [nama-submit-script]

Contoh:
$ sbatch submit.sh
---| 4 |---
User dapat melihat status jalannya job dengan perintah:
$ squeue -ul $USER
  • Apabila tidak ada di squeue artinya job bersangkutan telah berakhir.
  • Job berakhir ketika:
    • Komputasi selesai atau ada error sehingga selesai prematur.
    • Job menyentuh walltime yang didefinisikan user di SBATCH time.
Kolom ST atau STATE menunjukkan status jalannya job:
STATE Penjelasan
R (RUN) Job berjalan
PD (PENDING) Job tertahan, lihat [Daftar Job Reason]
CG (COMPLETING) Job selesai dan dalam proses clean-up
CA (CANCELED) Job dibatalkan user
PR (PREEMPETED) Job dibatalkan admin, alasan dikabarkan via email
S (SUSPENDED) Job ditahan admin, alasan dikabarkan via email

GMB warning wololo.png Perhatikan akun uji coba punya limit 1 concurrent job:

  • Hanya 1 job yang bisa berjalan dalam satu waktu.
  • Apabila ada job yang jalan, job lain yang disubmit akan mengantri.
---| 5 |---
Memantau konsumsi Core Hour
User dapat memantau CCH dan GH dengan menjalankan:
$ sausage
Perhatikan sausage update nilai setiap 1 jam

Apabila telah ada pembacaan CCH dan GH, artinya:

  • Akun uji coba ini telah digunakan user sebelumnya.
  • Catat nilai yg terbaca sebagai referensi.
---| 6 |---
User dapat memantau file output dengan perintah Unix seperti:
  • ls, cat, more, tail, dll
---| 7 |---
Apabila user ingin menghentikan job yang berjalan, jalankan perintah:
$ scancel [job-ID]

Job ID ada pada squeue diatas.
contoh membatalkan job ID 231:
$ scancel 231
---
- Langkah Batch Job di web EFIRO -

Efiro jobcomposer display.png

---| 1 |---
[Login ke web EFIRO] ALELEON Supercomputer.
---| 2 |---
EOD Apps Job Composer full.png Klik app Job Composer di homepage EFIRO.
  • atau menu Apps > Job Composer
Jcnewjobmarked.pngPilih menu New Job > From Template
---| 3 |---
Buat ruang job untuk menjalankan komputasi:
Pilih template Anaconda Python yang diinginkan:
Nama Template Penjelasan
TRIAL [A]/6 - Conda Env (CPU) Menjalankan conda env pada CPU
TRIAL [A]/6 - Conda Env (GPU) Menjalankan conda env pada GPU
Kemudian Isi Job Name dan klik Create New Job

Jctemplate-2.png

---| 4 |---
Lakukan persiapan:
Pastikan package lengkap pada conda env yang akan digunakan:
  • Package tidak lengkap akan menyebabkan job gagal berjalan.
  • Akses terminal apabila butuh via menu Open Terminal

Siapkan file komputasi yang dibutuhkan di ruang job:

  • Pastikan ruang job yang dipilih adalah yang akan digunakan.
  • Upload / download / edit file via menu Edit Files
  • Upload / download file tunggal diatas 2GB gunakan [software FTP]

JC job menu.png

---| 5 |---
Lengkapi Submit Script melalui tombol Open Editor
  • Submit script adalah 'formulir' untuk menjalankan job komputasi.
  • Ikuti petunjuk NOTES dan alur script di dalamnya.
  • Klik Save setiap kali mengubah script.

Note:
  • Perhatikan akun uji coba punya limit alokasi komputasi maksimal:
    • CPU 16 core thread.
    • GPU 1 unit.
    • RAM 64GB.
    • Walltime (waktu limit komputasi) 24 jam.
  • Apabila menggunakan conda env selain 'tensor':
    • Ganti isi variabel CONDA_NAME dengan conda env yang akan dipakai.
  • GMB warning wololo.png Apabila memiliih template GPU:
    • Perhatikan apakah perlu memuat modul CUDA?
    • Conda env 'tensor' tidak perlu memuat modul CUDA.
    • Info detail lihat [Menjalankan Package Python Versi GPU?]
      • Apabila butuh, isi nama modul CUDA pada submit script:
...
module load ${PM}
module load [Nama-modul-CUDA]
...
  • Untuk SBATCH notifikasi email status jalannya job lihat [Slurm Jojo]
---| 6 |---
Jalankan job dengan klik tombol Submit

  • Job berakhir (Status completed) ketika:
    • Komputasi selesai atau ada error sehingga selesai prematur.
    • Job menyentuh walltime yang didefinisikan user di SBATCH time.
Kolom Status menunjukkan status jalannya job:
Status Arti
Not Submitted Job belum pernah dijalankan.
Running Job berjalan.
Queue Job mengantri dan belum berjalan.
Completed Job selesai berjalan.
Failed Job berhenti karena error atau di stop user.
Melihat alasan job yang queue:
Buka menu Apps > Active Jobs di homepage EFIRO. Ubah opsi All jobs ke Your Jobs. Klik simbol > untuk melihat status job yang pending pada kolom Reason. Arti reason lihat laman Daftar Job Reason ALELEON Supercomputer

GMB warning wololo.png Perhatikan akun uji coba punya limit 1 concurrent job:

  • Hanya 1 job yang bisa berjalan dalam satu waktu.
  • Apabila ada job yang jalan, job lain yang disubmit akan mengantri.
---| 7 |---
User dapat memantau CCH dan GH dengan:
  1. Buka menu Open Terminal
  2. Jalankan perintah:
$ sausage
Perhatikan sausage update nilai setiap 1 jam

Apabila telah ada pembacaan CCH dan GH, artinya:

  • Akun uji coba ini telah digunakan user sebelumnya.
  • Catat nilai yg terbaca sebagai referensi.
---| 8 |---
Lihat output file komputasi pada kolom Folder Contents
  • Atau dengan membuka menu Edit Files
Kolom Folder Contents
---| 9 |---
Apabila user ingin menghentikan job yang berjalan, klik Stop
---| 10 |---
Untuk menghapus ruang job dan datanya:
  • Pilih ruang job yang akan dihapus.
  • Perhatikan opsi ini juga menghapus data di ruang job tersebut.
  • Klik menu Delete

JC delete menu.png

---

Sesi Jupyter

Menjalankan sesi interaktif Jupyter Lab atau Notebook di [interactive node].

(klik expand / kembangkan)

- Langkah Sesi Jupyter -

Efiro jupyter display.png

---| 1 |---
[Login ke web EFIRO] ALELEON Supercomputer.
---| 2 |---
Lakukan persiapan sebelum sesi Jupyter:
Untuk efisiensi sesi terkait batasan waktu dan konsumsi Core Hour:
  • Lengkapi instalasi package pada conda env yang akan dipakai.
  • Upload file besar lihat [Upload / Download File HOME]
    • Direktori standar sesi Jupyter adalah $HOME user.
---| 3 |---
New Pinnedapps jupyter.png Klik app Jupyter di homepage EFIRO.
  • atau menu Apps > Jupyter
---| 4 |---
Isi formulir untuk memulai sesi Jupyter dengan panduan berikut:
Choose Jupyter version
Pilih sesuai preferensi user, Jupyter Lab atau Notebook
Partition
Pilih sesuai kebutuhan:
  • torti -> interactive node CPU GMB CPU icon.png
  • tilla -> interactive node GPU GMB GPU icon.png
Number of CPU thread(s)
Alokasi core CPU, range 2 - 16
Amount of memory/RAM (GB)
Alokasi RAM dalam satuan GB, range 1 - 55
Number of GPUs (apabila pilih partition tilla)
Jumlah GPU, isi angka 1
Number of hours
Waktu maksimal sesi Jupyter, range 1 - 24
GMB warning wololo.png Limit komputasi
Perhatikan akun uji coba punya limit alokasi komputasi maksimal:
  • CPU 16 core thread.
  • GPU 1 unit.
  • RAM 64GB.
  • Walltime (waktu limit komputasi) 24 jam.
Choose how to launch Jupyter
Pilih Anaconda/Mamba
Choose Anaconda/Mamba version
Pilih Anaconda 3 2024.02-1
Conda/Mamba environment directory
Isi tensor
  • Kecuali apabila user menggunakan conda env lain:
  • Isi dengan nama conda env yang dibuat user.
Software Modules
Memuat modul software diluar conda env user , isi apabila ada.
GMB warning wololo.png Bagi user yang memilih partition tilla:
  • Perhatikan apakah perlu memuat modul CUDA?
  • Conda env 'tensor' tidak perlu memuat modul CUDA.
  • Info detail lihat [Menjalankan Package Python Versi GPU?]
  • Apabila butuh, isi form ini dengan nama modul CUDA.
Environment setup
Memuat environment variable, isi apabila ada.
Additional Jupyter arguments
Memuat argumen tambahan Jupyter, isi apabila ada.
Email address
Notifikasi email untuk status mulai dan selesainya Jupyter.
  • Isi apabila berkenan.
---| 5 |---
Klik tombol Launch untuk memulai sesi Jupyter:
  • User akan diarahkan ke halaman My Interactive Sessions
  • Tunggu hingga sesi Jupyter siap diakses.

Jupyternotebookqueue.png

---| 6 |---
Apabila status Running, klik tombol Connect to Jupyter
  • GMB warning wololo.png Sistem mulai menghitung Core Hour!
  • Sesi akan terus berjalan selama waktu sesi masih ada.
  • Untuk menghentikan sesi yang running, klik tombol Cancel

Newjupyter120124.png

---| 7 |---
Gunakan kernel Python 3 (ipykernel) untuk sesi Jupyter.
---| 8A |---
User dapat memantau CCH dan GH dengan:
  1. Buka menu Apps > Aleleon Shell Access
  2. Jalankan perintah:
$ sausage
Perhatikan sausage update nilai setiap 1 jam

Apabila telah ada pembacaan CCH dan GH, artinya:

  • Akun uji coba ini telah digunakan user sebelumnya.
  • Catat nilai yg terbaca sebagai referensi.
---| 8B |---
Sesi Jupyter tidak terputus ketika:
  • Koneksi user terputus saat sesi Jupyter.
  • User keluar / log out dari sesi Jupyter dan web EFIRO.

User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:

  • Menu My Interactive Sessions
  • Kolom Active interactive sessions di homepage EFIRO.

GMB warning wololo.png Ketika user keluar saat ada cell berjalan dan kembali masuk:

  • Bisa jadi cell tersebut tidak menampilkan proses jalannya komputasi.
  • Lihat cell berikutnya apakah belum / sedang / selesai berjalan.
---

Pelaporan Kendala dan Support

Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini.

Wiki-pelaporankendala.jpg

Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email:

support@efisonlt.com