Komputasi Python dengan Conda Environment (Mandiri): Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (→Pilihan Menjalankan Komputasi: formatting) |
WilsonLisan (bicara | kontrib) (→0. Standar Kompetensi dan Spesifikasi: menghapus kata standar kompetensi) |
||
(15 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 | 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]]] | ||
|} | |} | ||
== ''''' | == '''''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 <code>$ '''ncdu $HOME'''</code> | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Keterangan simbol perintah terminal | |||
|- | |- | ||
!<code>'''<big>$</big>'''</code> | |||
|Perintah ketika conda env tidak aktif | |Perintah ketika conda env tidak aktif | ||
|- | |- | ||
!'''<code><big><sub>(env)</sub>$</big></code>''' | |||
|Perintah ketika conda env aktif | |Perintah ketika conda env aktif | ||
|} | |} | ||
== ''''' | == '''''1. Langkah Menjalankan Komputasi''''' == | ||
{| 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 | * '''<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 | * '''<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 | ||
|- | |||
{| class="wikitable | !<big>[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment_(Mandiri)#7._Pelaporan_Kendala_dan_Support <nowiki>[ 7 ]</nowiki>]</big> | ||
!- Membuat conda env | |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 40: | Baris 65: | ||
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | * ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | ||
|- | |- | ||
!<big>< | !<big><code>-/ 1 /-</code></big> | ||
|- | |- | ||
|Pilih dan aktifkan modul | |Pilih dan aktifkan modul PPM untuk membuat conda env: | ||
* ''Ingat atau catat modul | * ''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" | ||
| | ! colspan="3" |- Nama modul Anaconda3 - | ||
[[Berkas:Anaconda transparent logo.png|nirbing|100x100px]] | |||
|- | |||
!Versi | !Versi | ||
!Nama Modul | !Nama Modul | ||
Baris 73: | Baris 100: | ||
|<code>'''Anaconda3/2020.11'''</code> | |<code>'''Anaconda3/2020.11'''</code> | ||
|''3.8.5'' | |''3.8.5'' | ||
|- | |- | ||
! | ! colspan="3" |- Nama modul Mamba - | ||
[[Berkas:Mamba transparent logo.png|nirbing|90x90px]] | |||
|- | |- | ||
| | |23.11.0-0 | ||
|<code>'''Mamba/23.11.0-0'''</code> | |||
|''3.10.13'' | |||
'' | |||
| | |||
|} | |} | ||
|- | |- | ||
! | !Saran sebelum langkah 2 ... | ||
|- | |- | ||
|'' | |''Pilih nama conda env yang mengandung unsur nama modul:'' | ||
* ''Untuk mengingat modul yang digunakan.'' | |||
* ''Untuk mengingat modul yang digunakan | |||
* ''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> | |||
|- | |- | ||
! | !Buat conda env dengan opsi: | ||
|- | |- | ||
| | |'''<big>2A</big> -''' Conda env kosong dengan Python '''versi tertentu''', apabila: | ||
* | * Hendak melakukan instalasi salah satu package berikut: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+''Package Python dengan kebutuhan versi Python spesifik'' | ||
!Package | !Package | ||
!Versi Python | !Versi Python | ||
Baris 174: | Baris 138: | ||
|3.9 - 3.12 | |3.9 - 3.12 | ||
|} | |} | ||
''- Anaconda'' | |||
$ '''conda create -n ''[nama-conda-env]'' python=''[versi]''''' | |||
''- Mamba'' | |||
$ '''mamba create -n ''[nama-conda-env]'' python=''[versi]''''' | |||
$ '''mamba create -n ''[nama-conda-env]'' | |||
<small>''Contoh dengan | <small>''Contoh dengan Python 3.10''</small> | ||
<small>$ | <small>$ conda create -n '''skripsi python=3.10'''</small> | ||
|- | |- | ||
! | ! | ||
|- | |- | ||
|'''<big> | |'''<big>2B</big> -''' 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''' | |||
|- | |- | ||
! | ! | ||
|- | |- | ||
| | |'''<big>2C</big> -''' 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''''' == | ||
[[Berkas:GMB warning wololo.png|nirbing| | [[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. | ||
Langkah berikut berjalan di login node dan '''tidak mengkonsumsi Core Hour.''' | |||
{| class="wikitable" | {| class="wikitable" | ||
!Mengaktifkan Conda | !- Mengaktifkan dan Instalasi Package 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 217: | Baris 185: | ||
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | * ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | ||
|- | |- | ||
!<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 ''[ | $ '''module load ''[nama-modul-anaconda-atau-mamba]''''' | ||
|- | |- | ||
!<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 | |||
''- Apabila lupa nama conda env, cari dengan:'' | |||
$ '''conda env list''' | $ '''conda env list''' | ||
|- | |- | ||
!<big>< | !<big><code>-/ 3 /-</code></big> | ||
|- | |- | ||
|Lakukan instalasi package Python yang dibutuhkan: | |||
* Lihat laman '''<big>[<nowiki/>[[Daftar Instalasi Package Python|Dafta]]</big><big>[[Daftar Instalasi Package Python|r Instalasi Package Python]]]</big>''' | |||
|- | |- | ||
!<big>< | !<big><code>-/ 4 /-</code></big> | ||
|- | |- | ||
!Untuk user yang hendak menggunakan sesi Jupyter | !Untuk user yang hendak menggunakan sesi Jupyter | ||
[[Berkas:EOD Apps Jupyter | [[Berkas:EOD Apps Jupyter icon.png|nirbing|100x100px]] | ||
|- | |- | ||
|Instal package: | |Instal package: | ||
<sub>(env)</sub>$ '''pip install jupyter jupyterlab''' | <sub>(env)</sub>$ '''pip install jupyter jupyterlab''' | ||
|- | |- | ||
!<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 250: | Baris 223: | ||
|} | |} | ||
== ''''' | == '''''4. Instalasi Package Python versi CUDA?''''' == | ||
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" | ||
! | !- Melanjutkan langkah 5 di atas - | ||
|- | |- | ||
!<big><code>-/ 5 /-</code></big> | |||
|- | |- | ||
|Cek ketersediaan library CUDA di conda env: | |||
|Cek ketersediaan library CUDA di conda env | |||
- Apabila instal package dengan pip | - Apabila instal package dengan pip | ||
<sub>(env)</sub>$ '''pip list | | <sub>(env)</sub>$ '''pip list | awk /cuda/''' | ||
- Apabila instal package dengan conda | - Apabila instal package dengan conda | ||
<sub>(env)</sub>$ '''conda list | | <sub>(env)</sub>$ '''conda list | awk /cuda/''' | ||
|- | |- | ||
!''Ada output'' | |||
!'' | |||
|- | |- | ||
|Conda env siap digunakan. | |Conda env siap digunakan. | ||
Baris 328: | Baris 246: | ||
* User '''tidak perlu memuat modul CUDA.''' | * User '''tidak perlu memuat modul CUDA.''' | ||
|- | |- | ||
! | !''Tidak ada output'' | ||
|- | |- | ||
|User '''harus memuat modul CUDA''' ketika menjalankan job: | |||
* Perhatikan versi CUDA '''yang dibutuhkan''' package. | |||
|User '''harus memuat modul CUDA''' | * Langkah ada pada tutorial menjalankan komputasi. | ||
|} | |||
== '''''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" | ||
! | !- Menghapus cache conda dan package - | ||
|- | |- | ||
! | !<big><code>-/ 1 /-</code></big> | ||
|- | |- | ||
| | |Muat modul PPM yang digunakan untuk membuat conda env: | ||
$ '''module load ''[nama-modul-anaconda-atau-mamba]''''' | |||
|- | |- | ||
! | !<big><code>-/ 2 /-</code></big> | ||
|- | |- | ||
!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. | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!- Menghapus conda environment - | |||
|- | |- | ||
! | !<big><code>-/ 1 /-</code></big> | ||
|- | |- | ||
|Muat modul PPM yang digunakan untuk membuat conda env: | |||
$ '''module load ''[nama-modul-anaconda-atau-mamba]''''' | |||
|- | |- | ||
!<big><code>-/ 2 /-</code></big> | |||
|- | |- | ||
| | |Hapus conda env dengan: | ||
$ '''conda remove -n ''[nama-conda-env]'' --all''' | |||
|} | |||
| | |||
=== 5.3. Manajemen Conda Environment Lainnya === | |||
Berikut manajemen conda yang sekiranya berguna: | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!- 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''''' | |||
<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 tanpa interaksi user di '''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|Compute node]]]'''. | |||
*[[Berkas:GMB warning wololo.png|nirbing| | |||
*Tersedia | * [[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 410: | Baris 361: | ||
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | * ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | ||
|- | |- | ||
!<big>< | !<big><code>-/ 0 /-</code></big> | ||
|- | |- | ||
!Apakah bisa menjalankan job? | !Apakah bisa menjalankan job? | ||
Baris 417: | Baris 368: | ||
$ '''sausage''' | $ '''sausage''' | ||
* 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>< | !<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]] | '''<big>1C</big> -[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Memastikan batch job memuat conda env dengan benar:''' | ||
1 - | 1 - Nonaktifkan conda env di terminal apabila aktif: | ||
<small>(env)</small>$ '''conda deactivate''' | <small>(env)</small>$ '''conda deactivate''' | ||
2 - | 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> | |||
|- | |- | ||
!<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 520: | Baris 470: | ||
[[Berkas:GMB GPU icon.png|nirbing|100x100px]] | [[Berkas:GMB GPU icon.png|nirbing|100x100px]] | ||
|- | |- | ||
|[[Berkas:GMB warning wololo.png|nirbing| | |[[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>?''' | ||
*'''''Apabila butuh''''', isi nama modul CUDA pada script 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 601: | 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>< | !<big><code>-/ 2B /-</code></big> | ||
|- | |- | ||
|SBATCH komputasi (ntasks, mem, time, dll) '''punya limit''' berdasarkan: | |SBATCH komputasi (ntasks, mem, time, dll) '''punya limit''' berdasarkan: | ||
Baris 608: | Baris 593: | ||
Untuk melihat limit, jalankan perintah berikut: | Untuk melihat limit, jalankan perintah berikut: | ||
$ '''slimit-python''' | $ '''slimit-python''' | ||
[[Berkas:GMB warning wololo.png|nirbing| | [[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>< | !<big><code>-/ 3 /-</code></big> | ||
|- | |- | ||
|Jalankan job dengan perintah: | |Jalankan job dengan perintah: | ||
Baris 620: | Baris 605: | ||
$ sbatch submit.sh | $ sbatch submit.sh | ||
|- | |- | ||
!<big>< | !<big><code>-/ 4 /-</code></big> | ||
|- | |- | ||
|User dapat melihat status jalannya job dengan perintah: | |User dapat melihat status jalannya job dengan perintah: | ||
Baris 655: | Baris 640: | ||
|} | |} | ||
|- | |- | ||
!<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 661: | 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>< | !<big><code>-/ 6 /-</code></big> | ||
|- | |- | ||
|Apabila user ingin menghentikan job yang berjalan, jalankan perintah: | |Apabila user ingin menghentikan job yang berjalan, jalankan perintah: | ||
Baris 676: | Baris 661: | ||
[[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]] | [[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]] | ||
|- | |- | ||
!<big>< | !<big><code>-/ 0 /-</code></big> | ||
|- | |- | ||
!Apakah bisa menjalankan job? | !Apakah bisa menjalankan job? | ||
Baris 687: | Baris 672: | ||
$ '''sausage''' | $ '''sausage''' | ||
* 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>< | !<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>< | !<big><code>-/ 2 /-</code></big> | ||
|- | |- | ||
| | | | ||
Baris 707: | 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>< | !<big><code>-/ 3 /-</code></big> | ||
|- | |- | ||
!Buat ruang job untuk menjalankan komputasi: | !Buat ruang job untuk menjalankan komputasi: | ||
Baris 727: | Baris 711: | ||
[[Berkas:Jctemplate-2.png|nirbing]] | [[Berkas:Jctemplate-2.png|nirbing]] | ||
|- | |- | ||
!<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 743: | Baris 727: | ||
[[Berkas:JC job menu.png|nirbing|500x500px]] | [[Berkas:JC job menu.png|nirbing|500x500px]] | ||
|- | |- | ||
!<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 753: | Baris 737: | ||
! | ! | ||
|- | |- | ||
|[[Berkas:GMB warning wololo.png|nirbing| | |[[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: | |||
... | ... | ||
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 770: | 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>< | !<big><code>-/ 5B /-</code></big> | ||
|- | |- | ||
|SBATCH komputasi (ntasks, mem, time, dll) '''punya limit''' berdasarkan: | |SBATCH komputasi (ntasks, mem, time, dll) '''punya limit''' berdasarkan: | ||
Baris 777: | Baris 797: | ||
Untuk melihat limit, jalankan perintah berikut: | Untuk melihat limit, jalankan perintah berikut: | ||
$ '''slimit-python''' | $ '''slimit-python''' | ||
[[Berkas:GMB warning wololo.png|nirbing| | [[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>< | !<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>''' | ||
Baris 813: | Baris 833: | ||
! colspan="2" |'''Melihat alasan job yang queue:''' | ! colspan="2" |'''Melihat alasan job yang queue:''' | ||
|- | |- | ||
| colspan="2" |[[Berkas:Active Jobs detail.png| | | 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>< | !<big><code>-/ 7 /-</code></big> | ||
|- | |- | ||
|Lihat output file komputasi pada kolom '''Folder Contents''' | |Lihat output file komputasi pada kolom '''Folder Contents''' | ||
Baris 822: | 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>< | !<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>< | !<big><code>-/ 9 /-</code></big> | ||
|- | |- | ||
|Untuk menghapus ruang job dan datanya: | |Untuk menghapus ruang job dan datanya: | ||
Baris 837: | 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 845: | Baris 870: | ||
[[Berkas:Efiro jupyter display.png|400x400px]] | [[Berkas:Efiro jupyter display.png|400x400px]] | ||
|- | |- | ||
!<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>< | !<big><code>-/ 2 /-</code></big> | ||
|- | |- | ||
!Lakukan persiapan sebelum sesi Jupyter: | !Lakukan persiapan sebelum sesi Jupyter: | ||
Baris 859: | Baris 884: | ||
** Direktori standar sesi Jupyter adalah $HOME user. | ** Direktori standar sesi Jupyter adalah $HOME user. | ||
|- | |- | ||
!<big>< | !<big><code>-/ 3 /-</code></big> | ||
|- | |- | ||
| | | | ||
Baris 869: | Baris 894: | ||
|} | |} | ||
|- | |- | ||
!<big>< | !<big><code>-/ 4 /-</code></big> | ||
|- | |- | ||
|Isi formulir untuk memulai sesi Jupyter dengan panduan berikut: | |Isi formulir untuk memulai sesi Jupyter dengan panduan berikut: | ||
Baris 946: | Baris 971: | ||
|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| | |[[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: | |||
* Hubungi tim admin di '''''support@efisonlt.com''''' | |||
|- | |||
! colspan="2" |--- | |||
|} | |||
|- | |- | ||
! | ! | ||
Baris 973: | Baris 1.034: | ||
* | * | ||
|- | |- | ||
!<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 980: | Baris 1.041: | ||
[[Berkas:Jupyternotebookqueue.png|nirbing|500x500px]] | [[Berkas:Jupyternotebookqueue.png|nirbing|500x500px]] | ||
|- | |- | ||
!<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>''' | ||
Baris 988: | Baris 1.049: | ||
[[Berkas:Newjupyter120124.png|nirbing|500x500px]] | [[Berkas:Newjupyter120124.png|nirbing|500x500px]] | ||
|- | |- | ||
!<big>< | !<big><code>-/ 7 /-</code></big> | ||
|- | |- | ||
|Gunakan kernel '''Python 3 (ipykernel)''' untuk sesi Jupyter. | |Gunakan kernel '''Python 3 (ipykernel)''' untuk sesi Jupyter. | ||
|- | |- | ||
!<big>< | !<big><code>-/ 8 /-</code></big> | ||
|- | |- | ||
|'''Sesi Jupyter tidak terputus ketika:''' | |'''Sesi Jupyter tidak terputus ketika:''' | ||
Baris 1.007: | Baris 1.068: | ||
!--- | !--- | ||
|} | |} | ||
=='''''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. | ||
Revisi terkini sejak 4 Juli 2025 02.48
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
- Pantau konsumsi storage HOME dengan perintah
$
|
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 - | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Menggunakan terminal!
| |||||||||||||||||||||||||||
-/ 1 /-
| |||||||||||||||||||||||||||
Pilih dan aktifkan modul PPM untuk membuat conda env:
$ module load [nama-modul-anaconda-atau-mamba]
| |||||||||||||||||||||||||||
Saran sebelum langkah 2 ... | |||||||||||||||||||||||||||
Pilih nama conda env yang mengandung unsur nama modul:
| |||||||||||||||||||||||||||
-/ 2 /-
| |||||||||||||||||||||||||||
Buat conda env dengan opsi: | |||||||||||||||||||||||||||
2A - Conda env kosong dengan Python versi tertentu, apabila:
- 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.
- 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
- Anaconda $ conda create -f [nama-file-yml].yml - Mamba $ mamba create -f [nama-file-yml].yml | |||||||||||||||||||||||||||
--- |
3. Aktivasi Conda Env dan Instalasi Package
Ada baiknya user melengkapi instalasi package sebelum menjalankan komputasi karena:
- Batch job -> supaya script Python berjalan tanpa error missing package.
- Sesi Jupyter -> untuk efisiensi penggunaan karena terkadang ada package yang membutuhkan waktu lama untuk instalasi.
Langkah berikut berjalan di login node dan tidak mengkonsumsi Core Hour.
- Mengaktifkan dan Instalasi Package Conda Env - |
---|
Menggunakan terminal!
|
-/ 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 |
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:
- Package membutuhkan jenis dan versi library NVIDIA sesuai seperti CUDA, cuDNN untuk dapat berjalan di GPU NVIDIA.
- Umumnya (walau tidak semua) package Python CUDA saat ini juga menginstal package NVIDIA yang dibutuhkan.
- Berikut metode mengecek dan melengkapi library NVIDIA yang dibutuhkan package:
- 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.
|
Tidak ada output |
User harus memuat modul CUDA ketika menjalankan job:
|
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].
- 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].
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 - | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tutorial ini mengasumsikan user familiar dengan terminal Linux | |||||||||||||||||||||||||||
Menggunakan terminal!
| |||||||||||||||||||||||||||
-/ 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:
1B - Siapkan file komputasi yang dibutuhkan:
1C - 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:
$ nano submit.sh atau vim | |||||||||||||||||||||||||||
Contoh template Submit Script:
| |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
-/ 2B /-
| |||||||||||||||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) punya limit berdasarkan:
Untuk melihat limit, jalankan perintah berikut: $ slimit-python
| |||||||||||||||||||||||||||
-/ 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
| |||||||||||||||||||||||||||
-/ 5 /-
| |||||||||||||||||||||||||||
User dapat memantau file output dengan perintah Unix seperti:
| |||||||||||||||||||||||||||
-/ 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 - | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
-/ 0 /-
| ||||||||||||||||||||||||
Apakah bisa menjalankan job? | ||||||||||||||||||||||||
User dengan Kredit Core Hour disarankan cek kuota terlebih dulu:
$ sausage
| ||||||||||||||||||||||||
-/ 1 /-
| ||||||||||||||||||||||||
[Login ke web EFIRO] ALELEON Supercomputer. | ||||||||||||||||||||||||
-/ 2 /-
| ||||||||||||||||||||||||
| ||||||||||||||||||||||||
![]() New Job > From Template
| ||||||||||||||||||||||||
-/ 3 /-
| ||||||||||||||||||||||||
Buat ruang job untuk menjalankan komputasi: | ||||||||||||||||||||||||
Create New Job
| ||||||||||||||||||||||||
-/ 4 /-
| ||||||||||||||||||||||||
Lakukan persiapan: | ||||||||||||||||||||||||
4A - Pastikan package lengkap pada conda env yang akan digunakan:
4B - Siapkan file komputasi yang dibutuhkan di ruang job:
| ||||||||||||||||||||||||
-/ 5A /-
| ||||||||||||||||||||||||
Lengkapi Submit Script melalui tombol Open Editor
| ||||||||||||||||||||||||
![]()
... module load ${PM} module load [Nama-modul-CUDA] ...
| ||||||||||||||||||||||||
| ||||||||||||||||||||||||
-/ 5B /-
| ||||||||||||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) punya limit berdasarkan:
Untuk melihat limit, jalankan perintah berikut: $ slimit-python
| ||||||||||||||||||||||||
-/ 6 /-
| ||||||||||||||||||||||||
Jalankan job dengan klik tombol Submit
| ||||||||||||||||||||||||
-/ 7 /-
| ||||||||||||||||||||||||
Lihat output file komputasi pada kolom Folder Contents
| ||||||||||||||||||||||||
-/ 8 /-
| ||||||||||||||||||||||||
Apabila user ingin menghentikan job yang berjalan, klik Stop
| ||||||||||||||||||||||||
-/ 9 /-
| ||||||||||||||||||||||||
Untuk menghapus ruang job dan datanya:
| ||||||||||||||||||||||||
--- |
6.2. Sesi Jupyter
Menjalankan sesi interaktif Jupyter Lab atau Notebook di [interactive node].
(klik expand / kembangkan)
- Langkah Sesi Jupyter - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
-/ 1 /-
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[Login ke web EFIRO] ALELEON Supercomputer. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-/ 2 /-
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lakukan persiapan sebelum sesi Jupyter: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Untuk efisiensi sesi terkait batasan waktu dan konsumsi Core Hour:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-/ 3 /-
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-/ 4 /-
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Isi formulir untuk memulai sesi Jupyter dengan panduan berikut:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-/ 5 /-
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Klik tombol Launch untuk memulai sesi Jupyter:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-/ 6 /-
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apabila status Running, klik tombol Connect to Jupyter
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-/ 7 /-
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gunakan kernel Python 3 (ipykernel) untuk sesi Jupyter. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-/ 8 /-
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sesi Jupyter tidak terputus ketika:
User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
--- |
7. Pelaporan Kendala dan Support
Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini.
Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email:
support@efisonlt.com
Kontributor
EFISON turut mengucapakan terima kasih spesial kepada:
- [Sadasa Aacademy] untuk pengujian semua tutorial di laman ini.