Komputasi Python dengan Conda Environment: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (→Pilihan Menjalankan Komputasi: memberikan link CUDA GPU) |
WilsonLisan (bicara | kontrib) (→Batch Job: menambah step persiapan sebelum job) |
||
Baris 363: | Baris 363: | ||
!Lakukan persiapan sebelum batch job: | !Lakukan persiapan sebelum batch job: | ||
|- | |- | ||
| | |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. | ||
Baris 592: | Baris 592: | ||
!<big>1</big> | !<big>1</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>2</big> | ||
|- | |||
!Lakukan persiapan sebelum batch job: | |||
|- | |||
|Pastikan package lengkap pada conda env yang akan digunakan. | |||
* Package tidak lengkap akan menyebabkan job gagal berjalan. | |||
|- | |||
|Upload file komputasi lihat langkah 5. | |||
|- | |||
!<big>3</big> | |||
|- | |- | ||
|[[Berkas:EOD Apps Job Composer full.png|nirbing|126x126px]]Buka pinned apps '''<code><big>Job Composer</big></code>''' di homepage EFIRO. | |[[Berkas:EOD Apps Job Composer full.png|nirbing|126x126px]]Buka pinned apps '''<code><big>Job Composer</big></code>''' di homepage EFIRO. | ||
Baris 601: | Baris 611: | ||
[[Berkas:Jcnewjobmarked.png|nirbing|180x180px]] | [[Berkas:Jcnewjobmarked.png|nirbing|180x180px]] | ||
|- | |- | ||
!<big> | !<big>4</big> | ||
|- | |||
!Pilih template Anaconda Python yang diinginkan: | |||
|- | |- | ||
| | | | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Daftar Template Anaconda Python | |||
|- | |- | ||
!Nama Template | !Nama Template | ||
Baris 619: | Baris 631: | ||
[[Berkas:Jctemplate-2.png|nirbing]] | [[Berkas:Jctemplate-2.png|nirbing]] | ||
|- | |- | ||
!<big> | !<big>5</big> | ||
|- | |- | ||
|Siapkan file komputasi | |Siapkan file komputasi yang dibutuhkan: | ||
*Upload / download / edit file via menu <code>'''<big>Edit Files</big>'''</code> | *Upload / download / edit file via menu <code>'''<big>Edit Files</big>'''</code> | ||
*Akses terminal | *Akses terminal via menu '''<code><big>Open Terminal</big></code>''' | ||
[[Berkas:JC job menu.png|nirbing|500x500px]] | [[Berkas:JC job menu.png|nirbing|500x500px]] | ||
|- | |- | ||
!<big> | !<big>6A</big> | ||
|- | |- | ||
|Lengkapi '''Submit Script''' melalui tombol '''<code><big>Open Editor</big></code>''' | |Lengkapi '''Submit Script''' melalui tombol '''<code><big>Open Editor</big></code>''' | ||
*Submit script adalah 'formulir' untuk menjalankan job komputasi. | *Submit script adalah 'formulir' untuk menjalankan job komputasi. | ||
*Ikuti petunjuk NOTES dan alur script didalamnya. | |||
* | *Klik '''<code><big>Save</big></code>''' setiap kali mengubah script. | ||
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]] | [[Berkas:Jceditor3.png|al=|nirbing|400x400px]] | ||
|- | |- | ||
Baris 645: | Baris 657: | ||
*''<small>Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM '''Slurm Jojo'''].</small>'' | *''<small>Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM '''Slurm Jojo'''].</small>'' | ||
|- | |- | ||
!<big> | !<big>6B</big> | ||
|- | |- | ||
|SBATCH komputasi (ntasks, mem, time, dll) '''mempunyai limit''' berdasarkan: | |SBATCH komputasi (ntasks, mem, time, dll) '''mempunyai limit''' berdasarkan: | ||
Baris 653: | Baris 665: | ||
'''$ slimit-python''' | '''$ slimit-python''' | ||
|- | |- | ||
!<big> | !<big>7</big> | ||
|- | |- | ||
|Jalankan job dengan klik tombol '''<code><big>Submit</big></code>'''. | |Jalankan job dengan klik tombol '''<code><big>Submit</big></code>'''. | ||
Baris 682: | Baris 694: | ||
|} | |} | ||
|- | |- | ||
! | !8 | ||
|- | |- | ||
|Lihat output file komputasi pada kolom '''<code>Folder Contents</code>''' | |Lihat output file komputasi pada kolom '''<code>Folder Contents</code>''' | ||
Baris 688: | Baris 700: | ||
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>'''.'']] | [[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>'''.'']] | ||
|- | |- | ||
!<big> | !<big>9</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>10</big> | ||
|- | |- | ||
|Untuk menghapus ruang job dan datanya: | |Untuk menghapus ruang job dan datanya: | ||
Baris 716: | Baris 728: | ||
!Lakukan persiapan sebelum sesi Jupyter: | !Lakukan persiapan sebelum sesi Jupyter: | ||
|- | |- | ||
|User PPM '''Mamba''' | |User PPM '''Mamba''' harus instal '''package Jupyter:''' | ||
# Muat modul Mamba yang digunakan untuk membuat conda env. | |||
# Aktifkan conda env yang akan digunakan. | |||
# Instal package Jupyter: | |||
<sub>(env)</sub>$ '''pip install jupyter jupyterlab''' | |||
|- | |- | ||
|Untuk efisiensi sesi terkait batasan waktu dan konsumsi Core Hour: | |Untuk efisiensi sesi terkait batasan waktu dan konsumsi Core Hour: |
Revisi per 30 April 2025 11.28
Halaman ini menjelaskan menjalankan komputasi / aplikasi Python dengan conda environment di ALELEON Supercomputer.
Laman ini merupakan bagian laman -> Komputasi Python |
---|
Wololo!
Perhatikan halaman ini sedang dalam proses revisi penulisan. User disarankan untuk kembali mereferensi halaman ini setelah pesan ini hilang. Terima kasih untuk bersedia menunggu dan mohon maaf atas ketidaknyamanannya.
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:
- Membuat conda env dengan Anaconda - | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
0 | ||||||||||||||||||
Menggunakan terminal!
| ||||||||||||||||||
1 | ||||||||||||||||||
Pilih dan aktifkan modul Anaconda untuk membuat conda env:
$ module load [nama-modul-anaconda]
| ||||||||||||||||||
2 | ||||||||||||||||||
![]()
| ||||||||||||||||||
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 - | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
0 | ||||||||
Menggunakan terminal!
| ||||||||
1 | ||||||||
Pilih dan aktifkan modul Mamba untuk membuat conda env:
$ module load [nama-modul-mamba]
| ||||||||
2 | ||||||||
![]()
| ||||||||
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 |
---|
0 |
Menggunakan terminal!
|
1 |
Muat modul PPM yang digunakan untuk membuat conda env
$ module load [Anaconda-atau-Mamba ....] Apabila lupa dengan nama conda env, cari dengan:
|
2 |
Aktifkan conda env dengan perintah source:
$ source activate [nama-conda-env] |
3 |
Pilih panduan instalasi package yang dibutuhkan |
Lihat laman wiki [Daftar Instalasi Package Python].
|
4 |
Apabila hendak menonaktfkan conda env:
(env)$ conda deactivate |
Pilihan Menjalankan Komputasi
Berikut opsi menjalankan komputasi Python dengan conda env, pilih sesuai kebutuhan:
- [Batch job] -> menjalankan script Python siap jalan yang tidak membutuhkan interaksi user melalui manajemen Slurm di [compute node].
- [Sesi Jupyter] -> menjalankan sesi interaktif Jupyter Lab atau Notebook di [interactive node].
---
Menjalankan Package Python versi GPU?
Terdapat hal yang perlu diperhatikan apabila user menginstal package Python versi CUDA dan hendak menjalankan conda env dengan GPU:
- Package membutuhkan tipe dan versi library NVIDIA sesuai seperti CUDA, cuDNN untuk dapat berjalan di GPU NVIDIA.
- Terdapat dua metode untuk melengkapi library NVIDIA yang dibutuhkan package ini:
---
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 - | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Menggunakan terminal!
| ||||||||||||||
1 | ||||||||||||||
Lakukan persiapan sebelum batch job: | ||||||||||||||
Pastikan package lengkap pada conda env yang akan digunakan.
| ||||||||||||||
Apabila butuh upload file untuk job:
| ||||||||||||||
2A | ||||||||||||||
Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi.
| ||||||||||||||
Contoh template Submit Script
| ||||||||||||||
| ||||||||||||||
| ||||||||||||||
2B | ||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
Untuk melihat limit, jalankan perintah: $ slimit-python | ||||||||||||||
3 | ||||||||||||||
Jalankan job komputasi dengan perintah:
$ sbatch [nama-submit-script] Contoh: $ sbatch submit.sh | ||||||||||||||
4 | ||||||||||||||
User dapat melihat status jalannya job dengan perintah:
$ squeue -ul $USER
| ||||||||||||||
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 - | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||
[Login ke web EFIRO] ALELEON Supercomputer. | ||||||||||||||
2 | ||||||||||||||
Lakukan persiapan sebelum batch job: | ||||||||||||||
Pastikan package lengkap pada conda env yang akan digunakan.
| ||||||||||||||
Upload file komputasi lihat langkah 5. | ||||||||||||||
3 | ||||||||||||||
![]() Job Composer di homepage EFIRO.
Pilih menu | ||||||||||||||
4 | ||||||||||||||
Pilih template Anaconda Python yang diinginkan: | ||||||||||||||
Job Name dan klik Create New Job
| ||||||||||||||
5 | ||||||||||||||
Siapkan file komputasi yang dibutuhkan:
| ||||||||||||||
6A | ||||||||||||||
Lengkapi Submit Script melalui tombol Open Editor
| ||||||||||||||
![]()
| ||||||||||||||
| ||||||||||||||
6B | ||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
Untuk melihat limit, jalankan perintah ini via menu $ slimit-python | ||||||||||||||
7 | ||||||||||||||
Jalankan job dengan klik tombol Submit .
| ||||||||||||||
8 | ||||||||||||||
Lihat output file komputasi pada kolom Folder Contents
| ||||||||||||||
9 | ||||||||||||||
Apabila user ingin menghentikan job yang berjalan, klik Stop .
| ||||||||||||||
10 | ||||||||||||||
Untuk menghapus ruang job dan datanya:
| ||||||||||||||
--- |
Sesi Jupyter
Menjalankan sesi interaktif Jupyter Lab atau Notebook di [interactive node].
- Langkah Sesi Jupyter - | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | |||||||||||||||||||||||||||||||||||||||||
Login ke web EFIRO ALELEON Supercomputer. | |||||||||||||||||||||||||||||||||||||||||
2 | |||||||||||||||||||||||||||||||||||||||||
Lakukan persiapan sebelum sesi Jupyter: | |||||||||||||||||||||||||||||||||||||||||
User PPM Mamba harus instal package Jupyter:
(env)$ pip install jupyter jupyterlab | |||||||||||||||||||||||||||||||||||||||||
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