Komputasi Python dengan Conda Environment: Perbedaan antara revisi

Dari ALELEON by EFISON
(→‎Job Submission Slurm: mengganti gambar marking)
(tes copy dari laman pytorch / tensorflow)
Baris 1: Baris 1:


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


[[Berkas:Pythonanaconda.png|500x500px]]
Halaman ini menjelaskan menjalankan komputasi Python dengan '''conda environment''' di ALELEON Supercomputer.  
 
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''.
{| class="wikitable"
{| class="wikitable"
!''Laman ini merupakan bagian laman ->'' [[Komputasi Python]]
!''Laman ini merupakan bagian laman ->'' [[Komputasi Python]]
Baris 11: Baris 10:
Terdapat dua langkah utama:  
Terdapat dua langkah utama:  


# Membuat dan menyiapkan conda environment untuk komputasi user.
# Membuat conda environment dan instal package yang diperlukan di dalamnya.
# Memilih metode menjalankan komputasi.
# Menjalankan komputasi dengan conda env tersebut.


== '''Manajemen Conda Environment''' ==
== '''Membangun Conda Environment''' ==
Subbab ini menjelaskan langkah membuat, mengaktifkan, dan melengkapi conda environment.
ALELEON Supercomputer menyediakan pilihan package manager Python untuk membuat conda environment. Pilih sesuai preferensi user:
{| class="wikitable"
{| class="wikitable"
!Kegiatan ini dilakukan di terminal
|-
|-
|Masuk ke terminal melalui '''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#Login_SSH Login SSH]''' atau
![[Berkas:Anaconda transparent logo.png|nirbing|130x130px]]
{| class="wikitable"
![[Berkas:Mamba transparent logo.png|nirbing|100x100px]]
|[[Berkas:Pinnedapps terminal.png|nirbing|129x129px]]
|-
|
*PM Python paling banyak digunakan.
*Saat ini menjadi standar industri.
|
|
* [https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO '''Login ke web EFIRO'''];
*Alternatif Anaconda, dibuat dengan C++.
* Buka pinned apps '''<code>Aleleon Shell Access</code>'''
*Dikembangkan oleh komunitas.
*Dalam beberapa kasus lebih ringan dan cepat.
|}
|}
Kegiatan ini tidak mengurangi Core Hour user.
=== Membuat dan Manajemen Conda Environment ===
|}
 
=== Membuat Conda Environment ===
{| class="wikitable"
{| class="wikitable"
!
|-
|[[Berkas:Icon apps terminal cropped.png|kiri|nirbing|80x80px]]Menggunakan terminal!
* User web EFIRO buka app '''<code>Aleleon Shell Access</code>'''.
|-
!1
|-
|Pilih menggunakan Anaconda atau Mamba.
''<small><code>(klik expand / kembangkan)</code></small>''
{| class="wikitable mw-collapsible mw-collapsed"
! ---- Opsi Anaconda
[[Berkas:Anaconda transparent logo.png|nirbing|130x130px]]
|-
|-
!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
|-
|-
!Nama Modul
|2024-02-1
!Versi
|<code>'''Anaconda3/2024.02-1'''</code>
|''3.11.7''
|-
|-
|Anaconda3/2023.07-2
|2023.07-2
|Anaconda 3 2023.07-2
|<code>'''Anaconda3/2023.07-2'''</code>
|''3.11.4''
|-
|-
|Anaconda3/2022.05
|2022.05
|Anaconda 3 2022.05
| <code>'''Anaconda3/2022.05'''</code>
|''3.9.12''
|-
|-
|Anaconda3/2021.05
|2021.05
|Anaconda 3 2021.05
|<code>'''Anaconda3/2021.05'''</code>
|''3.8.8''
|-
|-
|Anaconda3/2020.11
|2020.11
|Anaconda 3 2020.11
|<code>'''Anaconda3/2020.11'''</code>
|''3.8.5''
|}
|}
''Ingat pilihan modul untuk mengaktifkan conda env kedepannya.''
|-
|-
!2
! 2
|-
|-
|Buat conda env di direktori HOME:
| '''Ingat atau catat''' modul Anaconda yang dipakai.
$ '''conda create --name ''[nama-conda-env]'''''
*Kedepannya digunakan untuk mengaktifkan conda env ini.
''Contoh nama 'skripsi':''
$ conda create --name '''skripsi'''
|-
|-
!3
! 3
|-
|-
|Aktifkan conda env:
|Buat conda env di direktori HOME:
<code>$ '''source activate ''[nama-conda-env]'''''</code>
<code>$ '''conda create -n ''[nama-conda-env]'''''</code>
 
<small>''Contoh nama 'skripsi' ->'' <code>$ conda create -n '''skripsi'''</code></small>
|-
|-
!4
!4
|-
|-
|Instal library Python yang dibutuhkan dengan '''<code>pip</code>'''
|Aktifkan conda env dengan perintah source:
<code>$ '''pip install ''[nama-library]'''''</code>
<code>$ '''source activate ''[nama-conda-env]'''''</code>
 
Instalasi PyTorch dan TensorFlow lihat subbab:


* Instalasi TensorFlow dan PyTorch.
<small>''Contoh nama 'skripsi' ->'' <code>$ source activate '''skripsi'''</code></small>
|-
|-
!5
!''Menonaktifkan conda env:''
|-
|-
|Untuk menonaktifkan conda env jalankan perintah:
|<code><small>(env-user)$</small> '''conda deactivate'''</code>
<code>$ '''conda deactivate'''</code>
|-
|-
!Tips
!''Mengaktifkan kembali conda env:''
|-
|-
|Manajemen conda env seperti rename, delete, clone, list, lihat:
|Lakukan '''<code>langkah 1 dan 4</code>'''. Apabila lupa nama env:
 
* [https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html '''Conda Managing Environments''']
|}
 
=== Mengaktifkan Kembali Conda Environment ===
{| class="wikitable"
|-
!1
|-
|Aktifkan modul Anaconda yang dipakai untuk membuat conda env user:
<code>$ '''module load ''[nama-modul-anaconda]'''''</code>  
|-
!2
|-
|Aktifkan conda env:
 
<code>$ '''source activate ''[nama-conda-env]'''''</code>
|-
!Tips
|-
|List conda env yang sebelumnya dibuat apabila lupa namanya:
<code>$ '''conda env list'''</code>
<code>$ '''conda env list'''</code>
|}
=== Instalasi TensorFlow dan PyTorch ===
User dapat menginstal TensorFlow / PyTorch dengan pilihan versi CUDA untuk menggunakan GPU NVIDIA RTX 3090 atau CPU saja.
* Instalasi TensorFlow versi CUDA dan CPU lihat dokumentasi [https://www.tensorflow.org/install/pip '''Install TensorFlow with pip'''].
* Instalasi PyTorch lihat dokumentasi [https://pytorch.org/get-started/locally/ '''Start Locally | PyTorch'''].
** Versi CUDA pilih Package '''pip''' dan Compute Platform '''CUDA'''.
** Versi CPU pilih Package '''pip''' dan Compute Platform '''CPU'''.
{| class="wikitable"
|-
|-
!Perhatikan kebutuhan versi NVIDIA CUDA Toolkit!
!''Manajemen lainnya:''
|-
|-
|Bagi user yang menjalankan TensorFlow / PyTorch versi CUDA:
|Manajemen lain seperti rename, delete, clone, export, dll lihat:
 
*'''[[https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html Conda Managing environments]]'''  
* Setiap versi TF / PyTorch membutuhkan CUDA Toolkit versi spesifik.
* Dokumentasi TF / PyTorch memuat info versi CUDA Toolkit yang dibutuhkan.
* Ketersediaan CUDA Toolkit lihat [https://wiki.efisonlt.com/wiki/Katalog_Software_ALELEON_Supercomputer#Modul_NVIDIA_CUDA_Toolkit_(Standalone) '''Modul NVIDIA CUDA Toolkit ALELEON'''].
User memuat modul CUDA Toolkit berdasarkan skenario menjalankan komputasi:
 
* Job submission -> submit script.
* Sesi interaktif Jupyter -> formulir untuk memulai sesi Jupyter.
|}
|}
== '''Metode Menjalankan Komputasi''' ==
User dapat memilih metode menjalankan komputasi sesuai keinginan: ''<small>(klik expand / kembangkan)</small>''
* '''Job submission Slurm''' 
** ''Menjalankan komputasi di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Compute_Node compute node] melalui manajemen Slurm kemudian user menunggu hingga selesai.''
** ''Hanya untuk file Python (.py) siap jalan, file ipynb harus diubah ke py.''
* '''Sesi Interaktif Slurm'''
** ''coming soon!''
* '''Sesi Interaktif Jupyter'''
** ''Menggunakan [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Interactive_Node interactive node] secara langsung melalui IDE Jupyter Lab atau Notebook.''
=== Job Submission Slurm ===
Terdapat dua pilihan tampilan yaitu dengan terminal dan web EFIRO.
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
!Langkah Job Submission Slurm di Terminal
!---- Opsi Mamba
[[Berkas:Sbatch terminal display rev2.png|tepi|400x400px]]
[[Berkas:Mamba transparent logo.png|nirbing|100x100px]]
|-
|-
!1
!1
|-
|-
| Lakukan [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_Terminal#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#Login_SSH Login SSH]''' ke ALELEON Supercomputer.
|Pilih dan aktifkan modul Mamba untuk membuat conda env:
|-
<code>$ '''module load ''[nama-modul-mamba]'''''</code>
!2
{| class="wikitable"
|-
|+Daftar nama modul Mamba
|Siapkan [https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Anaconda#Membuat_Conda_Environment_(Conda_Env) '''Conda Env'''] dan file komputasi yang dibutuhkan.
!Versi
 
! Nama Modul
* User dapat upload / download file dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']].
!Versi Py default
|-
!3A
|-
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi.
 
* Nama file bebas dengan format .sh, contoh '''<code>submit.sh</code>'''
|-
!
|-
|Contoh template Submit Script, ikuti petunjuk NOTES didalamnya.
*''<small>Klik expand / kembangkan</small>''
{| class="wikitable mw-collapsible mw-collapsed"
!Template Submit Script Anaconda Python versi CPU
|-
|-
|<syntaxhighlight lang="bash">
|23.11.0-0
#!/bin/bash
|<code>'''Mamba/23.11.0-0'''</code>  
 
|''3.10.13''
# -----------------------------------------------------
# Template SLURM Submit Script
# Anaconda Python (CPU)
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# 3. Pastikan user sudah membuat Conda Environment.
# -----------------------------------------------------
 
# -----------------------------------------------------
# Alokasi komputasi SBATCH dan file input
# -----------------------------------------------------
 
# Alokasi jumlah core thread CPU
#SBATCH --ntasks=////
 
# Alokasi jumlah memori RAM (satuan GB)
#SBATCH --mem=////GB
 
# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS
#SBATCH --time=////
 
# Definisi file untuk menampung output terminal program
#SBATCH --output=result-%j.txt
 
# Definisi file untuk menampung output error log   
#SBATCH --error=error-%j.txt
 
# Nama Conda Environment yang digunakan
CONDA_NAME=////
 
# Nama program Python yang dijalankan
INPUT_FILE=////.py
 
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------
 
# Mengaktifkan Conda Environment
module load Anaconda3
source activate ${CONDA}/${CONDA_NAME}
 
# Menjalankan file Python
python3 ${INPUT_FILE}
</syntaxhighlight>
|}
|}
Untuk Anaconda versi GPU, apabila user butuh modul CUDA versi spesifik:
* Lihat [https://wiki.efisonlt.com/wiki/Katalog_Software_ALELEON_Supercomputer#Modul_NVIDIA_CUDA_Toolkit_(Standalone) '''Modul NVIDIA CUDA Toolkit ALELEON'''] .
* Ganti nama modul 'cuda' pada line <code>module load cuda</code>
{| class="wikitable mw-collapsible mw-collapsed"
!Template Submit Script Anaconda Python versi GPU atau CUDA
|-
|-
|<syntaxhighlight lang="bash">
!2
#!/bin/bash
 
# -----------------------------------------------------
# Template SLURM Submit Script
# Anaconda Python (GPU)
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# 3. Pastikan user sudah membuat Conda Environment.
# -----------------------------------------------------
 
# -----------------------------------------------------
# Alokasi komputasi SBATCH dan file input
# -----------------------------------------------------
 
# Menggunakan partisi compute node GPU
#SBATCH --partition=ampere
 
# Alokasi jumlah core thread CPU
#SBATCH --ntasks=////
 
# Alokasi jumlah GPU
#SBATCH --gpus=////
 
# Alokasi jumlah memori RAM (satuan GB)
#SBATCH --mem=////GB
 
# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS
#SBATCH --time=////
 
# Definisi file untuk menampung output terminal program
#SBATCH --output=result-%j.txt
 
# Definisi file untuk menampung output error log   
#SBATCH --error=error-%j.txt
 
# Nama Conda Environment yang digunakan
CONDA_NAME=////
 
# Nama program Python yang dijalankan
INPUT_FILE=////.py
 
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------
 
# Memuat modul NVIDIA CUDA default
module load cuda
 
# Mengaktifkan Conda Environment
module load Anaconda3
source activate ${CONDA}/${CONDA_NAME}
 
# Menjalankan file Python
python3 ${INPUT_FILE}
</syntaxhighlight>
|}
|-
|-
|
|'''Ingat atau catat''' modul Mamba yang dipakai.
*''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].</small>''
*Kedepannya digunakan untuk mengaktifkan conda env ini.
* ''<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>''
|-
|-
!3B
! 3
|-
|-
|'''SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit''' berdasarkan:
|Buat conda env di direktori HOME:
<code>$ '''mamba create -n ''[nama-conda-env]'''''</code>


* Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
<small>''Contoh nama 'skripsi' ->'' <code>$ mamba create -n '''skripsi'''</code></small>
* Spesifikasi sistem dan software komputasi.
 
Untuk melihat limit, jalankan perintah berikut:
'''$ slimit-python'''
|-
|-
!4
!4
|-
|-
|Jalankan job komputasi dengan perintah:  
|Aktifkan conda env dengan perintah source:
$ '''sbatch ''[nama-submit-script]'''''
<code>$ '''source activate ''[nama-conda-env]'''''</code>
 
''Contoh:''
<small>''Contoh nama 'skripsi' ->'' <code>$ source activate '''skripsi'''</code></small>
$ sbatch submit.sh
|-
|-
!5
!''Menonaktifkan conda env:''
|-
|-
|User dapat melihat status jalannya job dengan perintah:
|<code><small>(env-user)$</small> '''conda deactivate'''</code>
'''<code>$ squeue -ul $USER</code>'''
{| class="wikitable"
! colspan="2" |''Kolom ST atau STATE menunjukkan status jalannya job.''
|-
|-
!STATE
!''Mengaktifkan kembali conda env:''
!Penjelasan
|-
|-
|R (RUN)
| Lakukan '''<code>langkah 1 dan 4</code>'''. Apabila lupa nama env:
|Job berjalan
<code>$ '''conda env list'''</code>
|-
|-
|PD (PENDING)
!''Manajemen lainnya:''
|Job tertahan, lihat [[Daftar Reason NODELIST ALELEON Supercomputer|'''NODELIST(REASON)''']]
|-
|-
|CG (COMPLETING)
|Manajemen lain seperti rename, delete, clone, export, dll lihat:
|Job selesai dan dalam proses clean-up
*'''[[https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html Conda Managing environments]]'''
|-
|}
|CA (CANCELED)
|Job dibatalkan user
|-
|PR (PREEMPETED)
|Job dibatalkan admin, alasan dikabarkan via email
|-
|S (SUSPENDED)
|Job ditahan admin, alasan dikabarkan via email
|}
|}
|-
 
=== Instalasi Package di Conda Environment ===
{| class="wikitable"
!
!
|-
|-
|Apabila user ingin menghentikan job yang berjalan, jalankan perintah:
|[[Berkas:Icon apps terminal cropped.png|kiri|nirbing|80x80px]]Menggunakan terminal!
'''$ scancel ''[job-ID]'''''
*User web EFIRO buka app '''<code>Aleleon Shell Access</code>'''.
''Job ID ada pada squeue diatas.''
contoh membatalkan job ID 231:
$ scancel 231
|}
{| class="wikitable mw-collapsible mw-collapsed"
!Langkah Job Submission Slurm di Web EFIRO
[[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#Login_Web_EFIRO Login ke web EFIRO]''' ALELEON Supercomputer.
| '''Aktifkan conda env''' yang akan dipakai untuk instalasi package ini.
|-
|-
!2
!2
|-
|-
|[[Berkas:New Pinnedapps jc.png|nirbing|128x128px]]Buka pinned apps '''Job Composer'''  di homepage EFIRO.
|Pilih tutorial instalasi sesuai kebutuhan:
Pilih menu '''<code>New Job</code>''' -> '''<code>From Template</code>'''
''<small><code>(klik expand / kembangkan)</code></small>''
 
{| class="wikitable mw-collapsible mw-collapsed"
[[Berkas:Jcnewjobmarked.png|nirbing|180x180px]]
! colspan="2" |Instalasi Package Secara Umum dengan pip / conda
|-
!3
|-
|
{| class="wikitable"
! colspan="2" |Pilih template Anaconda Python yang diinginkan:
|-
!Nama Template
!Penjelasan
|-
|Anaconda Python (CPU)
|Menjalankan Anaconda Python pada CPU
|-
|Anaconda Python (GPU)
|Menjalankan Anaconda Python pada GPU
|}
Kemudian Isi '''<code>Job Name</code>''' dan klik '''<code>Create New Job</code>'''
 
[[Berkas:Jctemplate-2.png|nirbing]]
|-
!4
|-
|Siapkan file komputasi dan [https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Anaconda#Membuat_Conda_Environment_(Conda_Env) '''Conda Env'''] yang dibutuhkan:
*Upload / download / edit file via menu <code>'''Edit Files'''</code>
*Akses terminal untuk manajemen Conda Env via menu '''<code>Open Terminal</code>'''
[[Berkas:JC job menu.png|nirbing|500x500px]]
|-
!5A
|-
|Lengkapi '''Submit Script''' melalui tombol '''<code>Open Editor:</code>'''
*Submit script adalah 'formulir' untuk menjalankan job komputasi.
**Ikuti petunjuk NOTES didalamnya.
*Klik '''<code>Save</code>''' setiap kali mengubah script.
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]]
|-
|
*''<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
|-
|SBATCH komputasi (ntasks, mem, time, dll) '''mempunyai limit''' berdasarkan:
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
*Spesifikasi sistem dan software komputasi.
Untuk melihat limit, jalankan perintah ini via menu '''<code>Open Terminal</code>''':
'''$ slimit-python'''
|-
!6
|-
|Jalankan job dengan klik tombol '''<code>Submit</code>'''.
[[Berkas:JC job runstop.png|al=|nirbing|500x500px]]
*Pantau kolom status yang menjelaskan status jalannya job.
* Apabila ingin membatalkan job yang berjalan, klik '''<code>Stop</code>'''.
{| class="wikitable"
! colspan="2" |Daftar Status Job
|-
|-
!Status
| colspan="2" |User dapat melakukan instalasi package lainnya dengan pip atau conda
!Arti
|-
|-
| Not Submitted
! rowspan="2" |pip
|Job belum pernah dijalankan.
| Contoh umum:
<code><small>(env-user)$</small> '''pip install ''[nama-package]'''''</code>
|-
|-
|Running
|Daftar package dan tutorial instal '''pip''' lihat web:
|Job berjalan.
*'''[[https://pypi.org/ PyPI The Python Package Index]]'''.
|-
|-
|Queue
! colspan="2" |
|Job mengantri dan belum berjalan.
|-
|-
|Completed
! rowspan="2" |conda
|Job selesai berjalan.
|Contoh umum:
<code><small>(env-user)$</small> '''conda install conda-forge::''[nama-package]'''''</code>
|-
|-
|Failed
|Daftar package dan tutorial instal conda lihat web:
|Job berhenti karena error atau di stop user.
*'''[[https://conda-forge.org/packages/ Packages in Conda Forge]]'''.
|-
| 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''']].'']]
|}
|}
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |Instalasi Package TensorFlow
|-
|-
!7
| colspan="2" |Tersedia dua versi TensorFlow, pilih sesuai kebutuhan:
* Versi CPU - berjalan di CPU.
*Versi GPU - berjalan dengan akselerasi GPU NVIDIA dan lib. CUDA.
|-
|-
|Lihat output file komputasi pada kolom '''<code>Folder Contents</code>'''
!Versi
*Atau dengan membuka '''<code>Edit Files</code>'''
!Perintah pip
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>'''.'']]
|-
|-
!8
|CPU
| <code><small>(env-user)$</small> '''python3 -m pip install tensorflow'''</code>
|-
|-
|Untuk menghapus ruang job dan datanya:
|GPU
*Pilih ruang job yang akan dihapus.
|<code><small>(env-user)$</small> '''python3 -m pip install 'tensorflow[and-cuda]''''</code>
*Klik menu '''<code>Delete</code>'''
[[Berkas:JC delete menu.png|nirbing|500x500px]]
|}
|}
=== Sesi Interaktif Jupyter ===
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
!Langkah Sesi Interaktif Jupyter
! colspan="2" |Instalasi Package PyTorch
[[Berkas:Efiro jupyter display.png|400x400px]]
|-
|-
!1
| colspan="2" |Tersedia dua versi PyTorch, pilih sesuai kebutuhan:
*Versi CPU - berjalan di CPU.
*Versi GPU - berjalan dengan akselerasi GPU NVIDIA dan lib. CUDA.
|-
|-
| '''[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.
!Versi
!Perintah pip
|-
|-
!2
|CPU
|<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio --index-url <nowiki>https://download.pytorch.org/whl/cpu</nowiki>'''</code>
|-
|-
|Siapkan '''conda environment''' yang akan digunakan.
| GPU - CUDA 11.8
 
|<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio --index-url <nowiki>https://download.pytorch.org/whl/cu118</nowiki>'''</code>
* Disarankan untuk melengkapi instalasi library sebelum sesi Jupyter.
|-
|-
!3
|GPU - CUDA 12.1
|<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
{| class="wikitable"
|<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio'''</code>
|[[Berkas:New Pinnedapps jupyter.png|nirbing|116x116px]]
|Buka pinned apps '''Jupyter''' di homepage EFIRO.
|}
|}
{| class="wikitable mw-collapsible mw-collapsed"
!Instalasi Package Jupyter untuk user Mamba
|-
|-
!4
|Conda env dari Mamba perlu instalasi package Jupyter untuk menggunakan sesi Jupyter:
|-
<small>(env-user)$</small> '''mamba install -c conda-forge jupyterlab'''
|Isi formulir untuk memulai sesi Jupyter dengan panduan berikut:
<small>(env-user)$</small> '''mamba install -c conda-forge jupyter'''
 
|}
* '''Choose Jupyter version'''
** ''Pilih sesuai preferensi user, Jupyter Lab atau Notebook.''
* '''Partition''' -> ''pilih sesuai kebutuhan:''  
** '''torti''' -> CPU saja
** '''tilla''' -> CPU dan GPU
 
{| class="wikitable"
! rowspan="2" |Formulir alokasi komputasi
! colspan="2" |Partition
|-
!torti
!tilla
|-
|Number of CPU core(s)
| colspan="2" |2 - 32
|-
|Amount of memory/RAM
| colspan="2" |1 - 64
|-
|Number of GPUs
| -
|1
|-
|Number of hours
| colspan="2" |1 - 72
|-
| colspan="3" |'''Formulir alokasi komputasi 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'''
 
 
|}
|}
== '''Metode Menjalankan Komputasi''' ==
User dapat memilih metode menjalankan komputasi sesuai keinginan: ''<small>(klik expand / kembangkan)</small>''


* '''Choose how to launch Jupyter''' -> Anaconda
* '''Job submission Slurm'''
* '''Choose Anaconda version'''
** ''Menjalankan komputasi di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Compute_Node compute node] melalui manajemen Slurm kemudian user menunggu hingga selesai.''
** ''Pilih versi yang dipakai untuk membuat conda env user.''
** ''Hanya untuk file Python (.py) siap jalan, file ipynb harus diubah ke py.''
* '''Conda environment directory'''
* '''Sesi Interaktif Slurm'''
** ''Isi nama conda env user yang akan digunakan.''
** ''coming soon!''
* '''Software modules'''  
* '''Sesi Interaktif Jupyter'''  
** ''Membuat modul software, isi apabila ada.''
** ''Menggunakan [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Interactive_Node interactive node] secara langsung melalui IDE Jupyter Lab atau Notebook.''
** ''Apabila menggunakan '''tilla''', isi modul NVIDIA CUDA yang sesuai.''
*** ''Nama modul lihat [https://wiki.efisonlt.com/wiki/Katalog_Software_ALELEON_Supercomputer#Modul_NVIDIA_CUDA_Toolkit_(Standalone) '''Modul NVIDIA CUDA Toolkit ALELEON'''].''


*'''Environment setup'''
=== Job Submission Slurm ===
** ''Memuat environment variable, isi apabila ada.''
Terdapat dua pilihan tampilan yaitu dengan terminal dan web EFIRO.
* '''Additional Jupyter arguments'''
=== Sesi Interaktif Jupyter ===
** ''Memuat argument tambahan Jupyter, isi apabila ada.''
* '''Email address'''
** ''Notifikasi email untuk status mulai dan selesainya sesi Jupyter.''
** ''Isi apabila berkenan.''
|-
!5
|-
|Klik tombol '''<code>Launch</code>''' untuk memulai sesi Jupyter.
*User akan diarahkan ke halaman '''<code>My Interactive Sessions</code>'''.
*Tunggu hingga sesi Jupyter siap diakses.
[[Berkas:Jupyternotebookqueue.png|nirbing|500x500px]]
|-
!6
|-
|Apabila status '''Running''', klik tombol '''<code>Connect to Jupyter</code>'''.
 
* Sistem mulai menghitung Core Hour!
* Untuk menghentikan sesi yang sedang running, klik tombol '''<code>Cancel</code>'''
[[Berkas:Newjupyter120124.png|nirbing|500x500px]]
|-
!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'']]
|-
!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.
|}
=='''Pelaporan Kendala dan Support'''==
=='''Pelaporan Kendala dan Support'''==
Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini.
Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini.

Revisi per 23 Januari 2025 03.21

Berkas:Logo Python - Anaconda - Mamba ALELEON.png

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

Laman ini merupakan bagian laman -> Komputasi Python

Langkah Menjalankan Komputasi

Terdapat dua langkah utama:

  1. Membuat conda environment dan instal package yang diperlukan di dalamnya.
  2. Menjalankan komputasi dengan conda env tersebut.

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 Anaconda, dibuat dengan C++.
  • Dikembangkan oleh komunitas.
  • Dalam beberapa kasus lebih ringan dan cepat.

Membuat dan Manajemen Conda Environment

Icon apps terminal cropped.png
Menggunakan terminal!
  • User web EFIRO buka app Aleleon Shell Access.
1
Pilih menggunakan Anaconda atau Mamba.

(klik expand / kembangkan)

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

Menonaktifkan conda env:
(env-user)$ conda deactivate
Mengaktifkan kembali conda env:
Lakukan langkah 1 dan 4. Apabila lupa nama env:

$ conda env list

Manajemen lainnya:
Manajemen lain seperti rename, delete, clone, export, dll lihat:
---- Opsi 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

Menonaktifkan conda env:
(env-user)$ conda deactivate
Mengaktifkan kembali conda env:
Lakukan langkah 1 dan 4. Apabila lupa nama env:

$ conda env list

Manajemen lainnya:
Manajemen lain seperti rename, delete, clone, export, dll lihat:

Instalasi Package di Conda Environment

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 Secara Umum dengan pip / conda
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
Tersedia dua versi TensorFlow, pilih sesuai kebutuhan:
  • Versi CPU - berjalan di CPU.
  • Versi GPU - berjalan dengan akselerasi GPU NVIDIA dan lib. CUDA.
Versi Perintah pip
CPU (env-user)$ python3 -m pip install tensorflow
GPU (env-user)$ python3 -m pip install 'tensorflow[and-cuda]'
Instalasi Package PyTorch
Tersedia dua versi PyTorch, pilih sesuai kebutuhan:
  • Versi CPU - berjalan di CPU.
  • Versi GPU - berjalan dengan akselerasi GPU NVIDIA dan lib. CUDA.
Versi Perintah pip
CPU (env-user)$ pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
GPU - CUDA 11.8 (env-user)$ pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
GPU - CUDA 12.1 (env-user)$ pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
GPU - CUDA 12.4 (env-user)$ pip3 install torch torchvision torchaudio
Instalasi Package Jupyter untuk user Mamba
Conda env dari Mamba perlu instalasi package Jupyter untuk menggunakan sesi Jupyter:
(env-user)$ mamba install -c conda-forge jupyterlab
(env-user)$ mamba install -c conda-forge jupyter

Metode Menjalankan Komputasi

User dapat memilih metode menjalankan komputasi sesuai keinginan: (klik expand / kembangkan)

  • Job submission Slurm
    • Menjalankan komputasi di compute node melalui manajemen Slurm kemudian user menunggu hingga selesai.
    • Hanya untuk file Python (.py) siap jalan, file ipynb harus diubah ke py.
  • Sesi Interaktif Slurm
    • coming soon!
  • Sesi Interaktif Jupyter
    • Menggunakan interactive node secara langsung melalui IDE Jupyter Lab atau Notebook.

Job Submission Slurm

Terdapat dua pilihan tampilan yaitu dengan terminal dan web EFIRO.

Sesi Interaktif Jupyter

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