Komputasi Python dengan Conda Environment: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (→Mengaktifkan Conda Env dan Instalasi Package: memperbesar link instal package python) |
WilsonLisan (bicara | kontrib) (sesi jupyter menambah info limit) |
||
Baris 35: | Baris 35: | ||
!- Membuat conda env dengan Anaconda - | !- Membuat conda env dengan Anaconda - | ||
[[Berkas:Anaconda transparent logo.png|nirbing|90x90px]] | [[Berkas:Anaconda transparent logo.png|nirbing|90x90px]] | ||
|- | |- | ||
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!''''' | |[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!''''' | ||
Baris 131: | Baris 129: | ||
!- Membuat conda env dengan Mamba - | !- Membuat conda env dengan Mamba - | ||
[[Berkas:Mamba transparent logo.png|nirbing|90x90px]] | [[Berkas:Mamba transparent logo.png|nirbing|90x90px]] | ||
|- | |- | ||
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!''''' | |[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!''''' | ||
Baris 216: | Baris 212: | ||
{| class="wikitable" | {| class="wikitable" | ||
!Mengaktifkan Conda Environment | !Mengaktifkan Conda Environment | ||
|- | |- | ||
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!''''' | |[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!''''' | ||
Baris 286: | Baris 280: | ||
{| class="wikitable" | {| class="wikitable" | ||
!Mengecek Kelengkapan Package NVIDIA | !Mengecek Kelengkapan Package NVIDIA | ||
|- | |- | ||
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!''''' | |[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!''''' | ||
Baris 739: | Baris 731: | ||
* Perhatikan apakah perlu memuat modul CUDA? | * Perhatikan apakah perlu memuat modul CUDA? | ||
* Info detail lihat '''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Menjalankan_Package_Python_versi_GPU? Menjalankan Package Python Versi GPU?]] | * 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: | ** '''''Apabila butuh''''', isi nama modul CUDA sebagai berikut: | ||
... | ... | ||
Baris 890: | Baris 882: | ||
|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 | |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]]]''' | ||
Untuk melihat limit: | Untuk melihat limit: | ||
* Buka menu '''<code><big>Apps > Aleleon Shell Access</big></code>''' | |||
* Jalankan perintah: | |||
$ '''sausage''' | |||
$ ''' | * Ketentuan sesi Jupyter dapat berjalan: | ||
'''sisa CCH > number of CPU threads * number of hours | |||
* | sisa GH > number of GPU * number of hours''' | ||
*' | |||
|- | |- | ||
! | ! | ||
Baris 932: | Baris 922: | ||
* Perhatikan apakah perlu memuat modul CUDA? | * Perhatikan apakah perlu memuat modul CUDA? | ||
* Info detail lihat '''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Menjalankan_Package_Python_versi_GPU? Menjalankan Package Python Versi GPU?]] | * 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. | ** '''''Apabila butuh''''', isi form ini dengan nama modul CUDA. | ||
|- | |- |
Revisi per 11 Mei 2025 10.23
Halaman ini menjelaskan menjalankan komputasi / aplikasi Python dengan conda environment di ALELEON Supercomputer.
Laman ini merupakan bagian laman [Komputasi Python] |
---|
Langkah Menjalankan Komputasi
Terdapat tiga langkah utama:
- Buat conda environment untuk menampung instalasi package.
- Instal package Python yang diperlukan di conda env tersebut.
- Menggunakan conda env tersebut untuk menjalankan komputasi.
Spesifikasi
Tutorial ini memandu membuat conda environment dengan site-packages terisolasi di dalamnya.
Keterangan simbol perintah terminal | |
---|---|
$
|
Perintah ketika conda env tidak aktif |
(env)$
|
Perintah ketika conda env aktif |
Membuat Conda Environment
ALELEON Supercomputer menyediakan pilihan Python Package Manager (PPM) berikut untuk membuat conda environment. Pilih sesuai preferensi user:
- Anaconda: PPM Python paling banyak digunakan dimana saat ini menjadi standar industri.
- Mamba: PPM Python alternatif Anaconda versi open-source yang dikembangkan komunitas.
(klik expand / kembangkan)
- Membuat conda env dengan Anaconda - | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Menggunakan terminal!
| ||||||||||||||||||
1 | ||||||||||||||||||
Pilih dan aktifkan modul Anaconda untuk membuat conda env:
$ module load [nama-modul-anaconda]
| ||||||||||||||||||
2 | ||||||||||||||||||
![]()
Update 29 April 2025
| ||||||||||||||||||
3 | ||||||||||||||||||
Buat conda env dengan opsi: | ||||||||||||||||||
3A - Conda env kosong dengan Python 3 versi terbaru (3.13):
$ conda create -n [nama-conda-env] pip Contoh dengan nama 'skripsi' $ conda create -n skripsi pip | ||||||||||||||||||
3B - Conda env kosong dengan Python versi tertentu:
$ conda create -n [nama-conda-env] python=[versi] Contoh dengan Python 3.10 $ conda create -n skripsi python=3.10 | ||||||||||||||||||
Saran | ||||||||||||||||||
Pilih nama conda env yang mengandung unsur nama modul:
| ||||||||||||||||||
--- |
- Membuat conda env dengan Mamba - | ||||||||
---|---|---|---|---|---|---|---|---|
Menggunakan terminal!
| ||||||||
1 | ||||||||
Pilih dan aktifkan modul Mamba untuk membuat conda env:
$ module load [nama-modul-mamba]
| ||||||||
2 | ||||||||
![]()
Update 29 April 2025
| ||||||||
3 | ||||||||
Buat conda env dengan opsi: | ||||||||
3A - Conda env kosong dengan Python 3 versi terbaru (3.13):
$ mamba create -n [nama-conda-env] pip Contoh dengan nama 'skripsi' $ mamba create -n skripsi pip | ||||||||
3B - Conda env kosong dengan Python versi tertentu:
$ mamba create -n [nama-conda-env] python=[versi] Contoh dengan Python 3.10 $ mamba create -n skripsi python=3.10 | ||||||||
Saran | ||||||||
Pilih nama conda env yang mengandung unsur nama modul:
| ||||||||
--- |
Mengaktifkan 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.
Instalasi ini berjalan di login node sehingga tidak mengkonsumsi Core Hour.
Mengaktifkan Conda Environment |
---|
Menggunakan terminal!
|
1 |
Muat modul PPM yang digunakan untuk membuat conda env:
$ module load [Anaconda-atau-Mamba ....] |
2 |
Aktifkan conda env dengan perintah source :
$ source activate [nama-conda-env] Apabila lupa dengan nama conda env, cari dengan: $ conda env list |
3A |
Pilih panduan instalasi package yang dibutuhkan |
Lihat laman [Daftar Instalasi Package Python]
|
3B |
Khusus user yang membuat conda env dengan Mamba |
Untuk menggunakan sesi komputasi Jupyter, instal package:
(env)$ pip install jupyter jupyterlab |
4 |
Apabila hendak menonaktfkan conda env:
(env)$ conda deactivate |
Pilihan Menjalankan Komputasi
Berikut opsi menjalankan komputasi Python dengan conda env, pilih sesuai kebutuhan:
Jenis Komputasi | Berjalan di |
---|---|
[Batch job] | [Compute node]: |
[Sesi Jupyter]
|
[interactive node]: |
---
Menjalankan Package Python versi GPU?
Perhatikan hal berikut apabila user menginstal package Python versi CUDA dan hendak menggunakan compute / interactive node GPU:
- Package membutuhkan jenis dan versi library NVIDIA sesuai seperti CUDA, cuDNN untuk dapat berjalan di GPU NVIDIA.
- Umumnya (walau tidak semua) package Python CUDA saat ini juga menginstal package NVIDIA yang dibutuhkan.
- Berikut metode mengecek dan melengkapi library NVIDIA yang dibutuhkan package:
Mengecek Kelengkapan Package NVIDIA | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Menggunakan terminal!
| ||||||||||||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||||||||||||
[Aktifkan conda env] yang akan digunakan. | ||||||||||||||||||||||||||||||||||||
2 | ||||||||||||||||||||||||||||||||||||
Cek ketersediaan library CUDA di conda env tersebut:
- Apabila instal package dengan pip (env)$ pip list | grep cuda - Apabila instal package dengan conda (env)$ conda list | grep cuda | ||||||||||||||||||||||||||||||||||||
3A | ||||||||||||||||||||||||||||||||||||
Apabila ada output: | ||||||||||||||||||||||||||||||||||||
Conda env siap digunakan.
| ||||||||||||||||||||||||||||||||||||
3B | ||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||
User harus memuat modul CUDA dengan ketentuan:
| ||||||||||||||||||||||||||||||||||||
--- |
---
Batch Job
menjalankan script Python siap jalan yang tidak membutuhkan interaksi user melalui manajemen Slurm di [compute node].
Perhatikan file
.ipynb
harus dikonversi ke file.py
.- Tersedia dua pilihan tampilan yaitu terminal dan web EFIRO. Pilih sesuai keinginan.
(klik expand / kembangkan)
- Langkah Batch Job di Terminal - | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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: | ||||||||||||||
Pastikan package lengkap pada conda env yang akan digunakan:
Siapkan file komputasi yang dibutuhkan:
1 - Apabila conda env aktif, keluar: (env)$ conda deactivate 2 - Menonaktifkan 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: | ||||||||||||||||
Pastikan package lengkap pada conda env yang akan digunakan:
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:
| ||||||||||||||||
--- |
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 | |||||||||||||||||||||||||||||||||||||||||
Pilih Notebook Python 3 untuk memulai sesi notebook Python 3. | |||||||||||||||||||||||||||||||||||||||||
8 | |||||||||||||||||||||||||||||||||||||||||
User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:
| |||||||||||||||||||||||||||||||||||||||||
--- |
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