Komputasi Python dengan Conda Environment (Mandiri): Perbedaan antara revisi

Dari ALELEON by EFISON
(→‎Pilihan Menjalankan Komputasi: menambah ketentuan ml purge dan conda deactivate di terminal)
(→‎0. Standar Kompetensi dan Spesifikasi: menghapus kata standar kompetensi)
 
(26 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 2: Baris 2:
[[Berkas:Logo Python Anaconda Mamba ALELEON tp.png|400x400px]]
[[Berkas:Logo Python Anaconda Mamba ALELEON tp.png|400x400px]]


Halaman ini menjelaskan menjalankan komputasi / aplikasi Python dengan '''conda environment''' di ALELEON Supercomputer.  
Halaman ini menjelaskan menjalankan komputasi / aplikasi Python dengan conda environment '''<big>(conda env)</big>''' di ALELEON Supercomputer yang '''<big>dibuat secara mandiri oleh user</big>''' termasuk instalasi package di dalamnya.  
{| class="wikitable"
{| class="wikitable"
!''Laman ini merupakan bagian laman'' [<nowiki/>[[Komputasi Python]]]
!''Laman ini merupakan bagian laman'' [<nowiki/>[[Komputasi Python]]]
|}
|}


== '''''Langkah Menjalankan Komputasi''''' ==
== '''''0. Spesifikasi''''' ==
Terdapat tiga langkah utama:
Tutorial ini mengasumsikan user dapat melakukan atau mau mencoba pembuatan environment - instalasi package Python.


# Buat conda environment untuk menampung instalasi package.
=== Spesifikasi ===
# Instal package Python yang diperlukan di conda env tersebut.
 
# Menggunakan conda env tersebut untuk menjalankan komputasi.
* Tutorial ini memandu membuat conda environment dengan '''site-packages yang terisolasi di dalamnya'''.
* Pembuatan conda env dan instalasi package '''mengkonsumsi storage HOME user.'''
** Pantau konsumsi storage HOME dengan perintah <code>$ '''ncdu $HOME'''</code>


=== Spesifikasi ===
Tutorial ini memandu membuat conda environment dengan '''site-packages terisolasi di dalamnya'''.
{| class="wikitable"
{| class="wikitable"
! colspan="2" |Keterangan simbol perintah terminal
|+Keterangan simbol perintah terminal
|-
|-
|<code>'''<big>$</big>'''</code>  
!<code>'''<big>$</big>'''</code>  
|Perintah ketika conda env tidak aktif
|Perintah ketika conda env tidak aktif
|-
|-
|'''<code><big><sub>(env)</sub>$</big></code>'''  
!'''<code><big><sub>(env)</sub>$</big></code>'''  
|Perintah ketika conda env aktif
|Perintah ketika conda env aktif
|}
|}


== '''''Membuat Conda Environment''''' ==
== '''''1. Langkah Menjalankan Komputasi''''' ==
ALELEON Supercomputer menyediakan pilihan Python Package Manager (PPM) berikut untuk membuat conda environment. Pilih sesuai preferensi user:
{| class="wikitable"
!Subbab
!Langkah
|-
!'''<big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#2._Membuat_Conda_Environment <nowiki>[ 2 ]</nowiki>]</big>'''
|Buat conda env untuk menampung instalasi package.
|-
!'''<big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#3._Aktivasi_Conda_Env_dan_Instalasi_Package <nowiki>[ 3 ]</nowiki>]</big>'''
|Mengaktifkan conda env dan melakukan instalasi package di dalamnya.
|-
!<big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#4._Instalasi_Package_Python_versi_CUDA? <nowiki>[ 4 ]</nowiki>]</big>
|Pengecekan bagi yang menginstal package Python versi CUDA.
|-
!<big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#5._(Opsional)_Manajemen_Conda_Env <nowiki>[ 5 ]</nowiki>]</big>
|''Opsional, manajemen conda env yang sekiranya berguna.''
|-
!'''<big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#6._Pilihan_Menjalankan_Komputasi <nowiki>[ 6 ]</nowiki>]</big>'''
|Menjalankan komputasi dengan pilihan:  


* '''Anaconda:''' PPM Python paling banyak digunakan dimana saat ini menjadi standar industri.
* '''<big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#6.1._Batch_Job <nowiki>[ 6.1 ]</nowiki>]</big>''' batch job
* '''Mamba:''' PPM Python alternatif Anaconda versi ''open-source'' yang dikembangkan komunitas.  
* '''<big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#6.2._Sesi_Jupyter <nowiki>[ 6.2 ]</nowiki>]</big>''' sesi Jupyter Notebook / Lab
''<small><code>(klik expand / kembangkan)</code></small>''
{| class="wikitable mw-collapsible mw-collapsed"
!- Membuat conda env dengan Anaconda -
[[Berkas:Anaconda transparent logo.png|nirbing|90x90px]]
|-
|-
!<big>0</big>
!<big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#7._Pelaporan_Kendala_dan_Support <nowiki>[ 7 ]</nowiki>]</big>
|Support apabila menemui masalah.
|}
 
== '''''2. Membuat Conda Environment''''' ==
Tersedia pilihan '''Python Package Manager (PPM)''' berikut untuk membuat conda env. Pilih sesuai preferensi user:
 
* '''Anaconda:''' PPM Python paling banyak digunakan dan saat ini menjadi standar industri.
* '''Mamba:''' PPM Python alternatif Anaconda versi komunitas.
{| class="wikitable"
!- Langkah Membuat conda env -
|-
|-
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!'''''
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!'''''
Baris 42: Baris 65:
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>'''''
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>'''''
|-
|-
!<big>1</big>
!<big><code>-/ 1 /-</code></big>
|-
|-
|Pilih dan aktifkan modul Anaconda untuk membuat conda env:
|Pilih dan aktifkan modul PPM untuk membuat conda env:


* ''Ingat atau catat modul Anaconda yang dipakai.''
* ''Ingat atau catat modul PPM yang dipakai.''
* ''Kedepannya digunakan untuk mengaktifkan conda env ini.''
* ''Kedepannya digunakan untuk mengaktifkan conda env ini.''


  $ '''module load ''[nama-modul-anaconda]'''''
  $ '''module load ''[nama-modul-anaconda-atau-mamba]'''''
{| class="wikitable"
{| class="wikitable"
|+Daftar nama modul Anaconda 3
! colspan="3" |- Nama modul Anaconda3 -
[[Berkas:Anaconda transparent logo.png|nirbing|100x100px]]
|-
!Versi
!Versi
!Nama Modul
!Nama Modul
Baris 75: Baris 100:
|<code>'''Anaconda3/2020.11'''</code>
|<code>'''Anaconda3/2020.11'''</code>
|''3.8.5''
|''3.8.5''
|}
|-
|-
!<big>2</big>
! colspan="3" |- Nama modul Mamba -
[[Berkas:Mamba transparent logo.png|nirbing|90x90px]]
|-
|-
|[[Berkas:GMB warning wololo.png|nirbing|50x50px]] ''Package apa yang akan diinstal user di conda env ini?''
|23.11.0-0
* Beberapa package membutuhkan Python versi spesifik
|<code>'''Mamba/23.11.0-0'''</code>
 
|''3.10.13''
* Gunakan opsi '''<big>3B</big>''' untuk membuat conda env.
''<small>Update 29 April 2025</small>''
{| class="wikitable"
|+Package yang diketahui butuh Python versi spesifik
!Package
!Versi Python
|-
|TensorFlow
|Lihat '''[[https://www.tensorflow.org/install/source#tested_build_configurations TensorFlow Tested Build Configurations]]'''
|-
|PyTorch
|3.9 - 3.12
|-
|AutoGluon
|3.9 - 3.12
|}
|}
|-
|-
! <big>3</big>
!Saran sebelum langkah 2 ...
|-
!Buat conda env dengan opsi:
|-
|-
|'''<big>3A</big> -''' Conda env kosong dengan Python 3 versi terbaru '''(3.13)''':
|''Pilih nama conda env yang mengandung unsur nama modul:''
$ '''conda create -n ''[nama-conda-env]'' pip'''
* ''Untuk mengingat modul yang digunakan.''
<small>''Contoh dengan nama 'skripsi'''</small>
<small>$ conda create -n '''skripsi''' pip</small>
|-
!
|-
|'''<big>3B</big> -''' Conda env kosong dengan Python versi tertentu:
$ '''conda create -n ''[nama-conda-env]'' python=''[versi]'''''
<small>''Contoh dengan Python 3.10''</small>
<small>$ conda create -n '''skripsi python=3.10'''</small>
|-
!Saran
|-
|Pilih nama conda env yang mengandung unsur nama modul:
 
* ''Untuk mengingat modul yang digunakan membuat conda env.''
* ''Contoh user memilih modul Anaconda3/2024-02-1''
* ''Contoh user memilih modul Anaconda3/2024-02-1''
* ''Gunakan nama conda env seperti <code>'''A2024-skripsi'''</code>''
** ''Gunakan nama conda env seperti <code>'''A2024-skripsi'''</code>''
|-
|-
!---
! <big><code>-/ 2 /-</code></big>
|}
 
{| class="wikitable mw-collapsible mw-collapsed"
!- Membuat conda env dengan Mamba -
[[Berkas:Mamba transparent logo.png|nirbing|90x90px]]
|-
|-
!<big>0</big>
!Buat conda env dengan opsi:
|-
|-
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!'''''
|'''<big>2A</big> -''' Conda env kosong dengan Python '''versi tertentu''', apabila:  
* ''User EFIRO klik app '''<code>Aleleon Shell Access</code>'''''
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>'''''
|-
!<big>1</big>
|-
|Pilih dan aktifkan modul Mamba untuk membuat conda env:


* ''Ingat atau catat modul Mamba yang dipakai.''
* Hendak melakukan instalasi salah satu package berikut:
* ''Kedepannya digunakan untuk mengaktifkan conda env ini.''


$ '''module load ''[nama-modul-mamba]'''''
{| class="wikitable"
{| class="wikitable"
|+Daftar nama modul Mamba
|+''Package Python dengan kebutuhan versi Python spesifik''
!Versi
! Nama Modul
!Versi Py default
|-
|23.11.0-0
|<code>'''Mamba/23.11.0-0'''</code>
|''3.10.13''
|}
|-
!<big>2</big>
|-
|[[Berkas:GMB warning wololo.png|nirbing|50x50px]] ''Package apa yang akan diinstal user di conda env ini?''
* Beberapa package membutuhkan Python versi spesifik
 
* Gunakan opsi '''<big>3B</big>''' untuk membuat conda env.
''<small>Update 29 April 2025</small>''
{| class="wikitable"
|+Package yang diketahui butuh Python versi spesifik
!Package
!Package
!Versi Python
!Versi Python
Baris 178: Baris 138:
|3.9 - 3.12
|3.9 - 3.12
|}
|}
|-
''- Anaconda''
! <big>3</big>
$ '''conda create -n ''[nama-conda-env]'' python=''[versi]'''''
|-
!Buat conda env dengan opsi:
''- Mamba''
|-
  $ '''mamba create -n ''[nama-conda-env]'' python=''[versi]'''''
|'''<big>3A</big> -''' Conda env kosong dengan Python 3 versi terbaru '''(3.13)''':
  $ '''mamba create -n ''[nama-conda-env]'' pip'''
   
   
  <small>''Contoh dengan nama 'skripsi'''</small>  
  <small>''Contoh dengan Python 3.10''</small>  
  <small>$ mamba create -n '''skripsi''' pip</small>
  <small>$ conda create -n '''skripsi python=3.10'''</small>
|-
|-
!
!
|-
|-
|'''<big>3B</big> -''' Conda env kosong dengan Python versi tertentu:
|'''<big>2B</big> -''' Conda env kosong dengan Python '''versi 3.12.'''
  $ '''mamba create -n ''[nama-conda-env]'' python=''[versi]'''''
* Rekomendasi admin untuk versi Python terstabil saat ini.
 
''- Anaconda''
  $ '''conda create -n ''[nama-conda-env]'' python=3.12'''
   
   
  <small>''Contoh dengan Python 3.10''</small>
  ''- Mamba''
  <small>$ mamba create -n '''skripsi python=3.10'''</small>
  $ '''mamba create -n ''[nama-conda-env]'' python=3.12'''
|-
|-
!Saran
!
|-
|-
|Pilih nama conda env yang mengandung unsur nama modul:
|'''<big>2C</big> -''' Conda env dengan '''file "resep" konfigurasi yml'''
* File yml disediakan user sendiri.


* ''Untuk mengingat modul yang digunakan membuat conda env.''
''- Anaconda''
* ''Contoh user memilih modul Mamba/23.11.0-0''
$ '''conda create -f ''[nama-file-yml]''.yml'''
* ''Gunakan nama conda env seperti <code>'''M23-skripsi'''</code>''
''- Mamba''
$ '''mamba create -f ''[nama-file-yml]''.yml'''
|-
|-
!---
!---
|}
|}
== '''''Mengaktifkan Conda Env dan Instalasi Package''''' ==
== '''''3. Aktivasi Conda Env dan Instalasi Package''''' ==
[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Ada baiknya user melengkapi instalasi package '''sebelum menjalankan komputasi''' karena:
[[Berkas:GMB warning wololo.png|nirbing|40x40px]] Ada baiknya user melengkapi instalasi package '''sebelum menjalankan komputasi''' karena:


# Batch job -> supaya script Python berjalan tanpa error ''missing package''.
# 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.
# 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.'''
Langkah berikut berjalan di login node dan '''tidak mengkonsumsi Core Hour.'''
{| class="wikitable"
{| class="wikitable"
!Mengaktifkan Conda Environment
!- Mengaktifkan dan Instalasi Package Conda Env -
|-
!<big>0</big>
|-
|-
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!'''''
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!'''''
Baris 223: Baris 185:
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>'''''
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>'''''
|-
|-
!<big>1</big>
!<big><code>-/ 1 /-</code></big>
|-
|-
|Muat modul PPM yang digunakan untuk membuat conda env:
|Muat modul PPM yang digunakan untuk membuat conda env:
  $ '''module load ''[Anaconda-atau-Mamba ....]'''''
  $ '''module load ''[nama-modul-anaconda-atau-mamba]'''''
|-
|-
!<big>2</big>
!<big><code>-/ 2 /-</code></big>
|-
|-
|Aktifkan conda env dengan perintah '''<big><code>source</code></big>''':
|Aktifkan conda env dengan perintah '''<big><code>source</code></big>''':
  $ '''source activate ''[nama-conda-env]'''''
  $ '''source activate ''[nama-conda-env]'''''
Apabila lupa dengan nama conda env, cari dengan:
''- Apabila lupa nama conda env, cari dengan:''
  $ '''conda env list'''
  $ '''conda env list'''
|-
|-
!<big>3A</big>
!<big><code>-/ 3 /-</code></big>
|-
|-
!Pilih panduan instalasi package yang dibutuhkan
|Lakukan instalasi package Python yang dibutuhkan:
|-
|Lihat laman wiki '''[<nowiki/>[[Daftar Instalasi Package Python]]]'''.


* ''<small>Halaman terpisah karena daftar terlalu panjang</small> ._.''  
* Lihat laman '''<big>[<nowiki/>[[Daftar Instalasi Package Python|Dafta]]</big><big>[[Daftar Instalasi Package Python|r Instalasi Package Python]]]</big>'''  
|-
|-
!<big>3B</big>
!<big><code>-/ 4 /-</code></big>
|-
|-
!Khusus user yang membuat conda env dengan Mamba
!Untuk user yang hendak menggunakan sesi Jupyter
[[Berkas:Logo Mamba Jupyter tp.png|nirbing|200x200px]]
[[Berkas:EOD Apps Jupyter icon.png|nirbing|100x100px]]
|-
|-
|Untuk menggunakan sesi komputasi Jupyter, instal package:
|Instal package:
  <sub>(env)</sub>$ '''pip install jupyter jupyterlab'''
  <sub>(env)</sub>$ '''pip install jupyter jupyterlab'''
|-
|-
!<big>4</big>
!<big><code>-/ 5 /-</code></big>
|-
|'''Apabila melakukan instalasi package versi CUDA:'''
* Lihat subbab '''<big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#4._Instalasi_Package_Python_versi_CUDA? <nowiki>[ 4 ]</nowiki>]</big>'''
|-
!<big><code>-/ 6 /-</code></big>
|-
|-
|Apabila hendak menonaktfkan conda env:
|Apabila hendak menonaktfkan conda env:
Baris 257: Baris 223:
|}
|}


== '''''Pilihan Menjalankan Komputasi''''' ==
== '''''4. Instalasi Package Python versi CUDA?''''' ==
Berikut opsi menjalankan komputasi Python dengan conda env, pilih sesuai kebutuhan:
{| class="wikitable"
!Jenis Komputasi
!Berjalan di
|-
|'''<big>[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#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>'''.
|'''[<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]]
|-
|'''<big>[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Sesi_Jupyter Sesi Jupyter]]</big>'''
* Menjalankan sesi interaktif Jupyter Lab atau Notebook
|'''[<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''':
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.
# 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.
# '''''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:
# Berikut metode mengecek dan melengkapi library NVIDIA yang dibutuhkan package:
{| class="wikitable"
{| class="wikitable"
!Mengecek Kelengkapan Package NVIDIA
!- Melanjutkan langkah 5 di atas  -
|-
|-
!<big>0</big>
!<big><code>-/ 5 /-</code></big>
|-
|-
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!'''''
|Cek ketersediaan library CUDA di conda env:
* ''User EFIRO klik app '''<code>Aleleon Shell Access</code>'''''
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>'''''
|-
!<big>1</big>
|-
|'''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Mengaktifkan_Conda_Env_dan_Instalasi_Package Aktifkan conda env]]''' yang akan digunakan.
|-
!<big>2</big>
|-
|Cek ketersediaan library CUDA di conda env tersebut:
  - Apabila instal package dengan pip
  - Apabila instal package dengan pip
  <sub>(env)</sub>$ '''pip list | grep cuda'''
  <sub>(env)</sub>$ '''pip list | awk /cuda/'''
   
   
  - Apabila instal package dengan conda
  - Apabila instal package dengan conda
  <sub>(env)</sub>$ '''conda list | grep cuda'''
  <sub>(env)</sub>$ '''conda list | awk /cuda/'''
|-
!<big>3A</big>
|-
|-
!''Apabila ada output:''
!''Ada output''
|-
|-
|Conda env siap digunakan.
|Conda env siap digunakan.
Baris 315: Baris 246:
* User '''tidak perlu memuat modul CUDA.'''
* User '''tidak perlu memuat modul CUDA.'''
|-
|-
!<big>3B</big>
!''Tidak ada output''
|-
|-
![[Berkas:GMB warning wololo.png|nirbing|50x50px]] ''Apabila tidak ada output:''
|User '''harus memuat modul CUDA''' ketika menjalankan job:
|-
* Perhatikan versi CUDA '''yang dibutuhkan''' package.
|User '''harus memuat modul CUDA''' dengan ketentuan:
* Langkah ada pada tutorial menjalankan komputasi.
# Perhatikan versi CUDA '''yang dibutuhkan package'''.
|}
# Lihat dokumentasi package tersebut.
 
== '''''5. <small>(Opsional)</small> Manajemen Conda Env''''' ==
Berikut adalah daftar manajemen conda env yang sekiranya berguna:
 
''<small><code>(klik expand / kembangkan)</code></small>''
''<small><code>(klik expand / kembangkan)</code></small>''
=== 5.1. Menghapus Cache Conda dan Package ===
Pembuatan conda env dan instalasi package Python juga mengeluarkan file cache yang apabila dibiarkan akan menumpuk dan menghabiskan ruang storage HOME. User dapat berkala membersihkan cache ini.
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |- Tutorial memuat dan daftar modul CUDA -
!- Menghapus cache conda dan package -
[[Berkas:Logo CUDA ALELEON tp.png|nirbing|150x150px]]
|-
|-
! colspan="2" |'''<big>Opsi Batch Job</big>'''
!<big><code>-/ 1 /-</code></big>
|-
|-
| colspan="2" |Tambah perintah berikut pada submit script:
|Muat modul PPM yang digunakan untuk membuat conda env:
  ...
  $ '''module load ''[nama-modul-anaconda-atau-mamba]'''''
# Memuat modul
module load ${PM}
'''module load ''[Nama-modul-CUDA]'''''
...
|-
|-
! colspan="2" |'''<big>Opsi Sesi Jupyter</big>'''
!<big><code>-/ 2 /-</code></big>
|-
|-
| colspan="2" |Isi nama modul pada kolom '''Software Modules'''
!Pilih opsi:
|-
|-
! colspan="2" |
|
''- Menghapus index dan cache package conda.''
''- Tidak mempengaruhi conda env dan package
''- di dalamnya.''
$ '''conda clean --all'''
''- Menghapus semua cache pip''
$ '''pip cache purge'''
|}
 
=== 5.2. Menghapus Conda Environment ===
Apabila merasa tidak dibutuhkan, user dapat menghapus conda environment dimana juga meluangkan storage HOME.
{| class="wikitable mw-collapsible mw-collapsed"
!- Menghapus conda environment -
|-
|-
! colspan="2" |DAFTAR MODUL CUDA ALELEON
!<big><code>-/ 1 /-</code></big>
|-
|-
!Versi CUDA
|Muat modul PPM yang digunakan untuk membuat conda env:
!Nama modul CUDA
$ '''module load ''[nama-modul-anaconda-atau-mamba]'''''
|-
|-
|11.2
!<big><code>-/ 2 /-</code></big>
|<code>cuda/11.2-cuDNN8.1.1</code>
|-
|-
|11.6
|Hapus conda env dengan:
|<code>cuda/11.6-cuDNN8.3.3</code>
$ '''conda remove -n ''[nama-conda-env]'' --all'''
|-
|}
|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'''''
=== 5.3. Manajemen Conda Environment Lainnya ===
Berikut manajemen conda yang sekiranya berguna:
{| class="wikitable mw-collapsible mw-collapsed"
!- Manajemen conda environment lainnya -
|-
|-
! colspan="2" |---
|
|}
''- Mengganti nama conda env''
|-
$ '''conda rename -n ''[nama-conda-env-saat-ini] [nama-conda-env-baru]'''''
!---
''- Menduplikat conda env yang ada''
$ '''conda create -n ''[nama-conda-duplikat]'' --clone ''[nama-conda-env-yang-ada]'''''
''- Membuat file konfigurasi yml dari '''conda env yang aktif'''''
<sub>(env)</sub>$ '''conda env create -f ''[nama-file-yml]''.yml'''
|}
|}
== '''''6. Pilihan Menjalankan Komputasi''''' ==
Berikut opsi menjalankan komputasi Python dengan conda env, pilih sesuai kebutuhan:
* '''<big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#6.1._Batch_Job <nowiki>[ 6.1 - Batch Job ]</nowiki>]</big>'''
** '''Menjalankan script Python siap jalan tanpa interaksi user di [<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|Compute node]]].'''
*** [[Berkas:GMB warning wololo.png|nirbing|40x40px]] ''Perhatikan '''file <code>.ipynb</code>''' harus dikonversi ke '''file <code>.py</code>'''.''
*** ''Job dijalankan oleh manajemen 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.''
* '''<big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#6.2._Sesi_Jupyter <nowiki>[ 6.2 - Sesi Jupyter ]</nowiki>]</big>'''
** '''Menjalankan sesi interaktif Jupyter Lab atau Notebook di [<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Interactive%20Node|interactive node]]].'''
** '''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 cell berjalan dan kembali masuk:'''
***''Bisa jadi cell tsb. tidak menampilkan proses jalannya komputasi.''
***''Lihat cell berikutnya apakah belum / sedang / sudah selesai berjalan.''
---
---


=== Batch Job ===
=== 6.1. 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]]].'''
Menjalankan script Python siap jalan tanpa interaksi user 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.
* [[Berkas:GMB warning wololo.png|nirbing|40x40px]] ''Perhatikan '''file <code>.ipynb</code>''' harus dikonversi ke '''file <code>.py</code>'''.''
* ''Job dijalankan oleh manajemen Slurm, user menunggu hingga selesai.''
'''Tersedia pilihan tampilan yang dapat dipilih sesuai preferensi user:'''
 
''<small><code>(klik expand / kembangkan)</code></small>''
''<small><code>(klik expand / kembangkan)</code></small>''
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
Baris 397: Baris 361:
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>'''''   
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>'''''   
|-
|-
!<big>0</big>
!<big><code>-/ 0 /-</code></big>
|-
|-
!Apakah bisa menjalankan job?
!Apakah bisa menjalankan job?
Baris 404: Baris 368:
  $ '''sausage'''
  $ '''sausage'''


* '''''Untuk akun institusi ikuti petunjuk support EFISON.'''''
* Detail limit alokasi komputasi job lihat langkah '''<big>2B</big>'''.
* Detail limit alokasi komputasi job lihat langkah '''<big>2B</big>'''.
* Bila butuh tambah kuota, lihat '''[[https://wiki.efisonlt.com/wiki/Core_Hour#Penggunaan_Kredit_Core_Hour top up Kredit Core Hour]].'''
* Bila butuh tambah kuota, lihat '''[[https://wiki.efisonlt.com/wiki/Core_Hour#Penggunaan_Kredit_Core_Hour top up Kredit Core Hour]].'''
|-
|-
!<big>1</big>
!<big><code>-/ 1 /-</code></big>
|-
|-
!Lakukan persiapan:
!Lakukan persiapan:
|-
|-
|'''Pastikan package lengkap pada conda env yang akan digunakan:'''
|'''<big>1A</big> -''' '''Pastikan package lengkap pada conda env yang akan digunakan:'''
* Package tidak lengkap akan menyebabkan job gagal berjalan.
* Package tidak lengkap akan menyebabkan job gagal berjalan.
'''Siapkan file komputasi yang dibutuhkan:'''
'''<big>1B</big> -''' '''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]]'''
* 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:'''
'''<big>1C</big> -[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Memastikan batch job memuat conda env dengan benar:'''
  1 - ''Apabila'' conda env aktif, keluar:
  1 - Nonaktifkan conda env di terminal apabila aktif:
  <small>(env)</small>$ '''conda deactivate'''
  <small>(env)</small>$ '''conda deactivate'''
    
    
  2 - Menonaktifkan modul Package Python:
  2 - Nonaktifkan modul Package Python:
  $ '''ml unload Anaconda Mamba'''
  $ '''ml unload Anaconda Mamba'''
   
   
  <small>Apabila ada pesan ini, abaikan:
  <small>Apabila ada pesan ini, abaikan:
'''''the module ... cannot be unloaded because it was not loaded'''''</small>
  '''''the module ... cannot be unloaded because it was not loaded'''''</small>
|-
|-
!<big>2A</big>
!<big><code>-/ 2A /-</code></big>
|-
|-
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi:
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi:
Baris 507: Baris 470:
[[Berkas:GMB GPU icon.png|nirbing|100x100px]]
[[Berkas:GMB GPU icon.png|nirbing|100x100px]]
|-
|-
|[[Berkas:GMB warning wololo.png|nirbing|50x50px]]'''Note:'''
|[[Berkas:GMB warning wololo.png|nirbing|40x40px]]'''Apakah perlu memuat modul CUDA <big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#4._Instalasi_Package_Python_versi_CUDA? <nowiki>[ Subbab 4 ]</nowiki>]</big>?'''
* Perhatikan apakah perlu memuat modul CUDA?
*'''''Apabila butuh''''', isi nama modul CUDA pada script sebagai berikut:
* Info detail lihat '''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Menjalankan_Package_Python_versi_GPU? Menjalankan Package Python Versi GPU?]]'''
** '''''Apabila butuh''''', isi nama modul CUDA sebagai berikut:
  ...
  ...
  module load ${PM}
  module load ${PM}
  '''''module load [Nama-modul-CUDA]'''''
  '''''module load [Nama-modul-CUDA]'''''
  ...
  ...
{| class="wikitable mw-collapsible mw-collapsed"
|-
! 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" |---
|}
|-
|-
|<syntaxhighlight lang="bash" line="1">
|<syntaxhighlight lang="bash" line="1">
Baris 588: Baris 586:
*''Untuk SBATCH notifikasi email status jalannya job lihat '''[[https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM Slurm Jojo]]'''''
*''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>2B</big>
!<big><code>-/ 2B /-</code></big>
|-
|-
|SBATCH komputasi (ntasks, mem, time, dll) '''punya limit''' berdasarkan:
|SBATCH komputasi (ntasks, mem, time, dll) '''punya limit''' berdasarkan:
Baris 595: Baris 593:
Untuk melihat limit, jalankan perintah berikut:
Untuk melihat limit, jalankan perintah berikut:
  $ '''slimit-python'''
  $ '''slimit-python'''
[[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Note untuk saat ini:'''
[[Berkas:GMB warning wololo.png|nirbing|40x40px]] '''Note untuk saat ini:'''
*''Jalankan ketika tidak ada job user yang berjalan atau antri.''
*''Jalankan ketika tidak ada job user yang berjalan atau antri.''
*''Sementara berlaku untuk akun perseorangan saja.''
*''Sementara berlaku untuk akun perseorangan saja.''
|-
|-
!<big>3</big>
!<big><code>-/ 3 /-</code></big>
|-
|-
|Jalankan job dengan perintah:
|Jalankan job dengan perintah:
Baris 607: Baris 605:
  $ sbatch submit.sh
  $ sbatch submit.sh
|-
|-
!<big>4</big>
!<big><code>-/ 4 /-</code></big>
|-
|-
|User dapat melihat status jalannya job dengan perintah:
|User dapat melihat status jalannya job dengan perintah:
Baris 613: Baris 611:


* ''Apabila tidak ada di squeue artinya job bersangkutan telah berakhir.''
* ''Apabila tidak ada di squeue artinya job bersangkutan telah berakhir.''
* ''Waktu jalan job tidak bergantung oleh alokasi limit waktu di script.''
* ''Job berakhir ketika:''
* ''Job berakhir ketika komputasi selesai atau ada error.''
** ''Komputasi selesai atau ada error sehingga selesai prematur.''
** ''Job menyentuh walltime yang didefinisikan user di SBATCH time.''


{| class="wikitable"
{| class="wikitable"
Baris 641: Baris 640:
|}
|}
|-
|-
!<big>5</big>
!<big><code>-/ 5 /-</code></big>
|-
|-
|User dapat memantau file output dengan perintah Unix seperti:  
|User dapat memantau file output dengan perintah Unix seperti:  
Baris 647: Baris 646:
* '''<code>ls</code>''', '''<code>cat</code>''', '''<code>more</code>''', '''<code>tail</code>''', dll
* '''<code>ls</code>''', '''<code>cat</code>''', '''<code>more</code>''', '''<code>tail</code>''', dll
|-
|-
!<big>6</big>
!<big><code>-/ 6 /-</code></big>
|-
|-
|Apabila user ingin menghentikan job yang berjalan, jalankan perintah:
|Apabila user ingin menghentikan job yang berjalan, jalankan perintah:
  $ '''scancel ''[job-ID]'''''
  '''$ scancel ''[job-ID]'''''
   
   
  <small>''Job ID ada pada squeue diatas.''
  ''Job ID ada pada squeue diatas.''
  contoh membatalkan job ID 231:
contoh membatalkan job ID 231:
  $ '''scancel 231'''</small>
$ '''scancel 231'''
|-
|-
!---
!---
Baris 662: Baris 661:
[[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]]
[[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]]
|-
|-
!<big>0</big>
!<big><code>-/ 0 /-</code></big>
|-
|-
!Apakah bisa menjalankan job?
!Apakah bisa menjalankan job?
Baris 673: Baris 672:
  $ '''sausage'''
  $ '''sausage'''


* '''''Untuk akun institusi ikuti petunjuk support EFISON.'''''
* Detail limit alokasi komputasi job lihat langkah '''<big>5B</big>'''.
* Detail limit alokasi komputasi job lihat langkah '''<big>5B</big>'''.
* Bila butuh tambah kuota, lihat '''[[https://wiki.efisonlt.com/wiki/Core_Hour#Penggunaan_Kredit_Core_Hour top up Kredit Core Hour]].'''
* Bila butuh tambah kuota, lihat '''[[https://wiki.efisonlt.com/wiki/Core_Hour#Penggunaan_Kredit_Core_Hour top up Kredit Core Hour]].'''
|-
|-
!<big>1</big>
!<big><code>-/ 1 /-</code></big>
|-
|-
| [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.
| [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.
|-
|-
!<big>2</big>
!<big><code>-/ 2 /-</code></big>
|-
|-
|
|
Baris 693: Baris 691:
|[[Berkas:Jcnewjobmarked.png|nirbing|170x170px]]Pilih menu <big>'''<code>New Job > From Template</code>'''</big>
|[[Berkas:Jcnewjobmarked.png|nirbing|170x170px]]Pilih menu <big>'''<code>New Job > From Template</code>'''</big>
|-
|-
!<big>3</big>
!<big><code>-/ 3 /-</code></big>
|-
|-
!Buat ruang job untuk menjalankan komputasi:
!Buat ruang job untuk menjalankan komputasi:
Baris 713: Baris 711:
[[Berkas:Jctemplate-2.png|nirbing]]
[[Berkas:Jctemplate-2.png|nirbing]]
|-
|-
!<big>4</big>
!<big><code>-/ 4 /-</code></big>
|-
|-
!Lakukan persiapan:
!Lakukan persiapan:
|-
|-
|'''Pastikan package lengkap pada conda env yang akan digunakan:'''
|'''<big>4A</big> -''' '''Pastikan package lengkap pada conda env yang akan digunakan:'''
* Package tidak lengkap akan menyebabkan job gagal berjalan.
* Package tidak lengkap akan menyebabkan job gagal berjalan.
* Akses terminal apabila butuh via menu '''<code><big>Open Terminal</big></code>'''
* Akses terminal apabila butuh via menu '''<code><big>Open Terminal</big></code>'''
'''Siapkan file komputasi yang dibutuhkan di ruang job:'''
'''<big>4B</big> -''' '''Siapkan file komputasi yang dibutuhkan di ruang job:'''


* ''Pastikan ruang job yang dipilih adalah yang akan digunakan.''
* ''Pastikan ruang job yang dipilih adalah yang akan digunakan.''
Baris 729: Baris 727:
[[Berkas:JC job menu.png|nirbing|500x500px]]
[[Berkas:JC job menu.png|nirbing|500x500px]]
|-
|-
!<big>5A</big>
!<big><code>-/ 5A /-</code></big>
|-
|-
|Lengkapi '''Submit Script''' melalui tombol '''<code><big>Open Editor</big></code>'''
|Lengkapi '''Submit Script''' melalui tombol '''<code><big>Open Editor</big></code>'''
Baris 737: Baris 735:
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]]
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]]
|-
|-
|[[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Bagi yang memilih template GPU:'''
!
* Perhatikan apakah perlu memuat modul CUDA?
|-
|[[Berkas:GMB warning wololo.png|nirbing|40x40px]] '''Bagi yang memilih template GPU:'''
* Apakah perlu memuat modul CUDA '''<big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#4._Instalasi_Package_Python_versi_CUDA? <nowiki>[ Subbab 4 ]</nowiki>]</big>?'''
*'''''Apabila butuh''''', isi nama modul CUDA pada script sebagai berikut:


* Info detail lihat '''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Menjalankan_Package_Python_versi_GPU? Menjalankan Package Python Versi GPU?]].'''
** '''''Apabila butuh''''', isi nama modul CUDA sebagai berikut:
  ...
  ...
  module load ${PM}
  module load ${PM}
  '''''module load [Nama-modul-CUDA]'''''
  '''''module load [Nama-modul-CUDA]'''''
  ...
  ...
{| class="wikitable mw-collapsible mw-collapsed"
|-
! 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" |---
|}
|-
|-
!
!
Baris 754: Baris 790:
*''Untuk SBATCH notifikasi email status jalannya job lihat '''[[https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM Slurm Jojo]]'''''
*''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>5B</big>
!<big><code>-/ 5B /-</code></big>
|-
|-
|SBATCH komputasi (ntasks, mem, time, dll) '''punya limit''' berdasarkan:
|SBATCH komputasi (ntasks, mem, time, dll) '''punya limit''' berdasarkan:
Baris 761: Baris 797:
Untuk melihat limit, jalankan perintah berikut:
Untuk melihat limit, jalankan perintah berikut:
  $ '''slimit-python'''
  $ '''slimit-python'''
[[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Note untuk saat ini:'''
[[Berkas:GMB warning wololo.png|nirbing|40x40px]] '''Note untuk saat ini:'''
*''Jalankan ketika tidak ada job user yang berjalan atau antri.''
*''Jalankan ketika tidak ada job user yang berjalan atau antri.''
*''Sementara berlaku untuk akun perseorangan saja.''
*''Sementara berlaku untuk akun perseorangan saja.''
|-
|-
!<big>6</big>
!<big><code>-/ 6 /-</code></big>
|-
|-
|Jalankan job dengan klik tombol '''<code><big>Submit</big></code>'''
|Jalankan job dengan klik tombol '''<code><big>Submit</big></code>'''
[[Berkas:JC job runstop.png|al=|nirbing|400x400px]]
[[Berkas:JC job runstop.png|al=|nirbing|400x400px]]


* ''Waktu jalan job tidak bergantung oleh alokasi limit waktu di script.''
*''Job berakhir '''(Status completed)''' ketika:''
* ''Job berakhir ketika komputasi selesai atau ada error.''
** ''Komputasi selesai atau ada error sehingga selesai prematur.''
** ''Job menyentuh walltime yang didefinisikan user di SBATCH time.''


{| class="wikitable"
{| class="wikitable"
Baris 796: Baris 833:
! colspan="2" |'''Melihat alasan job yang queue:'''
! 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]]''''']]
| colspan="2" |[[Berkas:Active Jobs detail.png|nirbing|400x400px]]
 
* Buka menu '''<big><code>Apps > Active Jobs</code></big>'''  
* Ubah opsi '''<big><code>All Jobs</code></big>''' ke <big><code>'''Your Jobs'''</code></big>.
* Klik simbol '''<code><big>></big></code>''' pada job status pending dan lihat kolom '''Reason'''.
* Arti reason lihat laman '''[[Daftar Job Reason ALELEON Supercomputer|[Daftar Job Reason ALELEON]]]'''  
|}
|}
|-
|-
!'''<big>7</big>'''
!<big><code>-/ 7 /-</code></big>
|-
|-
|Lihat output file komputasi pada kolom '''Folder Contents'''
|Lihat output file komputasi pada kolom '''Folder Contents'''
Baris 805: Baris 847:
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>''''']]
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>''''']]
|-
|-
!<big>8</big>
!<big><code>-/ 8 /-</code></big>
|-
|-
|Apabila user ingin menghentikan job yang berjalan, klik '''<code><big>Stop</big></code>'''
|Apabila user ingin menghentikan job yang berjalan, klik '''<code><big>Stop</big></code>'''
|-
|-
!<big>9</big>
!<big><code>-/ 9 /-</code></big>
|-
|-
|Untuk menghapus ruang job dan datanya:
|Untuk menghapus ruang job dan datanya:
Baris 820: Baris 862:
|}
|}


=== Sesi Jupyter ===
=== 6.2. Sesi Jupyter ===
Menjalankan sesi interaktif Jupyter Lab atau Notebook di '''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Interactive%20Node|interactive node]]].'''
Menjalankan sesi interaktif Jupyter Lab atau Notebook di '''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Interactive%20Node|interactive node]]].'''


Baris 828: Baris 870:
[[Berkas:Efiro jupyter display.png|400x400px]]
[[Berkas:Efiro jupyter display.png|400x400px]]
|-
|-
!'''<big>1</big>'''
!<big><code>-/ 1 /-</code></big>
|-
|-
| '''[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.
| '''[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.
|-
|-
!<big>2</big>
!<big><code>-/ 2 /-</code></big>
|-
|-
!Lakukan persiapan sebelum sesi Jupyter:  
!Lakukan persiapan sebelum sesi Jupyter:  
Baris 838: Baris 880:
|'''Untuk efisiensi sesi terkait batasan waktu dan konsumsi Core Hour:'''
|'''Untuk efisiensi sesi terkait batasan waktu dan konsumsi Core Hour:'''
* Lengkapi instalasi package pada conda env yang akan dipakai.
* Lengkapi instalasi package pada conda env yang akan dipakai.
** [[Berkas:GMB warning wololo.png|nirbing|50x50px]] ''Pastikan package jupyter dan jupyterlab telah terinstal.''
* Upload file besar lihat '''[[https://wiki.efisonlt.com/wiki/Manajemen_File_di_ALELEON_Supercomputer Upload / Download File HOME]]'''
* 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.
** Direktori standar sesi Jupyter adalah $HOME user.
|-
|-
!<big>3</big>
!<big><code>-/ 3 /-</code></big>
|-
|-
|
|
Baris 851: Baris 894:
|}
|}
|-
|-
!<big>4</big>
!<big><code>-/ 4 /-</code></big>
|-
|-
|Isi formulir untuk memulai sesi Jupyter dengan panduan berikut:
|Isi formulir untuk memulai sesi Jupyter dengan panduan berikut:
{| class="wikitable"
{| class="wikitable"
!<code>''Choose Jupyter version''</code>
!<code>''<big>Choose Jupyter version</big>''</code>
|-
|-
|Pilih sesuai preferensi user, <code>Jupyter Lab</code> atau <code>Notebook</code>
|Pilih sesuai preferensi user, <code>Jupyter Lab</code> atau <code>Notebook</code>
Baris 861: Baris 904:
!
!
|-
|-
!''<code>Partition</code>''
!''<code><big>Partition</big></code>''
|-
|-
|Pilih sesuai kebutuhan:
|Pilih sesuai kebutuhan:
Baris 869: Baris 912:
!
!
|-
|-
!<code>''Number of CPU thread(s)''</code>
!<code>''<big>Number of CPU thread(s)</big>''</code>
|-
|-
|Alokasi core CPU, range <code><big>'''2 - 32'''</big></code>
|Alokasi core CPU, range <code><big>'''2 - 32'''</big></code>
Baris 875: Baris 918:
!
!
|-
|-
!<code>''Amount of memory/RAM (GB)''</code>
!<code>''<big>Amount of memory/RAM (GB)</big>''</code>
|-
|-
|Alokasi RAM dalam satuan GB, range <code><big>'''1 - 64'''</big></code>
|Alokasi RAM dalam satuan GB, range <code><big>'''1 - 64'''</big></code>
Baris 881: Baris 924:
!
!
|-
|-
!''<code>Number of GPUs</code> (apabila pilih partition tilla)''
!''<code><big>Number of GPUs</big></code> (apabila pilih partition tilla)''
|-
|-
|Jumlah GPU, isi angka <code><big>'''1'''</big></code>
|Jumlah GPU, isi angka <code><big>'''1'''</big></code>
Baris 887: Baris 930:
!
!
|-
|-
!''<code>Number of hours</code>''
!''<code><big>Number of hours</big></code>''
|-
|-
|Waktu maksimal sesi Jupyter, range <code><big>'''1 - 72'''</big></code>
|Waktu maksimal sesi Jupyter, range <code><big>'''1 - 72'''</big></code>
|-
|-
!
![[Berkas:GMB warning wololo.png|nirbing|50x50px]] Apakah bisa menjalankan sesi Jupyter?
|-
|-
|Form CPU, RAM, GPU, dan hours '''punya limit''' berdasarkan:
|Form CPU, GPU, dan hours '''punya limit''' berdasarkan:
*Sisa Core Hour user dan '''[<nowiki/>[[Limitasi Fair Usage ALELEON Supercomputer|Fair Usage Limit]]]'''  
*Sisa Core Hour user dan '''[<nowiki/>[[Limitasi Fair Usage ALELEON Supercomputer|Fair Usage Limit]]]'''  
*Spesifikasi sistem dan software komputasi.
Untuk melihat limit:
Untuk melihat limit:


# Buka menu '''<code><big>Apps > Aleleon Shell Access</big></code>'''
* Buka menu '''<code><big>Apps > Aleleon Shell Access</big></code>'''
# Jalankan perintah:  
* Jalankan perintah:
 
  $ '''sausage'''
  $ '''slimit-python'''
* Ketentuan sesi Jupyter dapat berjalan:  
[[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Note untuk saat ini:'''
sisa CCH > number of CPU threads X number of hours
*''Jalankan ketika tidak ada job user yang berjalan atau antri.''
sisa GH > number of GPU X number of hours
*''Sementara berlaku untuk akun perseorangan saja.''
|-
|-
!
!
|-
|-
!''<code>Choose how to launch Jupyter</code>''
!''<code><big>Choose how to launch Jupyter</big></code>''
|-
|-
|Pilih <code>'''Anaconda/Mamba'''</code>
|Pilih <code>'''Anaconda/Mamba'''</code>
Baris 914: Baris 955:
!
!
|-
|-
!''<code>Choose Anaconda/Mamba version</code>''
!''<code><big>Choose Anaconda/Mamba version</big></code>''
|-
|-
|Pilih versi yang digunakan untuk membuat conda env user.
|Pilih versi yang digunakan untuk membuat conda env user.
Baris 920: Baris 961:
!
!
|-
|-
!''<code>Conda/Mamba environment directory</code>''
!''<code><big>Conda/Mamba environment directory</big></code>''
|-
|-
|Isi nama conda env user, contoh: <code>skripsi</code>
|Isi nama conda env user, contoh: <code>skripsi</code>
Baris 926: Baris 967:
!
!
|-
|-
!''<code>Software Modules</code>''
!''<code><big>Software Modules</big></code>''
|-
|-
|Memuat modul software diluar conda env user , ''isi apabila ada''.
|Memuat modul software diluar conda env user , ''isi apabila ada''.
|-
|-
|[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Bagi user yang memilih '''partition tilla''':
|[[Berkas:GMB warning wololo.png|nirbing|40x40px]] Bagi user yang memilih '''partition tilla''':
 
* Apakah perlu memuat modul CUDA '''<big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#4._Instalasi_Package_Python_versi_CUDA? <nowiki>[ Subbab 4 ]</nowiki>]</big>?'''
* '''''Apabila butuh''''', isi form ini dengan nama modul CUDA.
{| class="wikitable mw-collapsible mw-collapsed"
|-
! 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:


* Perhatikan apakah perlu memuat modul CUDA?
* Hubungi tim admin di '''''support@efisonlt.com'''''
* Info detail lihat '''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Menjalankan_Package_Python_versi_GPU? Menjalankan Package Python Versi GPU?]].'''
|-
** '''''Apabila butuh''''', isi form ini dengan nama modul CUDA.
! colspan="2" |---
|}
|-
|-
!
!
|-
|-
!''<code>Environment setup</code>''
!''<code><big>Environment setup</big></code>''
|-
|-
|Memuat environment variable, ''isi apabila ada''.
|Memuat environment variable, ''isi apabila ada''.
Baris 944: Baris 1.021:
!
!
|-
|-
!''<code>Additional Jupyter arguments</code>''
!''<code><big>Additional Jupyter arguments</big></code>''
|-
|-
|Memuat argumen tambahan Jupyter, ''isi apabila ada''.
|Memuat argumen tambahan Jupyter, ''isi apabila ada''.
Baris 950: Baris 1.027:
!
!
|-
|-
!''<code>Email address</code>''
!''<code><big>Email address</big></code>''
|-
|-
|Notifikasi email untuk status mulai dan selesainya Jupyter.
|Notifikasi email untuk status mulai dan selesainya Jupyter.
Baris 957: Baris 1.034:
*
*
|-
|-
!<big>5</big>
!<big><code>-/ 5 /-</code></big>
|-
|-
|Klik tombol '''<code><big>Launch</big></code>''' untuk memulai sesi Jupyter:
|Klik tombol '''<code><big>Launch</big></code>''' untuk memulai sesi Jupyter:
Baris 964: Baris 1.041:
[[Berkas:Jupyternotebookqueue.png|nirbing|500x500px]]
[[Berkas:Jupyternotebookqueue.png|nirbing|500x500px]]
|-
|-
!<big>6</big>
!<big><code>-/ 6 /-</code></big>
|-
|-
|Apabila status '''Running''', klik tombol '''<code><big>Connect to Jupyter</big></code>'''
|Apabila status '''Running''', klik tombol '''<code><big>Connect to Jupyter</big></code>'''
*'''Sistem mulai menghitung Core Hour!'''
*[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Sistem mulai menghitung Core Hour!
*[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Sesi akan terus berjalan selama '''waktu sesi masih ada'''.
*Sesi akan terus berjalan selama '''waktu sesi masih ada'''.
*Untuk menghentikan sesi yang running, klik tombol '''<code><big>Cancel</big></code>'''
*Untuk menghentikan sesi yang running, klik tombol '''<code><big>Cancel</big></code>'''
[[Berkas:Newjupyter120124.png|nirbing|500x500px]]
[[Berkas:Newjupyter120124.png|nirbing|500x500px]]
|-
|-
!<big>7</big>
!<big><code>-/ 7 /-</code></big>
|-
|-
|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'']]
|Gunakan kernel '''Python 3 (ipykernel)''' untuk sesi Jupyter.
|-
|-
!<big>8</big>
!<big><code>-/ 8 /-</code></big>
|-
|-
|User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:
|'''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>'''  
*Menu '''<code><big>My Interactive Sessions</big></code>'''  
*Kolom '''<code><big>Active interactive sessions</big></code>''' di homepage EFIRO.
*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'''''==
=='''''7. 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.


Baris 991: Baris 1.075:
Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email:
Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email:
  '''support@efisonlt.com'''
  '''support@efisonlt.com'''
== '''''Kontributor''''' ==
EFISON turut mengucapakan terima kasih spesial kepada:
# '''[[https://sadasa.id/ Sadasa Aacademy]]''' untuk pengujian semua tutorial di laman ini.

Revisi terkini sejak 4 Juli 2025 02.48

Logo Python Anaconda Mamba ALELEON tp.png

Halaman ini menjelaskan menjalankan komputasi / aplikasi Python dengan conda environment (conda env) di ALELEON Supercomputer yang dibuat secara mandiri oleh user termasuk instalasi package di dalamnya.

Laman ini merupakan bagian laman [Komputasi Python]

0. Spesifikasi

Tutorial ini mengasumsikan user dapat melakukan atau mau mencoba pembuatan environment - instalasi package Python.

Spesifikasi

  • Tutorial ini memandu membuat conda environment dengan site-packages yang terisolasi di dalamnya.
  • Pembuatan conda env dan instalasi package mengkonsumsi storage HOME user.
    • Pantau konsumsi storage HOME dengan perintah $ ncdu $HOME
Keterangan simbol perintah terminal
$ Perintah ketika conda env tidak aktif
(env)$ Perintah ketika conda env aktif

1. Langkah Menjalankan Komputasi

Subbab Langkah
[ 2 ] Buat conda env untuk menampung instalasi package.
[ 3 ] Mengaktifkan conda env dan melakukan instalasi package di dalamnya.
[ 4 ] Pengecekan bagi yang menginstal package Python versi CUDA.
[ 5 ] Opsional, manajemen conda env yang sekiranya berguna.
[ 6 ] Menjalankan komputasi dengan pilihan:
[ 7 ] Support apabila menemui masalah.

2. Membuat Conda Environment

Tersedia pilihan Python Package Manager (PPM) berikut untuk membuat conda env. Pilih sesuai preferensi user:

  • Anaconda: PPM Python paling banyak digunakan dan saat ini menjadi standar industri.
  • Mamba: PPM Python alternatif Anaconda versi komunitas.
- Langkah Membuat conda env -
EOD Apps Shell full.png
Menggunakan terminal!
  • User EFIRO klik app Aleleon Shell Access
  • atau menu Apps > Aleleon Shell Access
-/ 1 /-
Pilih dan aktifkan modul PPM untuk membuat conda env:
  • Ingat atau catat modul PPM yang dipakai.
  • Kedepannya digunakan untuk mengaktifkan conda env ini.
$ module load [nama-modul-anaconda-atau-mamba]
- Nama modul Anaconda3 -

Anaconda transparent logo.png

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
- Nama modul Mamba -

Mamba transparent logo.png

23.11.0-0 Mamba/23.11.0-0 3.10.13
Saran sebelum langkah 2 ...
Pilih nama conda env yang mengandung unsur nama modul:
  • Untuk mengingat modul yang digunakan.
  • Contoh user memilih modul Anaconda3/2024-02-1
    • Gunakan nama conda env seperti A2024-skripsi
-/ 2 /-
Buat conda env dengan opsi:
2A - Conda env kosong dengan Python versi tertentu, apabila:
  • Hendak melakukan instalasi salah satu package berikut:
Package Python dengan kebutuhan versi Python spesifik
Package Versi Python
TensorFlow Lihat [TensorFlow Tested Build Configurations]
PyTorch 3.9 - 3.12
AutoGluon 3.9 - 3.12
- Anaconda
$ conda create -n [nama-conda-env] python=[versi]

- Mamba
$ mamba create -n [nama-conda-env] python=[versi]

Contoh dengan Python 3.10 
$ conda create -n skripsi python=3.10
2B - Conda env kosong dengan Python versi 3.12.
  • Rekomendasi admin untuk versi Python terstabil saat ini.
- Anaconda
$ conda create -n [nama-conda-env] python=3.12

- Mamba
$ mamba create -n [nama-conda-env] python=3.12
2C - Conda env dengan file "resep" konfigurasi yml
  • File yml disediakan user sendiri.
- Anaconda
$ conda create -f [nama-file-yml].yml

- Mamba
$ mamba create -f [nama-file-yml].yml
---

3. Aktivasi 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.

Langkah berikut berjalan di login node dan tidak mengkonsumsi Core Hour.

- Mengaktifkan dan Instalasi Package Conda Env -
EOD Apps Shell full.png
Menggunakan terminal!
  • User EFIRO klik app Aleleon Shell Access
  • atau menu Apps > Aleleon Shell Access
-/ 1 /-
Muat modul PPM yang digunakan untuk membuat conda env:
$ module load [nama-modul-anaconda-atau-mamba]
-/ 2 /-
Aktifkan conda env dengan perintah source:
$ source activate [nama-conda-env]

- Apabila lupa nama conda env, cari dengan:
$ conda env list
-/ 3 /-
Lakukan instalasi package Python yang dibutuhkan:
-/ 4 /-
Untuk user yang hendak menggunakan sesi Jupyter

EOD Apps Jupyter icon.png

Instal package:
(env)$ pip install jupyter jupyterlab
-/ 5 /-
Apabila melakukan instalasi package versi CUDA:
-/ 6 /-
Apabila hendak menonaktfkan conda env:
(env)$ conda deactivate

4. Instalasi Package Python versi CUDA?

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:
- Melanjutkan langkah 5 di atas -
-/ 5 /-
Cek ketersediaan library CUDA di conda env:
- Apabila instal package dengan pip
(env)$ pip list | awk /cuda/

- Apabila instal package dengan conda
(env)$ conda list | awk /cuda/
Ada output
Conda env siap digunakan.
  • User tidak perlu memuat modul CUDA.
Tidak ada output
User harus memuat modul CUDA ketika menjalankan job:
  • Perhatikan versi CUDA yang dibutuhkan package.
  • Langkah ada pada tutorial menjalankan komputasi.

5. (Opsional) Manajemen Conda Env

Berikut adalah daftar manajemen conda env yang sekiranya berguna:

(klik expand / kembangkan)

5.1. Menghapus Cache Conda dan Package

Pembuatan conda env dan instalasi package Python juga mengeluarkan file cache yang apabila dibiarkan akan menumpuk dan menghabiskan ruang storage HOME. User dapat berkala membersihkan cache ini.

- Menghapus cache conda dan package -
-/ 1 /-
Muat modul PPM yang digunakan untuk membuat conda env:
$ module load [nama-modul-anaconda-atau-mamba]
-/ 2 /-
Pilih opsi:
- Menghapus index dan cache package conda.
- Tidak mempengaruhi conda env dan package 
- di dalamnya.
$ conda clean --all

- Menghapus semua cache pip
$ pip cache purge

5.2. Menghapus Conda Environment

Apabila merasa tidak dibutuhkan, user dapat menghapus conda environment dimana juga meluangkan storage HOME.

- Menghapus conda environment -
-/ 1 /-
Muat modul PPM yang digunakan untuk membuat conda env:
$ module load [nama-modul-anaconda-atau-mamba]
-/ 2 /-
Hapus conda env dengan:
$ conda remove -n [nama-conda-env] --all

5.3. Manajemen Conda Environment Lainnya

Berikut manajemen conda yang sekiranya berguna:

- Manajemen conda environment lainnya -
- Mengganti nama conda env
$ conda rename -n [nama-conda-env-saat-ini] [nama-conda-env-baru]

- Menduplikat conda env yang ada
$ conda create -n [nama-conda-duplikat] --clone [nama-conda-env-yang-ada]

- Membuat file konfigurasi yml dari conda env yang aktif
(env)$ conda env create -f [nama-file-yml].yml

6. Pilihan Menjalankan Komputasi

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

  • [ 6.1 - Batch Job ]
    • Menjalankan script Python siap jalan tanpa interaksi user di [Compute node].
      • GMB warning wololo.png Perhatikan file .ipynb harus dikonversi ke file .py.
      • Job dijalankan oleh manajemen 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.
  • [ 6.2 - Sesi Jupyter ]
    • Menjalankan sesi interaktif Jupyter Lab atau Notebook di [interactive node].
    • 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 cell berjalan dan kembali masuk:
      • Bisa jadi cell tsb. tidak menampilkan proses jalannya komputasi.
      • Lihat cell berikutnya apakah belum / sedang / sudah selesai berjalan.

---

6.1. Batch Job

Menjalankan script Python siap jalan tanpa interaksi user di [Compute node].

  • GMB warning wololo.png Perhatikan file .ipynb harus dikonversi ke file .py.
  • Job dijalankan oleh manajemen Slurm, user menunggu hingga selesai.

Tersedia pilihan tampilan yang dapat dipilih sesuai preferensi user:

(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
-/ 0 /-
Apakah bisa menjalankan job?
User dengan Kredit Core Hour disarankan cek kuota terlebih dulu:
$ sausage
-/ 1 /-
Lakukan persiapan:
1A - Pastikan package lengkap pada conda env yang akan digunakan:
  • Package tidak lengkap akan menyebabkan job gagal berjalan.

1B - Siapkan file komputasi yang dibutuhkan:

1C -GMB warning wololo.png Memastikan batch job memuat conda env dengan benar:

1 - Nonaktifkan conda env di terminal apabila aktif:
(env)$ conda deactivate
 
2 - Nonaktifkan modul Package Python:
$ ml unload Anaconda Mamba

Apabila ada pesan ini, abaikan:
 the module ... cannot be unloaded because it was not loaded
-/ 2A /-
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

#!/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.pngApakah perlu memuat modul CUDA [ Subbab 4 ]?
  • Apabila butuh, isi nama modul CUDA pada script sebagai berikut:
...
module load ${PM}
module load [Nama-modul-CUDA]
...
- 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
---
#!/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]
////
  • Untuk SBATCH notifikasi email status jalannya job lihat [Slurm Jojo]
-/ 2B /-
SBATCH komputasi (ntasks, mem, time, dll) punya limit berdasarkan:
  • Sisa Core Hour user dan [Fair Usage Limit]
  • Spesifikasi sistem dan software komputasi.

Untuk melihat limit, jalankan perintah berikut:

$ slimit-python

GMB warning wololo.png Note untuk saat ini:

  • Jalankan ketika tidak ada job user yang berjalan atau antri.
  • Sementara berlaku untuk akun perseorangan saja.
-/ 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
-/ 5 /-
User dapat memantau file output dengan perintah Unix seperti:
  • ls, cat, more, tail, dll
-/ 6 /-
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

-/ 0 /-
Apakah bisa menjalankan job?
User dengan Kredit Core Hour disarankan cek kuota terlebih dulu:
  1. Buka menu Apps > Aleleon Shell Access
  2. Jalankan:
$ sausage
-/ 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
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 /-
Lakukan persiapan:
4A - 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

4B - 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

-/ 5A /-
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.

GMB warning wololo.png Bagi yang memilih template GPU:
  • Apakah perlu memuat modul CUDA [ Subbab 4 ]?
  • Apabila butuh, isi nama modul CUDA pada script sebagai berikut:
...
module load ${PM}
module load [Nama-modul-CUDA]
...
- 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
---
  • Untuk SBATCH notifikasi email status jalannya job lihat [Slurm Jojo]
-/ 5B /-
SBATCH komputasi (ntasks, mem, time, dll) punya limit berdasarkan:
  • Sisa Core Hour user dan [Fair Usage Limit]
  • Spesifikasi sistem dan software komputasi.

Untuk melihat limit, jalankan perintah berikut:

$ slimit-python

GMB warning wololo.png Note untuk saat ini:

  • Jalankan ketika tidak ada job user yang berjalan atau antri.
  • Sementara berlaku untuk akun perseorangan saja.
-/ 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:
Active Jobs detail.png
  • Buka menu Apps > Active Jobs
  • Ubah opsi All Jobs ke Your Jobs.
  • Klik simbol > pada job status pending dan lihat kolom Reason.
  • Arti reason lihat laman [Daftar Job Reason ALELEON]
-/ 7 /-
Lihat output file komputasi pada kolom Folder Contents
  • Atau dengan membuka menu Edit Files
Kolom Folder Contents
-/ 8 /-
Apabila user ingin menghentikan job yang berjalan, klik Stop
-/ 9 /-
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

---

6.2. 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.
    • GMB warning wololo.png Pastikan package jupyter dan jupyterlab telah terinstal.
  • 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 - 32
Amount of memory/RAM (GB)
Alokasi RAM dalam satuan GB, range 1 - 64
Number of GPUs (apabila pilih partition tilla)
Jumlah GPU, isi angka 1
Number of hours
Waktu maksimal sesi Jupyter, range 1 - 72
GMB warning wololo.png Apakah bisa menjalankan sesi Jupyter?
Form CPU, GPU, dan hours punya limit berdasarkan:

Untuk melihat limit:

  • Buka menu Apps > Aleleon Shell Access
  • Jalankan perintah:
$ sausage
  • Ketentuan sesi Jupyter dapat berjalan:
sisa CCH > number of CPU threads X number of hours
sisa GH > number of GPU X number of hours
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:
  • Apakah perlu memuat modul CUDA [ Subbab 4 ]?
  • Apabila butuh, isi form ini dengan nama modul CUDA.
- 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
---
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.
-/ 8 /-
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.
---

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

Kontributor

EFISON turut mengucapakan terima kasih spesial kepada:

  1. [Sadasa Aacademy] untuk pengujian semua tutorial di laman ini.