Komputasi Python dengan Conda Environment: Perbedaan antara revisi

Dari ALELEON by EFISON
(edit penjelasan anaconda)
 
(49 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 1: Baris 1:


[[Berkas:Logo Python Anaconda Mamba ALELEON tp.png|400x400px]]


[[Berkas:Pythonanaconda.png|500x500px]]
Halaman ini menjelaskan menjalankan komputasi / aplikasi Python dengan '''conda environment''' di ALELEON Supercomputer.  
 
{| class="wikitable"
Halaman ini menjelaskan menjalankan komputasi Python dengan environment Anaconda di ALELEON Supercomputer. '''[https://www.anaconda.com/ Anaconda]''' adalah suite katalog packages Python dan R untuk komputasi ''data science'' dan ''machine learning''.
!''Laman ini merupakan bagian laman ->'' [[Komputasi Python]]
|}


== '''Langkah Menjalankan Komputasi''' ==
== '''Langkah Menjalankan Komputasi''' ==
Terdapat dua langkah utama:  
Terdapat tiga langkah utama:  


# Membuat dan menyiapkan conda environment untuk komputasi user.
# Buat conda environment untuk menampung instalasi package.  
# Memilih metode menjalankan komputasi.
# Instal package Python yang diperlukan di conda env tersebut.
 
# Menggunakan conda env tersebut untuk menjalankan komputasi.
== '''Membuat Conda Environment''' ==
Kegiatan ini dilakukan pada '''terminal''' dan tidak mengurangi Core Hour user:
 
* Diakses melalui [https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#1_|_Login_SSH '''login SSH'''], atau
* Pada web EFIRO, buka app '''Aleleon Shell Access''' [[Berkas:Pinnedapps terminal.png|nirbing|129x129px]]


== '''Membangun Conda Environment''' ==
ALELEON Supercomputer menyediakan pilihan package manager Python untuk membuat conda environment. Pilih sesuai preferensi user:
{| class="wikitable"
|-
![[Berkas:Anaconda transparent logo.png|nirbing|130x130px]]
![[Berkas:Mamba transparent logo.png|nirbing|100x100px]]
|-
|
*PM Python paling banyak digunakan.
*Saat ini menjadi standar industri.
|
*Alternatif yang dikembangkan komunitas.
*Dalam beberapa kasus lebih ringan dan cepat.
|}
=== Membuat dan Manajemen Conda Environment ===
{| class="wikitable"
!0
|-
|[[Berkas:Icon apps terminal cropped.png|kiri|nirbing|80x80px]]Menggunakan terminal!
* User web EFIRO buka app '''<code>Aleleon Shell Access</code>'''.
|-
!1
|-
|Pilih skenario berikut yang sesuai dengan kebutuhan user:
''<small><code>(klik expand / kembangkan)</code></small>''
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
!Membuat Conda Environment dan Instalasi Package Python
!- Membuat conda env dengan Anaconda -
[[Berkas:Anaconda transparent logo.png|nirbing|90x90px]]
|-
|-
!1
!1
|-
|-
|Pilih dan aktifkan modul Anaconda yang akan digunakan.
|Pilih dan aktifkan modul Anaconda untuk membuat conda env:
<code>$ '''module load ''[nama-modul-anaconda]'''''</code>
<code>$ '''module load ''[nama-modul-anaconda]'''''</code>
{| class="wikitable"
{| class="wikitable"
! colspan="2" |Daftar nama modul Anaconda
|+Daftar nama modul Anaconda 3
!Versi
!Nama Modul
!Versi Py default
|-
|2024-02-1
|<code>'''Anaconda3/2024.02-1'''</code>
|''3.11.7''
|-
|2023.07-2
|<code>'''Anaconda3/2023.07-2'''</code>
|''3.11.4''
|-
|2022.05
| <code>'''Anaconda3/2022.05'''</code>
|''3.9.12''
|-
|2021.05
|<code>'''Anaconda3/2021.05'''</code>
|''3.8.8''
|-
|2020.11
|<code>'''Anaconda3/2020.11'''</code>
|''3.8.5''
|}
|-
|-
!Nama Modul
! 2
!Versi
|-
| '''Ingat atau catat''' modul Anaconda yang dipakai.
*Kedepannya digunakan untuk mengaktifkan conda env ini.
|-
! 3
|-
|Buat conda env di direktori HOME:
<code>$ '''conda create -n ''[nama-conda-env]'''''</code>
 
<small>''Contoh nama 'skripsi' ->'' <code>$ conda create -n '''skripsi'''</code></small>
|-
!4
|-
|Aktifkan conda env dengan perintah source:
<code>$ '''source activate ''[nama-conda-env]'''''</code>
 
<small>''Contoh nama 'skripsi' ->'' <code>$ source activate '''skripsi'''</code></small>
|-
!MANAJEMEN ESENSIAL
|-
|
'''-''' Menonaktifkan conda env:
'''<small>(env-user)</small>$ conda deactivate'''
'''-''' Mengaktifkan kembali conda env:
''Lakukan langkah 1 dan 4 diatas''
- Melihat daftar conda env yang dibuat user:
'''$ conda env list'''
- Menghapus conda env:
'''$ conda remove -n ''[nama-conda-env]'' --all'''
- Manajemen lainnya lihat:
'''[[https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html Conda Managing environments]]'''
|-
|-
|Anaconda3/2023.07-2
!---
|Anaconda 3 2023.07-2
|}
 
{| class="wikitable mw-collapsible mw-collapsed"
!- Membuat conda env dengan Mamba -
[[Berkas:Mamba transparent logo.png|nirbing|90x90px]]
|-
|-
|Anaconda3/2022.05
!1
|Anaconda 3 2022.05
|-
|-
|Anaconda3/2021.05
|Pilih dan aktifkan modul Mamba untuk membuat conda env:
|Anaconda 3 2021.05
<code>$ '''module load ''[nama-modul-mamba]'''''</code>
{| class="wikitable"
|+Daftar nama modul Mamba
!Versi
! Nama Modul
!Versi Py default
|-
|-
|Anaconda3/2020.11
|23.11.0-0
|Anaconda 3 2020.11
|<code>'''Mamba/23.11.0-0'''</code>
|''3.10.13''
|}
|}
|-
|-
!2
!2
|-
|-
|Buat conda env di direktori HOME dan aktifkan dengan perintah:
|'''Ingat atau catat''' modul Mamba yang dipakai.
$ '''conda create --name ''[nama-conda-env]'' pip'''
*Kedepannya digunakan untuk mengaktifkan conda env ini.
''Contoh dengan nama 'skripsi'''
$ conda create --name '''skripsi''' pip
|-
|-
!3
! 3
|-
|-
|Aktifkan conda env dengan perintah:  
|Buat conda env di direktori HOME:
$ '''source activate ''[nama-conda-env]'''''
<code>$ '''mamba create -n ''[nama-conda-env]'''''</code>
 
''Contoh:''
<small>''Contoh nama 'skripsi' ->'' <code>$ mamba create -n '''skripsi'''</code></small>
$ source activate '''skripsi'''
|-
|-
!4
!4
|-
|-
|Lakukan instalasi package Python yang dibutuhkan dengan '''<code>pip</code>'''
|Aktifkan conda env dengan perintah source:
* Contoh [https://pytorch.org/get-started/locally/ instalasi PyTorch dengan pip].
<code>$ '''source activate ''[nama-conda-env]'''''</code>
* Contoh [https://www.tensorflow.org/install/pip instalasi TensorFlow dengan pip].
 
<small>''Contoh nama 'skripsi' ->'' <code>$ source activate '''skripsi'''</code></small>
|-
|-
!5
!5
[[Berkas:Logo Mamba Jupyter tp.png|nirbing|150x150px]]
|-
|Bagi user yang mau pakai sesi Jupyter, instal:
<small>(env-user)$</small> '''mamba install -c conda-forge jupyterlab'''
<small>(env-user)$</small> '''mamba install -c conda-forge jupyter'''
|-
!MANAJEMEN ESENSIAL
|-
|
'''-''' Menonaktifkan conda env:
'''<small>(env-user)</small>$ conda deactivate'''
'''-''' Mengaktifkan kembali conda env:
''Lakukan langkah 1 dan 4 diatas''
- Melihat daftar conda env yang dibuat user:
'''$ conda env list'''
- Menghapus conda env:
'''$ conda remove -n ''[nama-conda-env]'' --all'''
- Manajemen lainnya lihat:
'''[[https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html Conda Managing environments]]'''
|-
|-
|Untuk menonaktifkan conda env jalankan perintah:
!---
<code>$ '''conda deactivate'''</code>
|}
|}
|}
=== Instalasi Package di Conda Environment ===
[[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"
!0
|-
|[[Berkas:Icon apps terminal cropped.png|kiri|nirbing|80x80px]]Menggunakan terminal!
*User web EFIRO buka app '''<code>Aleleon Shell Access</code>'''.
|-
!1
|-
| '''Aktifkan conda env''' yang akan dipakai untuk instalasi package ini.
|-
!2
|-
|Pilih tutorial instalasi sesuai kebutuhan:
''<small><code>(klik expand / kembangkan)</code></small>''
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
!Manajemen Conda Environment
! colspan="2" |- Instalasi Package Umum dengan pip / conda -
[[Berkas:GMB Pip Conda icon.png|nirbing|120x120px]]
|-
| colspan="2" |User dapat melakukan instalasi package lainnya dengan pip atau conda
|-
! rowspan="2" |pip
| Contoh umum:
<code><small>(env-user)$</small> '''pip install ''[nama-package]'''''</code>
|-
|-
!a
|Daftar package dan tutorial instal '''pip''' lihat web:
*'''[[https://pypi.org/ PyPI The Python Package Index]]'''.
|-
|-
|'''Mengaktifkan conda env yang telah dibuat:'''
! colspan="2" |
# Muat modul Anaconda yang dipakai untuk membuat conda env.
# Lakukan source activate.
|-
|-
!b
! rowspan="2" |conda
|Contoh umum:
<code><small>(env-user)$</small> '''conda install conda-forge::''[nama-package]'''''</code>
|-
|-
|'''Melihat daftar conda env yang telah dibuat:'''  
|Daftar package dan tutorial instal conda lihat web:
  '''$ conda env list'''
*'''[[https://conda-forge.org/packages/ Packages in Conda Forge]]'''.
|-
! colspan="2" |---
|}
 
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |- Instalasi Package TensorFlow -
[[Berkas:Logo TF GMB pip.png|nirbing|140x140px]]
|-
| colspan="2" |Tersedia dua versi TensorFlow, pilih sesuai kebutuhan:
* Versi CPU - berjalan di CPU.
*Versi GPU - ALELEON menggunakan GPU '''NVIDIA''' sehingga instal package versi '''cuda'''. 
|-
!Versi
!Perintah pip
|-
|CPU [[Berkas:GMB CPU icon.png|nirbing|60x60px]]
| <code><small>(env-user)$</small> '''python3 -m pip install tensorflow'''</code>
|-
|GPU [[Berkas:GMB GPU icon.png|nirbing|80x80px]]
|<code><small>(env-user)$</small> '''python3 -m pip install 'tensorflow[and-cuda]''''</code>
|-
| colspan="2" |Pranala lanjut lihat '''[[https://www.tensorflow.org/install/pip Install TensorFlow with pip]]'''
|-
! colspan="2" |---
|}
 
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |- Instalasi Package PyTorch -
[[Berkas:Logo PyTorch GMB pip.png|nirbing|150x150px]]
|-
| colspan="2" |Tersedia dua versi PyTorch, pilih sesuai kebutuhan:
*Versi CPU - berjalan di CPU.
*Versi GPU - ALELEON menggunakan GPU '''NVIDIA''' sehingga instal package versi '''cuda'''.  
|-
!Versi
!Perintah pip
|-
|CPU [[Berkas:GMB CPU icon.png|nirbing|60x60px]]
|<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio --index-url <nowiki>https://download.pytorch.org/whl/cpu</nowiki>'''</code>
|-
| GPU - CUDA 11.8 [[Berkas:GMB GPU icon.png|nirbing|80x80px]]
|<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio --index-url <nowiki>https://download.pytorch.org/whl/cu118</nowiki>'''</code>
|-
|GPU - CUDA 12.1 [[Berkas:GMB GPU icon.png|nirbing|80x80px]]
|<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio --index-url <nowiki>https://download.pytorch.org/whl/cu121</nowiki>'''</code>
|-
|GPU - CUDA 12.4 [[Berkas:GMB GPU icon.png|nirbing|80x80px]]
|<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio'''</code>
|-
| colspan="2" |Pranala lanjut lihat '''[[https://pytorch.org/get-started/locally/ PyTorch - Start Locally]]'''
|-
! colspan="2" |---
|}
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |- Instalasi Package JAX -
|-
| colspan="2" |Tersedia dua versi JAX, pilih sesuai kebutuhan:
*Versi CPU - berjalan di CPU.
*Versi GPU - ALELEON menggunakan GPU '''NVIDIA''' sehingga instal package versi '''cuda'''.
|-
!Versi
!Perintah pip
|-
|CPU [[Berkas:GMB CPU icon.png|nirbing|60x60px]]
|<code><small>(env-user)$</small> '''pip install -U jax'''</code>
|-
|GPU [[Berkas:GMB GPU icon.png|nirbing|80x80px]]
|<code><small>(env-user)$</small> '''pip install -U "jax[cuda12]"'''</code>
|-
|-
!c
| colspan="2" |Pranala lanjut lihat '''[[https://docs.jax.dev/en/latest/installation.html JAX - Installation]]'''
|-
|-
|'''Mengubah nama conda env:'''
! colspan="2" |---
$ '''conda rename -n ''[nama-saat-ini]'' ''[nama-baru]'''''
|}
''Contoh mengubah nama env skripsi ke tesis''
$ conda rename -n skripsi tesis
|-
|-
!d
!Apabila butuh tutorial instalasi package lain:
|-
|-
|'''Menghapus conda env:'''  
|Hubungi tim admin di '''''support@efisonlt.com'''''
<code>$ '''conda remove -n ''<nama-conda-env>'' --all'''</code>
|}
|}


== '''Metode Menjalankan Komputasi''' ==
=== '''Menjalankan Conda Env dengan GPU?''' ===
User dapat memilih metode menjalankan komputasi sesuai keinginan:  
[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Berikut hal yang perlu diperhatikan untuk menjalankan package komputasi Python dan conda env di GPU ALELEON Supercomputer:
 
==== Package Python Versi CUDA ====
Partisi GPU ALELEON menggunakan GPU NVIDIA sehingga:  


* '''Job submission terminal'''
* Instal package Python versi '''CUDA''' ''(apabila ada)'''''.'''
** ''Menggunakan manajemen Slurm di terminal dan compute node.''
* Apabila ikut tutorial subbab diatas, pilih versi GPU [[Berkas:GMB GPU icon.png|nirbing|80x80px]].
** ''Hanya untuk file Python (py), file ipynb harus diubah ke py.''  
 
* '''Job submission web EFIRO'''  
==== Apakah Perlu Memuat Modul CUDA? ====
** ''Menggunakan manajemen Slurm di laman web EFIRO dan compute node.''
Package Python versi CUDA membutuhkan '''library CUDA yang sesuai''' untuk berjalan. Biasanya instalasi package Python versi CUDA juga menginstal library CUDA yang diperlukan. Berikut langkah cek kelengkapan library CUDA: 
** ''Hanya untuk file Python (py), file ipynb harus diubah ke py.''  
{| class="wikitable"
* '''Interactive job Jupyter'''  
!1
** ''Sesi IDE Jupyter Lab atau Notebook.''
|-
** ''Menggunakan interactive node.''
|Setelah instalasi package, cek ketersediaan library CUDA di conda env:
- Apabila instal package dengan pip
<small>(env-user)</small>$ '''pip list | grep cuda'''
- Apabila instal package dengan conda
<small>(env-user)</small>$ '''conda list | grep cuda'''
|-
!Apabila ada output cuda:
|-
|Conda env siap digunakan, user '''tidak perlu memuat modul CUDA.'''
|-
![[Berkas:GMB warning wololo.png|nirbing|50x50px]] Apabila tidak ada output cuda:
|-
|User '''harus memuat modul CUDA''' dengan ketentuan:
# Perhatikan versi CUDA yang dibutuhkan.
# Lihat dokumentasi package tersebut.


=== Job Submission Terminal ===
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
!Langkah Job Submission Terminal
! colspan="2" |- Tutorial memuat dan daftar modul CUDA -
[[Berkas:Sbatch Terminal.png|tepi|400x400px]]
[[Berkas:Logo CUDA ALELEON tp.png|nirbing|150x150px]]
|-
|-
!1
| colspan="2" |'''Bagi yang menjalankan conda env dengan batch job:'''
* Tambah perintah berikut pada submit script:
 
...
# Memuat modul
module load ${PM}
'''module load ''[nama-modul-CUDA]'''''
...
|-
! colspan="2" |
|-
| colspan="2" |'''Bagi yang menjalankan conda env dengan sesi Jupyter:'''
* Isi nama modul pada kolom '''<code>Software Modules</code>'''.
|-
! colspan="2" |
|-
!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'''''
* Layanan gratis.
|-
! colspan="2" |---
|}
|-
!---
|}
 
== '''Pilihan Menjalankan Komputasi''' ==
User dapat menjalankan komputasi dengan conda env melalui pilihan berikut, pilih sesuai kebutuhan:
=== Batch Job ===
Menjalankan script Python siap jalan tanpa interaksi user melalui manajemen Slurm di '''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|compute node]]].'''
*[[Berkas:GMB warning wololo.png|nirbing|50x50px]]Perhatikan untuk '''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]]
|-
|-
| 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.
| Lakukan [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_Terminal#1_ |[[Berkas:Icon apps terminal cropped.png|kiri|nirbing|80x80px]]Menggunakan terminal!
*User web EFIRO buka app '''<code>Aleleon Shell Access</code>'''.
|-
|-
!2
!1
|-
|-
|Siapkan conda env dan file komputasi yang dibutuhkan.
|Siapkan conda env dan file komputasi yang dibutuhkan.
 
*User dapat upload / download file dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']].
* User dapat upload / download file dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']].
*User web EFIRO juga dapat gunakan app '''<code>Home Directory</code>'''
|-
|-
!3A
!2A
|-
|-
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi.
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi.
 
*Nama file bebas dengan format .'''<code>sh</code>''', contoh '''<code>submit.sh</code>'''
* Nama file bebas dengan format .sh, contoh '''<code>submit.sh</code>'''
|-
|-
!
!
|-
|-
|Contoh template Submit Script, ikuti petunjuk NOTES didalamnya.
|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"
{| class="wikitable mw-collapsible mw-collapsed"
!Anaconda Python di CPU
!- Template submit script Conda Environment versi CPU -
[[Berkas:GMB CPU icon.png|nirbing|80x80px]]
|-
|-
|<syntaxhighlight lang="bash">
|<syntaxhighlight lang="bash" line="1">
#!/bin/bash
#!/bin/bash


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


Baris 169: Baris 456:
#SBATCH --output=result-%j.txt
#SBATCH --output=result-%j.txt


# Definisi file untuk menampung output error log  
# Definisi file untuk menampung output error log
#SBATCH --error=error-%j.txt  
#SBATCH --error=error-%j.txt


# Nama Conda Environment yang digunakan
# Input nama modul package manager yang digunakan untuk membuat
CONDA_NAME=////
# conda env user. Daftar nama:
# Anaconda3/2020.11  || Anaconda3/2021.05  || Anaconda3/2022.05 ||
# Anaconda3/2023.07-2 || Anaconda3/2024.02-1 || Mamba/23.11.0-0  ||
PM="////"


# Nama program Python yang dijalankan
# Nama conda environment yang digunakan
INPUT_FILE=////.py
CONDA_NAME="////"


# ----------------------------------------------------
# ----------------------------------------------------
Baris 182: Baris 472:
# ----------------------------------------------------
# ----------------------------------------------------


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


# Menjalankan file Python
# Mengaktifkan Conda Environment
python3 ${INPUT_FILE}
source activate ${CONDA_NAME}
 
# Tuliskan perintah menjalankan komputasi Python user
# contoh -> python3 [nama-file-python]
////
</syntaxhighlight>
</syntaxhighlight>
|}
|}
|-
|
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
!Anaconda Python di GPU
!- Template submit script conda environment versi GPU -
[[Berkas:GMB GPU icon.png|nirbing|100x100px]]
|-
|[[Berkas:GMB warning wololo.png|nirbing|50x50px]]'''Note:'''
* Perhatikan apakah perlu memuat modul CUDA.
* Info detail lihat '''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Menjalankan_Conda_Env_dengan_GPU? Menjalankan Conda Env dengan GPU]]'''.
|-
|-
|<syntaxhighlight lang="bash">
|<syntaxhighlight lang="bash" line="1">
#!/bin/bash
#!/bin/bash


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


Baris 211: Baris 511:
# -----------------------------------------------------
# -----------------------------------------------------


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


Baris 223: Baris 523:
#SBATCH --mem=////GB
#SBATCH --mem=////GB


# Alokasi limit waktu menjalankan job  
# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS
# Format HH:MM:SS atau D-HH:MM:SS
#SBATCH --time=////
#SBATCH --time=////
Baris 230: Baris 530:
#SBATCH --output=result-%j.txt
#SBATCH --output=result-%j.txt


# Definisi file untuk menampung output error log  
# Definisi file untuk menampung output error log
#SBATCH --error=error-%j.txt  
#SBATCH --error=error-%j.txt


# Nama Conda Environment yang digunakan
# Input nama modul package manager yang digunakan untuk membuat
CONDA_NAME=////
# conda env user. Daftar nama:
# Anaconda3/2020.11  || Anaconda3/2021.05  || Anaconda3/2022.05 ||
# Anaconda3/2023.07-2 || Anaconda3/2024.02-1 || Mamba/23.11.0-0  ||
PM="////"


# Nama program Python yang dijalankan
# Nama conda environment yang digunakan
INPUT_FILE=////.py
CONDA_NAME="////"


# ----------------------------------------------------
# ----------------------------------------------------
Baris 243: Baris 546:
# ----------------------------------------------------
# ----------------------------------------------------


# Memuat modul NVIDIA CUDA default
# Memuat modul
module load cuda
module load ${PM}


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


# Menjalankan file Python
# Tuliskan perintah menjalankan komputasi Python user
python3 ${INPUT_FILE}
# contoh -> python3 [nama-file-python]
////
</syntaxhighlight>
</syntaxhighlight>
|}
|}
Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].
|-
|-
!3B
|
Panduan nilai maksimal SBATCH
*''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].</small>''
*''<small>Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM '''Slurm Jojo'''].</small>''
|-
|-
|SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:  
!2B
 
|-
* Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
|'''SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit''' berdasarkan:
* Spesifikasi sistem dan software komputasi.
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
 
*Spesifikasi sistem dan software komputasi.
Untuk melihat limit, jalankan perintah berikut:
Untuk melihat limit, jalankan perintah:
  '''$ slimit-python'''
  '''$ slimit-python'''
|-
|-
!4
!3
|-
|-
|Jalankan job komputasi dengan perintah:  
|Jalankan job komputasi dengan perintah:
  $ '''sbatch ''[nama-submit-script]'''''
  $ '''sbatch ''[nama-submit-script]'''''
   
   
  ''Contoh:''
  <small>''Contoh:''
  $ sbatch submit.sh
  $ sbatch submit.sh</small>
|-
|-
!5
!4
|-
|-
|User dapat melihat status jalannya job dengan perintah:  
|User dapat melihat status jalannya job dengan perintah:
'''<code>$ squeue -ul $USER</code>'''
'''<code>$ squeue -ul $USER</code>'''
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable"
! colspan="2" |Daftar ST (STATE) menunjukkan status jalannya job:
! colspan="2" |''Kolom ST atau STATE menunjukkan status jalannya job.''
|-
|-
!STATE
!STATE
Baris 309: Baris 612:
  '''$ scancel ''[job-ID]'''''
  '''$ scancel ''[job-ID]'''''
   
   
  ''Job ID ada pada squeue diatas.''
  <small>''Job ID ada pada squeue diatas.''
  contoh membatalkan job ID 231:
  contoh membatalkan job ID 231:
  $ scancel 231
  $ scancel 231</small>
|-
!---
|}
|}
=== Job Submission Web EFIRO ===
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
!Langkah Job Submission Web EFIRO
!- Langkah Batch Job di web EFIRO -
[[Berkas:Efirojobcomposer3.png|nirbing|400x400px]]
[[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]]
|-
|-
!1
!1
|-
|-
| [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_|_Login_Web_EFIRO Login ke web EFIRO]''' ALELEON Supercomputer.
| [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO Login ke web EFIRO]''' ALELEON Supercomputer.
|-
|-
!2
!2
|-
|-
|Buka app '''Job Composer''' [[Berkas:New Pinnedapps jc.png|nirbing|128x128px]] di homepage EFIRO.
|[[Berkas:EOD Apps Job Composer full.png|nirbing|126x126px]]Buka pinned apps '''Job Composer'''  di homepage EFIRO.
 
Pilih menu '''<code>New Job</code>''' -> '''<code>From Template</code>'''
Pilih menu '''<code>New Job</code>''' -> '''<code>From Template</code>'''


Baris 335: Baris 637:
|
|
{| class="wikitable"
{| class="wikitable"
! colspan="2" |Pilih template Anaconda Python yang diinginkan
! colspan="2" |''Pilih template Anaconda Python yang diinginkan:''
|-
|-
!Nama Template
!Nama Template
!Penjelasan
!Penjelasan
|-
|-
|Anaconda Python (CPU)
|Conda Environment Python (CPU)
|Menjalankan Anaconda Python di CPU
|Menjalankan conda env pada CPU
|-
|-
|Anaconda Python (GPU)
|Conda Environment Python (GPU)
|Menjalankan Anaconda Python di GPU
|Menjalankan conda env pada GPU
|}
|}Kemudian Isi '''<code>Job Name</code>''' dan klik '''<code>Create New Job</code>'''
Kemudian Isi '''<code>Job Name</code>''' dan klik '''<code>Create New Job</code>'''


[[Berkas:Jctemplate-2.png|nirbing]]
[[Berkas:Jctemplate-2.png|nirbing]]
Baris 352: Baris 653:
!4
!4
|-
|-
|Upload dan edit file untuk job komputasi pada '''<code>Edit Files</code>'''
|Siapkan file komputasi dan conda env yang dibutuhkan:
[[Berkas:Jcjoboption.png|nirbing|400x400px]]
*Upload / download / edit file via menu <code>'''Edit Files'''</code>
* Untuk upload file tunggal diatas 2GB gunakan [[Upload File dengan Aplikasi FTP|'''software FTP''']].
*Akses terminal untuk manajemen conda env via menu '''<code>Open Terminal</code>'''
* Apabila butuh akses terminal buka <code>'''Open Terminal'''</code>.
[[Berkas:JC job menu.png|nirbing|500x500px]]
|-
|-
!5A
!5A
|-
|-
|Lengkapi '''Submit Script''' melalui tombol '''<code>Open Editor</code>'''.
|Lengkapi '''Submit Script''' melalui tombol '''<code>Open Editor:</code>'''
*Submit script adalah 'formulir' untuk menjalankan job komputasi.
**Ikuti petunjuk '''NOTES dan alur script''' didalamnya.
*Klik '''<code>Save</code>''' setiap kali mengubah script.
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]]
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]]
* Submit script adalah 'formulir' untuk menjalankan job komputasi.
|-
* Ikuti petunjuk NOTES didalamnya
|[[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Bagi yang memilih template GPU:'''
* Klik '''<code>Save</code>''' setiap kali mengubah script.
* Perhatikan apakah perlu memuat modul CUDA.
 
* Info detail lihat '''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Menjalankan_Conda_Env_dengan_GPU? Menjalankan Conda Env dengan GPU]]'''.
|-
|
*''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].</small>''
*''<small>Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM '''Slurm Jojo'''].</small>''
|-
|-
!5B
!5B
Panduan nilai maksimal SBATCH
|-
|-
|SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:  
|SBATCH komputasi (ntasks, mem, time, dll) '''mempunyai limit''' berdasarkan:
 
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
* Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
*Spesifikasi sistem dan software komputasi.
* Spesifikasi sistem dan software komputasi.
Untuk melihat limit, jalankan perintah ini via menu '''<code>Open Terminal</code>''':
 
  '''$ slimit-python'''  
Untuk melihat limit, jalankan perintah berikut pada terminal:
  '''$ slimit-python'''
|-
|-
!6
!6
|-
|-
|Jalankan job dengan klik tombol '''<code>Submit</code>'''.
|Jalankan job dengan klik tombol '''<code>Submit</code>'''.
[[Berkas:Jcsubmit2.png|al=|nirbing|400x400px]]
[[Berkas:JC job runstop.png|al=|nirbing|500x500px]]
* Pantau kolom status yang menjelaskan status jalannya job.
*Pantau kolom status yang menjelaskan status jalannya job.
* Apabila ingin membatalkan job yang berjalan, klik '''<code>Stop</code>'''.
*Apabila ingin membatalkan job yang berjalan, klik '''<code>Stop</code>'''.
* Job completed dapat dijalankan kembali dengan '''<code>Submit</code>'''.
{| class="wikitable"
 
! colspan="2" |Daftar Status Job
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |Daftar status job:
|-
|-
!Status
!Status
Baris 403: Baris 708:
|-
|-
|Failed
|Failed
|Job berhenti di tengah jalan, antara error atau di stop user
|Job berhenti karena error atau di stop user.
|-
|-
| colspan="2" |'''Untuk melihat alasan queue:'''  
| colspan="2" |'''Untuk melihat alasan job yang queue:'''[[Berkas:Active Jobs detail.png|nir|jmpl|300x300px|''Buka pinned 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 Reason NODELIST ALELEON Supercomputer|'''Daftar Reason NODELIST ALELEON Supercomputer''']].'']]
# Buka app '''<code>Active Jobs</code>''' [[Berkas:Pinnedapps activejobs.png|nirbing|127x127px]]di homepage EFIRO.
# [[Berkas:Efiroqueueedit.png|nir|jmpl|''Ubah opsi '''<code>Your jobs</code>''' untuk melihat status job user saja. Klik simbol '''>''' untuk melihat status job pending pada kolom '''Reason'''. Arti reason lihat laman '''[[Daftar Reason NODELIST ALELEON Supercomputer]].''''']]
|}
|}
|-
|-
Baris 415: Baris 718:
*Atau dengan membuka '''<code>Edit Files</code>'''
*Atau dengan membuka '''<code>Edit Files</code>'''
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>'''.'']]
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>'''.'']]
|-
!8
|-
|Untuk menghapus ruang job dan datanya:
*Pilih ruang job yang akan dihapus.
*Klik menu '''<code>Delete</code>'''
[[Berkas:JC delete menu.png|nirbing|500x500px]]
|-
!---
|}
|}


=== Interactive Job Jupyter ===
=== Sesi Jupyter ===
Menjalankan sesi interaktif Jupyter Lab atau Notebook di '''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Interactive%20Node|interactive node]]].'''
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
!Langkah Interactive Job Sesi Jupyter
!- Langkah Sesi Jupyter -
[[Berkas:Efirojupyterlab.png|400x400px]]
[[Berkas:Efiro jupyter display.png|400x400px]]
|-
|-
!1
!1
|-
|-
| '''[https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_|_Login_Web_EFIRO Login ke web EFIRO]''' ALELEON Supercomputer.
| '''[https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO Login ke web EFIRO]''' ALELEON Supercomputer.
|-
|-
!2
!2
|-
|-
|Buka app '''Jupyter''' [[Berkas:New Pinnedapps jupyter.png|nirbing|116x116px]] di homepage EFIRO.
|Siapkan '''conda environment''' yang akan digunakan.
*User Mamba jangan lupa instal package Jupyter di conda env.
|-
|Untuk sesi Jupyter efektif terkait batasan waktu dan konsumsi Core Hour:
*Disarankan melengkapi instalasi package sebelum sesi Jupyter.
|-
|-
!3
!3
|-
|
{| class="wikitable"
|[[Berkas:New Pinnedapps jupyter.png|nirbing|116x116px]]
|Buka pinned apps '''Jupyter'''  di homepage EFIRO.
|}
|-
!4
|-
|-
|Isi formulir untuk memulai sesi Jupyter dengan panduan berikut:
|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 -> CPU saja
** tilla -> CPU dan GPU
{| class="wikitable"
{| class="wikitable"
!Alokasi komputasi
!<code>''Choose Jupyter version''</code>
!torti
|-
!tilla
|Pilih sesuai preferensi user, <code>Jupyter Lab</code> atau <code>Notebook</code>
|-
!
|-
!''<code>Partition</code>''
|-
|Pilih sesuai kebutuhan:
*<code>torti</code> -> interactive node CPU
*<code>tilla</code> -> interactive node GPU
|-
!
|-
!<code>''Number of CPU thread(s)''</code>
|-
|Alokasi core CPU, range <code>2 - 32</code> untuk torti dan tilla.
|-
!
|-
!<code>''Amount of memory/RAM (GB)''</code>
|-
|Alokasi RAM dalam satuan GB, range <code>1 - 64</code> untuk torti dan tilla.
|-
!
|-
!''<code>Number of GPUs</code> (apabila pilih partition tilla)''
|-
|Jumlah GPU, isi angka <code>1</code>
|-
!
|-
!''<code>Number of hours</code>''
|-
|Waktu maksimal sesi Jupyter, range <code>1 - 72</code> untuk torti dan tilla'''.'''
|-
!
|-
|'''Form CPU, RAM, GPU, dan hours mempunyai limit''' berdasarkan:
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
*Spesifikasi sistem dan software komputasi.
Langkah melihat limit:
*Buka menu '''Clusters > Aleleon Shell Access'''
[[Berkas:Shellaccess.png|nirbing|200x200px]]
*Jalankan perintah:
'''$ slimit-python'''
|-
!
|-
!''<code>Choose how to launch Jupyter</code>''
|-
|Pilih <code>Anaconda/Mamba</code>
|-
!
|-
!''<code>Choose Anaconda/Mamba version</code>''
|-
|Pilih versi yang digunakan untuk membuat conda env user.
|-
|-
|Number of CPU core(s)
!
| colspan="2" |1 - 32
|-
|-
|Amount of memory/RAM
!''<code>Conda/Mamba environment directory</code>''
| colspan="2" |1 - 64
|-
|-
|Number of GPUs
|Isi nama conda env user, contoh: <code>skripsi</code>
| -
|1
|-
|-
|Number of hours
!
| colspan="2" |1 - 72
|-
|-
| colspan="3" |'''Pada akun perseorangan, sesi Jupyter tidak akan berjalan apabila:'''  
!''<code>Software Modules</code>''
* Alokasi CPU * hours > sisa CPU Core Hour
|-
* Alokasi GPU * hours > sisa GPU Hour
|Memuat modul software diluar conda env user , ''isi apabila ada''.
|-
|[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Bagi user yang memilih '''partition tilla''':


Cek sisa Core Hour dengan:
* Perhatikan apakah perlu memuat modul CUDA.
 
* Info detail lihat '''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Menjalankan_Conda_Env_dengan_GPU? Menjalankan Conda Env dengan GPU]]'''.
# Buka app [[Berkas:Pinnedapps terminal.png|nirbing|116x116px]] di homepage EFIRO
|-
# Jalankan perintah '''<code>sausage</code>'''
!
|}
 
* '''Choose how to launch Jupyter''' -> Anaconda
* '''Choose Anaconda version'''
** ''Pilih versi yang digunakan untuk membuat conda env user''
* '''Conda environment directory'''
** ''Isi nama conda env user yang akan digunakan''
* '''Software modules'''
** ''Membuat modul software, isi sesuai kebutuhan user''
** ''Apabila menggunakan tilla, isi modul '''NVIDIA CUDA''' yang sesuai''
{| class="wikitable mw-collapsible mw-collapsed"
|-
|-
! colspan="2" |Daftar Software Modules NVIDIA CUDA
!''<code>Environment setup</code>''
|-
|-
!Nama Software Modules
|Memuat environment variable, ''isi apabila ada''.
!Versi
|-
|-
|cuda/11.2-cuDNN8.1.1
!
|CUDA 11.2 + cuDNN 8.1.1
|-
|-
|cuda/11.6-cuDNN8.3.3
!''<code>Additional Jupyter arguments</code>''
|CUDA 11.6 + cuDNN 8.3.3
|-
|-
|cuda/11.8-cuDNN8.6.0
|Memuat argumen tambahan Jupyter, ''isi apabila ada''.
|CUDA 11.8 + cuDNN 8.6.0
|-
|-
|cuda/12.0-cuDNN8.7.0
!
|CUDA 12.0 + cuDNN 8.7.0
|-
|-
|cuda/12.1-cuDNN8.8.1
!''<code>Email address</code>''
|CUDA 12.1 + cuDNN 8.8.1
|-
|-
|cuda/12.3-cuDNN8.9.6
|Notifikasi email untuk status mulai dan selesainya Jupyter.
|CUDA 12.3 + cuDNN 8.9.6
*''Isi apabila berkenan.''
|}
|}
*'''Environment setup'''
*
** ''Memuat environment variable, isi apabila ada''
* '''Additional Jupyter arguments'''
** Memuat argument tambahan Jupyter, isi apabila ada
* '''Email address'''
** ''Notifikasi email untuk status mulai dan selesainya sesi Jupyter.''
** ''Isi apabila berkenan.''
|-
|-
!4
!5
|-
|-
|Klik tombol '''<code>Launch</code>''' untuk memulai sesi Jupyter.
|Klik tombol '''<code>Launch</code>''' untuk memulai sesi Jupyter.
*User akan diarahkan ke halaman '''<code>My Interactive Sessions</code>'''.
*User akan diarahkan ke halaman '''<code>My Interactive Sessions</code>'''.
*Tunggu hingga sesi Jupyter siap diakses.
*Tunggu hingga sesi Jupyter siap diakses.
[[Berkas:Jupyternotebookqueue.png|nir|jmpl|''Status sesi Jupyter mengantri menunggu alokasi hardware'']]
[[Berkas:Jupyternotebookqueue.png|nirbing|500x500px]]
|-
|-
!5
!6
|-
|-
|Apabila status '''Running''', klik tombol '''<code>Connect to Jupyter</code>'''.
|Apabila status '''Running''', klik tombol '''<code>Connect to Jupyter</code>'''.
 
*Sistem mulai menghitung Core Hour!
* Sistem mulai menghitung Core Hour!
*Untuk menghentikan sesi yang sedang running, klik tombol '''<code>Cancel</code>'''
 
[[Berkas:Newjupyter120124.png|nirbing|500x500px]]
[[Berkas:Newjupyter120124.png|nir|jmpl|''Sesi Jupyter siap diakses.'']]Untuk menghentikan sesi, klik tombol '''<code>Cancel</code>'''.
|-
|-
!6
!7
|-
|-
|Pilih Notebook Python 3 untuk memulai sesi notebook Python 3.[[Berkas:Jupyternotebookkernelupdated.png|al=|nir|jmpl|200x200px|''Gunakan Notebook Python 3 untuk menjalankan kernel conda env user di Jupyter Notebook'']][[Berkas:Rjupyterlab.png|nir|jmpl|225x225px|''Gunakan Notebook Python 3 untuk menjalankan kernel conda env user di Jupyter Lab'']]
|Pilih Notebook Python 3 untuk memulai sesi notebook Python 3.[[Berkas:Jupyternotebookkernelupdated.png|al=|nir|jmpl|200x200px|''Gunakan Notebook Python 3 untuk menjalankan kernel conda env user di Jupyter Notebook'']][[Berkas:Rjupyterlab.png|nir|jmpl|225x225px|''Gunakan Notebook Python 3 untuk menjalankan kernel conda env user di Jupyter Lab'']]
|-
|-
!7
!8
|-
|User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:
*Menu '''<code>My Interactive Sessions</code>''' pada homepage EFIRO.
*Kolom '''<code>Active interactive sessions</code>''' pada homepage EFIRO.
|-
|-
|User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:
!---
 
* Menu '''<code>My Interactive Sessions</code>''' pada homepage EFIRO.
* Kolom '''<code>Active interactive sessions</code>''' pada homepage EFIRO.
|}
|}
=='''Pelaporan Kendala dan Support'''==
=='''Pelaporan Kendala dan Support'''==

Revisi terkini sejak 24 Maret 2025 08.05

Logo Python Anaconda Mamba ALELEON tp.png

Halaman ini menjelaskan menjalankan komputasi / aplikasi Python dengan conda environment di ALELEON Supercomputer.

Laman ini merupakan bagian laman -> Komputasi Python

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.

Membangun Conda Environment

ALELEON Supercomputer menyediakan pilihan package manager Python untuk membuat conda environment. Pilih sesuai preferensi user:

Anaconda transparent logo.png Mamba transparent logo.png
  • PM Python paling banyak digunakan.
  • Saat ini menjadi standar industri.
  • Alternatif yang dikembangkan komunitas.
  • Dalam beberapa kasus lebih ringan dan cepat.

Membuat dan Manajemen Conda Environment

0
Icon apps terminal cropped.png
Menggunakan terminal!
  • User web EFIRO buka app Aleleon Shell Access.
1
Pilih skenario berikut yang sesuai dengan kebutuhan user:

(klik expand / kembangkan)

- Membuat conda env dengan Anaconda -

Anaconda transparent logo.png

1
Pilih dan aktifkan modul Anaconda untuk membuat conda env:

$ module load [nama-modul-anaconda]

Daftar nama modul Anaconda 3
Versi Nama Modul Versi Py default
2024-02-1 Anaconda3/2024.02-1 3.11.7
2023.07-2 Anaconda3/2023.07-2 3.11.4
2022.05 Anaconda3/2022.05 3.9.12
2021.05 Anaconda3/2021.05 3.8.8
2020.11 Anaconda3/2020.11 3.8.5
2
Ingat atau catat modul Anaconda yang dipakai.
  • Kedepannya digunakan untuk mengaktifkan conda env ini.
3
Buat conda env di direktori HOME:

$ conda create -n [nama-conda-env]

Contoh nama 'skripsi' -> $ conda create -n skripsi

4
Aktifkan conda env dengan perintah source:

$ source activate [nama-conda-env]

Contoh nama 'skripsi' -> $ source activate skripsi

MANAJEMEN ESENSIAL
- Menonaktifkan conda env:
(env-user)$ conda deactivate

- Mengaktifkan kembali conda env:
Lakukan langkah 1 dan 4 diatas

- Melihat daftar conda env yang dibuat user: 
$ conda env list

- Menghapus conda env:
$ conda remove -n [nama-conda-env] --all

- Manajemen lainnya lihat:
[Conda Managing environments]
---
- Membuat conda env dengan Mamba -

Mamba transparent logo.png

1
Pilih dan aktifkan modul Mamba untuk membuat conda env:

$ module load [nama-modul-mamba]

Daftar nama modul Mamba
Versi Nama Modul Versi Py default
23.11.0-0 Mamba/23.11.0-0 3.10.13
2
Ingat atau catat modul Mamba yang dipakai.
  • Kedepannya digunakan untuk mengaktifkan conda env ini.
3
Buat conda env di direktori HOME:

$ mamba create -n [nama-conda-env]

Contoh nama 'skripsi' -> $ mamba create -n skripsi

4
Aktifkan conda env dengan perintah source:

$ source activate [nama-conda-env]

Contoh nama 'skripsi' -> $ source activate skripsi

5

Logo Mamba Jupyter tp.png

Bagi user yang mau pakai sesi Jupyter, instal:
(env-user)$ mamba install -c conda-forge jupyterlab
(env-user)$ mamba install -c conda-forge jupyter
MANAJEMEN ESENSIAL
- Menonaktifkan conda env:
(env-user)$ conda deactivate

- Mengaktifkan kembali conda env:
Lakukan langkah 1 dan 4 diatas

- Melihat daftar conda env yang dibuat user: 
$ conda env list

- Menghapus conda env:
$ conda remove -n [nama-conda-env] --all

- Manajemen lainnya lihat:
[Conda Managing environments]
---

Instalasi Package di Conda Environment

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.

0
Icon apps terminal cropped.png
Menggunakan terminal!
  • User web EFIRO buka app Aleleon Shell Access.
1
Aktifkan conda env yang akan dipakai untuk instalasi package ini.
2
Pilih tutorial instalasi sesuai kebutuhan:

(klik expand / kembangkan)

- Instalasi Package Umum dengan pip / conda -

GMB Pip Conda icon.png

User dapat melakukan instalasi package lainnya dengan pip atau conda
pip Contoh umum:

(env-user)$ pip install [nama-package]

Daftar package dan tutorial instal pip lihat web:
conda Contoh umum:

(env-user)$ conda install conda-forge::[nama-package]

Daftar package dan tutorial instal conda lihat web:
---
- Instalasi Package TensorFlow -

Logo TF GMB pip.png

Tersedia dua versi TensorFlow, pilih sesuai kebutuhan:
  • Versi CPU - berjalan di CPU.
  • Versi GPU - ALELEON menggunakan GPU NVIDIA sehingga instal package versi cuda.
Versi Perintah pip
CPU GMB CPU icon.png (env-user)$ python3 -m pip install tensorflow
GPU GMB GPU icon.png (env-user)$ python3 -m pip install 'tensorflow[and-cuda]'
Pranala lanjut lihat [Install TensorFlow with pip]
---
- Instalasi Package PyTorch -

Logo PyTorch GMB pip.png

Tersedia dua versi PyTorch, pilih sesuai kebutuhan:
  • Versi CPU - berjalan di CPU.
  • Versi GPU - ALELEON menggunakan GPU NVIDIA sehingga instal package versi cuda.
Versi Perintah pip
CPU GMB CPU icon.png (env-user)$ pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
GPU - CUDA 11.8 GMB GPU icon.png (env-user)$ pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
GPU - CUDA 12.1 GMB GPU icon.png (env-user)$ pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
GPU - CUDA 12.4 GMB GPU icon.png (env-user)$ pip3 install torch torchvision torchaudio
Pranala lanjut lihat [PyTorch - Start Locally]
---
- Instalasi Package JAX -
Tersedia dua versi JAX, pilih sesuai kebutuhan:
  • Versi CPU - berjalan di CPU.
  • Versi GPU - ALELEON menggunakan GPU NVIDIA sehingga instal package versi cuda.
Versi Perintah pip
CPU GMB CPU icon.png (env-user)$ pip install -U jax
GPU GMB GPU icon.png (env-user)$ pip install -U "jax[cuda12]"
Pranala lanjut lihat [JAX - Installation]
---
Apabila butuh tutorial instalasi package lain:
Hubungi tim admin di support@efisonlt.com

Menjalankan Conda Env dengan GPU?

GMB warning wololo.png Berikut hal yang perlu diperhatikan untuk menjalankan package komputasi Python dan conda env di GPU ALELEON Supercomputer:

Package Python Versi CUDA

Partisi GPU ALELEON menggunakan GPU NVIDIA sehingga:

  • Instal package Python versi CUDA (apabila ada).
  • Apabila ikut tutorial subbab diatas, pilih versi GPU GMB GPU icon.png.

Apakah Perlu Memuat Modul CUDA?

Package Python versi CUDA membutuhkan library CUDA yang sesuai untuk berjalan. Biasanya instalasi package Python versi CUDA juga menginstal library CUDA yang diperlukan. Berikut langkah cek kelengkapan library CUDA:

1
Setelah instalasi package, cek ketersediaan library CUDA di conda env:
- Apabila instal package dengan pip
(env-user)$ pip list | grep cuda

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

Logo CUDA ALELEON tp.png

Bagi yang menjalankan conda env dengan batch job:
  • Tambah perintah berikut pada submit script:
...
# Memuat modul
module load ${PM}
module load [nama-modul-CUDA]
...
Bagi yang menjalankan conda env dengan sesi Jupyter:
  • Isi nama modul pada kolom Software Modules.
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
  • Layanan gratis.
---
---

Pilihan Menjalankan Komputasi

User dapat menjalankan komputasi dengan conda env melalui pilihan berikut, pilih sesuai kebutuhan:

Batch Job

Menjalankan script Python siap jalan tanpa interaksi user melalui manajemen Slurm di [compute node].

  • GMB warning wololo.pngPerhatikan untuk 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

Icon apps terminal cropped.png
Menggunakan terminal!
  • User web EFIRO buka app Aleleon Shell Access.
1
Siapkan conda env dan file komputasi yang dibutuhkan.
  • User dapat upload / download file dengan software FTP.
  • User web EFIRO juga dapat gunakan app Home Directory
2A
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 dan alur script di dalamnya.

Klik expand / kembangkan

- Template submit script Conda Environment versi CPU -

GMB CPU icon.png

#!/bin/bash

# -----------------------------------------------------
# Template SLURM Submit Script
# Python dengan Conda Environment (CPU) | rev.210125
#
# 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
#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

# Input nama modul package manager yang digunakan untuk membuat
# conda env user. Daftar nama:
# Anaconda3/2020.11   || Anaconda3/2021.05   || Anaconda3/2022.05 ||
# Anaconda3/2023.07-2 || Anaconda3/2024.02-1 || Mamba/23.11.0-0   ||
PM="////"

# Nama conda environment yang digunakan
CONDA_NAME="////"

# ----------------------------------------------------
# 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

GMB warning wololo.pngNote:
#!/bin/bash

# -----------------------------------------------------
# Template SLURM Submit Script
# Python dengan Conda Environment (GPU) | rev.210125
#
# 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 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

# Input nama modul package manager yang digunakan untuk membuat
# conda env user. Daftar nama:
# Anaconda3/2020.11   || Anaconda3/2021.05   || Anaconda3/2022.05 ||
# Anaconda3/2023.07-2 || Anaconda3/2024.02-1 || Mamba/23.11.0-0   ||
PM="////"

# Nama conda environment yang digunakan
CONDA_NAME="////"

# ----------------------------------------------------
# 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]
////
2B
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
  • Sisa Core Hour user dan Fair Usage Limit.
  • Spesifikasi sistem dan software komputasi.

Untuk melihat limit, jalankan perintah:

$ slimit-python
3
Jalankan job komputasi dengan perintah:
$ sbatch [nama-submit-script]

Contoh:
$ sbatch submit.sh
4
User dapat melihat status jalannya job dengan perintah:

$ squeue -ul $USER

Kolom ST atau STATE menunjukkan status jalannya job.
STATE Penjelasan
R (RUN) Job berjalan
PD (PENDING) Job tertahan, lihat NODELIST(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
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.pngBuka pinned apps Job Composer di homepage EFIRO.

Pilih menu New Job -> From Template

Jcnewjobmarked.png

3
Pilih template Anaconda Python yang diinginkan:
Nama Template Penjelasan
Conda Environment Python (CPU) Menjalankan conda env pada CPU
Conda Environment Python (GPU) Menjalankan conda env pada GPU
Kemudian Isi Job Name dan klik Create New Job

Jctemplate-2.png

4
Siapkan file komputasi dan conda env yang dibutuhkan:
  • Upload / download / edit file via menu Edit Files
  • Akses terminal untuk manajemen conda env via menu Open Terminal

JC job menu.png

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

GMB warning wololo.png Bagi yang memilih template GPU:
  • Perhatikan apakah perlu memuat modul CUDA.
5B
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
  • Sisa Core Hour user dan Fair Usage Limit.
  • Spesifikasi sistem dan software komputasi.

Untuk melihat limit, jalankan perintah ini via menu Open Terminal:

$ slimit-python 
6
Jalankan job dengan klik tombol Submit.

  • Pantau kolom status yang menjelaskan status jalannya job.
  • Apabila ingin membatalkan job yang berjalan, klik Stop.
Daftar Status 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.
Untuk melihat alasan job yang queue:
Buka pinned 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 Reason NODELIST ALELEON Supercomputer.
7
Lihat output file komputasi pada kolom Folder Contents
  • Atau dengan membuka Edit Files
Kolom Folder Contents.
8
Untuk menghapus ruang job dan datanya:
  • Pilih ruang job yang akan dihapus.
  • Klik menu Delete

JC delete menu.png

---

Sesi Jupyter

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

- Langkah Sesi Jupyter -

Efiro jupyter display.png

1
Login ke web EFIRO ALELEON Supercomputer.
2
Siapkan conda environment yang akan digunakan.
  • User Mamba jangan lupa instal package Jupyter di conda env.
Untuk sesi Jupyter efektif terkait batasan waktu dan konsumsi Core Hour:
  • Disarankan melengkapi instalasi package sebelum sesi Jupyter.
3
New Pinnedapps jupyter.png Buka pinned apps Jupyter di homepage EFIRO.
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
  • tilla -> interactive node GPU
Number of CPU thread(s)
Alokasi core CPU, range 2 - 32 untuk torti dan tilla.
Amount of memory/RAM (GB)
Alokasi RAM dalam satuan GB, range 1 - 64 untuk torti dan tilla.
Number of GPUs (apabila pilih partition tilla)
Jumlah GPU, isi angka 1
Number of hours
Waktu maksimal sesi Jupyter, range 1 - 72 untuk torti dan tilla.
Form CPU, RAM, GPU, dan hours mempunyai limit berdasarkan:
  • Sisa Core Hour user dan Fair Usage Limit.
  • Spesifikasi sistem dan software komputasi.

Langkah melihat limit:

  • Buka menu Clusters > Aleleon Shell Access

Shellaccess.png

  • Jalankan perintah:
$ slimit-python
Choose how to launch Jupyter
Pilih Anaconda/Mamba
Choose Anaconda/Mamba version
Pilih versi yang digunakan untuk membuat conda env user.
Conda/Mamba environment directory
Isi nama conda env user, contoh: skripsi
Software Modules
Memuat modul software diluar conda env user , isi apabila ada.
GMB warning wololo.png Bagi user yang memilih partition tilla:
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.
  • Sistem mulai menghitung Core Hour!
  • Untuk menghentikan sesi yang sedang running, klik tombol Cancel

Newjupyter120124.png

7
Pilih Notebook Python 3 untuk memulai sesi notebook Python 3.
Gunakan Notebook Python 3 untuk menjalankan kernel conda env user di Jupyter Notebook
Gunakan Notebook Python 3 untuk menjalankan kernel conda env user di Jupyter Lab
8
User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:
  • Menu My Interactive Sessions pada homepage EFIRO.
  • Kolom Active interactive sessions pada homepage EFIRO.
---

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