Komputasi Python dengan Conda Environment: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (tes formatting) |
WilsonLisan (bicara | kontrib) (→Batch Job: fix formatting) |
||
(36 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 Python dengan '''conda environment''' di ALELEON Supercomputer. | Halaman ini menjelaskan menjalankan komputasi / aplikasi Python dengan '''conda environment''' di ALELEON Supercomputer. | ||
{| class="wikitable" | {| class="wikitable" | ||
!''Laman ini merupakan bagian laman | !''Laman ini merupakan bagian laman'' [<nowiki/>[[Komputasi Python]]] | ||
|} | |} | ||
== '''Langkah Menjalankan Komputasi''' == | == '''''Langkah Menjalankan Komputasi''''' == | ||
Terdapat | 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'''. | |||
{| class="wikitable" | {| class="wikitable" | ||
! colspan="2" |Keterangan simbol perintah terminal | |||
|- | |- | ||
|<code>'''<big>$</big>'''</code> | |||
|Perintah ketika conda env tidak aktif | |||
|- | |- | ||
| | |'''<code><big><sub>(env)</sub>$</big></code>''' | ||
|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. | ||
''<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" | ||
! | !- Membuat conda env dengan Anaconda - | ||
[[Berkas:Anaconda transparent logo.png|nirbing|90x90px]] | [[Berkas:Anaconda transparent logo.png|nirbing|90x90px]] | ||
|- | |- | ||
!1 | !<big>0</big> | ||
|- | |||
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''Menggunakan terminal!''' | |||
* User EFIRO klik app '''<code>Aleleon Shell Access</code>''' | |||
* ''atau'' menu '''<code>Apps > Aleleon Shell Access</code>''' | |||
|- | |||
!<big>1</big> | |||
|- | |- | ||
|Pilih dan aktifkan modul Anaconda untuk membuat conda env: | |Pilih dan aktifkan modul Anaconda untuk membuat conda env: | ||
* ''Ingat atau catat modul Anaconda yang dipakai.'' | |||
* ''Kedepannya digunakan untuk mengaktifkan conda env ini.'' | |||
$ '''module load ''[nama-modul-anaconda]''''' | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Daftar nama modul Anaconda 3 | |+Daftar nama modul Anaconda 3 | ||
Baris 74: | Baris 77: | ||
|} | |} | ||
|- | |- | ||
! 2 | !<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 | |||
!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> | |||
< | |||
|- | |- | ||
! | !Buat conda env dengan opsi: | ||
|- | |- | ||
| | |'''<big>3A</big> -''' Conda env kosong dengan Python 3 versi terbaru '''(3.13)''': | ||
$ '''conda create -n ''[nama-conda-env]'' pip''' | |||
''' | |||
'''-''' | <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'' | |||
* ''Gunakan nama conda env seperti <code>'''A2024-skripsi'''</code>'' | |||
|- | |- | ||
!--- | !--- | ||
Baris 115: | Baris 129: | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! | !- Membuat conda env dengan Mamba - | ||
[[Berkas:Mamba transparent logo.png|nirbing|90x90px]] | [[Berkas:Mamba transparent logo.png|nirbing|90x90px]] | ||
|- | |- | ||
!1 | !<big>0</big> | ||
|- | |||
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''Menggunakan terminal!''' | |||
* 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: | |Pilih dan aktifkan modul Mamba untuk membuat conda env: | ||
* ''Ingat atau catat modul Mamba yang dipakai.'' | |||
* ''Kedepannya digunakan untuk mengaktifkan conda env ini.'' | |||
$ '''module load ''[nama-modul-mamba]''''' | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Daftar nama modul Mamba | |+Daftar nama modul Mamba | ||
Baris 133: | Baris 157: | ||
|} | |} | ||
|- | |- | ||
!2 | !<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 | |||
!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> | |||
< | |||
|- | |- | ||
! | !Buat conda env dengan opsi: | ||
|- | |- | ||
| | |'''<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>$ mamba create -n '''skripsi''' pip</small> | ||
|- | |||
! | |||
|- | |||
|'''<big>3B</big> -''' Conda env kosong dengan Python versi tertentu: | |||
$ '''mamba create -n ''[nama-conda-env]'' python=''[versi]''''' | |||
<small>''Contoh dengan Python 3.10''</small> | |||
''' | <small>$ mamba 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 Mamba/23.11.0-0'' | |||
* ''Gunakan nama conda env seperti <code>'''M23-skripsi'''</code>'' | |||
|- | |- | ||
!--- | !--- | ||
|} | |} | ||
== '''''Mengaktifkan 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|50x50px]] ''' | |||
# | # 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.''' | |||
{| class="wikitable" | {| class="wikitable" | ||
! | !Mengaktifkan Conda Environment | ||
|- | |- | ||
!<big>0</big> | |||
|- | |- | ||
! | |[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''Menggunakan terminal!''' | ||
* User EFIRO klik app '''<code>Aleleon Shell Access</code>''' | |||
* ''atau'' menu '''<code>Apps > Aleleon Shell Access</code>''' | |||
|- | |- | ||
!<big>1</big> | |||
|- | |- | ||
|Muat modul PPM yang digunakan untuk membuat conda env: | |||
$ '''module load ''[Anaconda-atau-Mamba ....]''''' | |||
Apabila lupa dengan nama conda env, cari dengan: | |||
<code>$ '''conda env list'''</code> | |||
|- | |- | ||
!<big>2</big> | |||
|- | |- | ||
| | |Aktifkan conda env dengan perintah '''<big><code>source</code></big>''': | ||
$ '''source activate ''[nama-conda-env]''''' | |||
|- | |- | ||
! | !<big>3</big> | ||
< | |||
|- | |- | ||
!''Pilih panduan instalasi package yang dibutuhkan'' | |||
|- | |- | ||
|Lihat laman wiki '''[<nowiki/>[[Daftar Instalasi Package Python]]]'''. | |||
* ''<small>Halaman terpisah karena daftar terlalu panjang</small> ._.'' | |||
|- | |- | ||
!<big>4</big> | |||
|- | |- | ||
|Apabila hendak menonaktfkan conda env: | |||
<sub>(env)</sub>$ '''conda deactivate''' | |||
|} | |} | ||
== '''''Pilihan Menjalankan Komputasi''''' == | |||
Berikut opsi menjalankan komputasi Python dengan conda env, pilih sesuai kebutuhan: | |||
[[ | |||
# '''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Batch_Job 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]]].''' | |||
# '''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Sesi_Jupyter Sesi Jupyter]]''' -> menjalankan sesi interaktif Jupyter Lab atau Notebook di '''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Interactive%20Node|interactive node]]].''' | |||
===Apakah Bisa Menjalankan Job?=== | |||
Bagi akun yang berjalan dengan '''kredit Core Hour''' seperti akun perseorangan, ada baiknya untuk memantau sisa Core Hour sebelum menjalankan job: | |||
{| class="wikitable" | |||
!Memantau Sisa Core Hour | |||
|- | |- | ||
!<big>0</big> | |||
|- | |- | ||
! | |[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''Menggunakan terminal!''' | ||
* User EFIRO klik app '''<code>Aleleon Shell Access</code>''' | |||
* ''atau'' menu '''<code>Apps > Aleleon Shell Access</code>''' | |||
|- | |- | ||
!<big>1A</big> | |||
|- | |- | ||
| | |Untuk akun perseorangan, jalankan perintah: | ||
$ '''sausage''' | |||
''Untuk akun institusi dengan kredit Core Hour, ikuti petunjuk admin.'' | |||
|- | |- | ||
! | !<big>1B</big> | ||
|- | |- | ||
| | |Untuk mengetahui limit alokasi komputasi job user: | ||
* | *Langkah batch job terminal, lihat step '''2B.''' | ||
* | *Langkah batch job EFIRO Job Composer, lihat step '''5B.''' | ||
|- | |- | ||
! | !'''<big>2</big>''' | ||
|- | |- | ||
| | |Apabila butuh beli kredit Core Hour, lihat '''[[https://wiki.efisonlt.com/wiki/Core_Hour#Penggunaan_Kredit_Core_Hour top up Kredit Core Hour]]''' | ||
|- | |- | ||
| GPU | ! --- | ||
|}--- | |||
=== '''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: | |||
{| class="wikitable" | |||
!Mengecek Kelengkapan Package NVIDIA | |||
|- | |- | ||
!<big>0</big> | |||
|- | |- | ||
| | |[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''Menggunakan terminal!''' | ||
* 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''' | |||
- Apabila instal package dengan conda | - Apabila instal package dengan conda | ||
<sub>(env)</sub>$ '''conda list | grep cuda''' | |||
|- | |||
!<big>3A</big> | |||
|- | |||
!''Apabila ada output:'' | |||
|- | |- | ||
|Conda env siap digunakan. | |||
* User '''tidak perlu memuat modul CUDA.''' | |||
|- | |- | ||
!<big>3B</big> | |||
|- | |- | ||
![[Berkas:GMB warning wololo.png|nirbing|50x50px]] Apabila tidak ada output | ![[Berkas:GMB warning wololo.png|nirbing|50x50px]] ''Apabila tidak ada output:'' | ||
|- | |- | ||
|User '''harus memuat modul CUDA''' dengan ketentuan: | |User '''harus memuat modul CUDA''' dengan ketentuan: | ||
# Perhatikan versi CUDA yang dibutuhkan. | # Perhatikan versi CUDA '''yang dibutuhkan package'''. | ||
# Lihat dokumentasi package tersebut. | # Lihat dokumentasi package tersebut. | ||
''<small><code>(klik expand / kembangkan)</code></small>'' | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! colspan="2" | | ! colspan="2" |- Tutorial memuat dan daftar modul CUDA - | ||
[[Berkas:Logo CUDA ALELEON tp.png|nirbing|150x150px]] | [[Berkas:Logo CUDA ALELEON tp.png|nirbing|150x150px]] | ||
|- | |- | ||
! colspan="2" |'''Opsi Komputasi Batch Job''' | |||
|- | |||
| colspan="2" |Tambah perintah berikut pada submit script: | |||
... | ... | ||
# Memuat modul | # Memuat modul | ||
module load ${PM} | module load ${PM} | ||
'''module load ''[ | '''module load ''[Nama-modul-CUDA]''''' | ||
... | ... | ||
|- | |- | ||
! colspan="2" | | ! colspan="2" |'''Opsi Komputasi Jupyter''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" |Isi nama modul pada kolom '''Software Modules''' | ||
|- | |- | ||
! colspan="2" | | ! colspan="2" | | ||
|- | |||
! colspan="2" |DAFTAR MODUL CUDA ALELEON | |||
|- | |- | ||
!Versi CUDA | !Versi CUDA | ||
Baris 359: | Baris 380: | ||
| colspan="2" |Permintaan instalasi CUDA versi lain: | | colspan="2" |Permintaan instalasi CUDA versi lain: | ||
* Hubungi tim admin di '''''support@efisonlt.com''''' | * Hubungi tim admin di '''''support@efisonlt.com''''' | ||
|- | |- | ||
! colspan="2" |--- | ! colspan="2" |--- | ||
Baris 367: | Baris 387: | ||
!--- | !--- | ||
|} | |} | ||
--- | |||
=== Batch Job === | === 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]]].''' | |||
*[[Berkas:GMB warning wololo.png|nirbing|50x50px]]Perhatikan | *[[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. | *Tersedia dua pilihan tampilan yaitu terminal dan web EFIRO. Pilih sesuai keinginan. | ||
''<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" | ||
! | !- Langkah Batch Job di Terminal - | ||
[[Berkas:Sbatch terminal display rev2.png|tepi|400x400px]] | [[Berkas:Sbatch terminal display rev2.png|tepi|400x400px]] | ||
|- | |- | ||
| | !''Tutorial ini mengasumsikan user familiar dengan terminal Linux'' | ||
*User | |- | ||
!<big>0</big> | |||
|- | |||
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''Menggunakan terminal!''' | |||
* User EFIRO klik app '''<code>Aleleon Shell Access</code>''' | |||
* ''atau'' menu '''<code>Apps > Aleleon Shell Access</code>''' | |||
|- | |||
!<big>1</big> | |||
|- | |- | ||
! | !Lakukan persiapan: | ||
|- | |- | ||
| | |'''Pastikan package lengkap pada conda env yang akan digunakan:''' | ||
* | * Package tidak lengkap akan menyebabkan job gagal berjalan. | ||
'''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]]''' | |||
|- | |- | ||
!2A | !<big>2A</big> | ||
|- | |- | ||
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi | |Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi: | ||
*Nama file bebas dengan format .'''<code>sh</code>''' | *Nama file bebas dengan format .sh, contoh '''<code>submit.sh</code>''' | ||
*''Biasanya submit script berada satu folder dengan file komputasi.'' | |||
$ '''nano submit.sh''' | |||
''<small>atau vim</small>'' | |||
|- | |- | ||
! | ! | ||
|- | |- | ||
|Contoh template Submit Script | |Contoh template Submit Script: | ||
*Ikuti petunjuk '''NOTES dan alur script''' di dalamnya. | *Ikuti petunjuk '''NOTES dan alur script''' di dalamnya. | ||
''<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" | ||
! | !- Template submit script Conda Environment versi CPU - | ||
[[Berkas:GMB CPU icon.png|nirbing|80x80px]] | [[Berkas:GMB CPU icon.png|nirbing|80x80px]] | ||
|- | |- | ||
Baris 463: | Baris 493: | ||
| | | | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! | !- Template submit script conda environment versi GPU - | ||
[[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|50x50px]]'''Note:''' | ||
* 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# | * 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 [Nama-modul-CUDA]''''' | |||
... | |||
|- | |- | ||
|<syntaxhighlight lang="bash" line="1"> | |<syntaxhighlight lang="bash" line="1"> | ||
Baris 534: | Baris 569: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|} | |} | ||
|- | |||
! | |||
|- | |- | ||
| | | | ||
*''<small>Info script lebih detail lihat | *''<small>Info script lebih detail lihat '''[<nowiki/>[[Submit Script ALELEON Supercomputer]]]'''</small>'' | ||
*''<small>Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM | |||
*''<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>'' | |||
|- | |- | ||
!2B | !<big>2B</big> | ||
|- | |- | ||
| | |SBATCH komputasi (ntasks, mem, time, dll) '''punya limit''' berdasarkan: | ||
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer| | *Sisa Core Hour user dan '''[<nowiki/>[[Limitasi Fair Usage ALELEON Supercomputer|Fair Usage Limit]]]''' | ||
*Spesifikasi sistem dan software komputasi. | *Spesifikasi sistem dan software komputasi. | ||
Untuk melihat limit, jalankan perintah: | Untuk melihat limit, jalankan perintah berikut: | ||
''' | $ '''slimit-python''' | ||
[[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Note untuk saat ini:''' | |||
*''Jalankan ketika tidak ada job user yang berjalan atau antri.'' | |||
*''Sementara berlaku untuk akun perseorangan saja.'' | |||
|- | |- | ||
!3 | !<big>3</big> | ||
|- | |- | ||
|Jalankan job | |Jalankan job dengan perintah: | ||
$ '''sbatch ''[nama-submit-script]''''' | $ '''sbatch ''[nama-submit-script]''''' | ||
''Contoh:'' | |||
$ sbatch submit.sh | $ sbatch submit.sh | ||
|- | |- | ||
!4 | !<big>4</big> | ||
|- | |- | ||
|User dapat melihat status jalannya job dengan perintah: | |User dapat melihat status jalannya job dengan perintah: | ||
''' | $ '''squeue -ul $USER''' | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Kolom ST atau STATE menunjukkan status jalannya job: | |||
|- | |- | ||
!STATE | !STATE | ||
!Penjelasan | !Penjelasan | ||
|- | |- | ||
|R (RUN) | |<code>R (RUN)</code> | ||
|Job berjalan | |Job berjalan | ||
|- | |- | ||
|PD (PENDING) | |<code>PD (PENDING)</code> | ||
|Job tertahan, lihat [[Daftar Reason | |Job tertahan, lihat '''[<nowiki/>[[Daftar Job Reason ALELEON Supercomputer|Daftar Job Reason]]]''' | ||
|- | |- | ||
|CG (COMPLETING) | |<code>CG (COMPLETING)</code> | ||
|Job selesai dan dalam proses clean-up | |Job selesai dan dalam proses clean-up | ||
|- | |- | ||
|CA (CANCELED) | |<code>CA (CANCELED)</code> | ||
|Job dibatalkan user | |Job dibatalkan user | ||
|- | |- | ||
|PR (PREEMPETED) | |<code>PR (PREEMPETED)</code> | ||
|Job dibatalkan admin, alasan dikabarkan via email | |Job dibatalkan admin, alasan dikabarkan via email | ||
|- | |- | ||
|S (SUSPENDED) | |<code>S (SUSPENDED)</code> | ||
|Job ditahan admin, alasan dikabarkan via email | |Job ditahan admin, alasan dikabarkan via email | ||
|} | |} | ||
|- | |- | ||
! | !<big>5</big> | ||
|- | |||
|User dapat memantau file output dengan perintah Unix seperti: | |||
* '''<code>ls</code>''', '''<code>cat</code>''', '''<code>more</code>''', '''<code>tail</code>''', dll | |||
|- | |||
!<big>6</big> | |||
|- | |- | ||
|Apabila user ingin menghentikan job yang berjalan, jalankan perintah: | |Apabila user ingin menghentikan job yang berjalan, jalankan perintah: | ||
''' | $ '''scancel ''[job-ID]''''' | ||
<small>''Job ID ada pada squeue diatas.'' | <small>''Job ID ada pada squeue diatas.'' | ||
contoh membatalkan job ID 231: | |||
$ scancel 231</small> | |||
|- | |- | ||
!--- | !--- | ||
|} | |} | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! | !- Langkah Batch Job di web EFIRO - | ||
[[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]] | [[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]] | ||
|- | |- | ||
!1 | !<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. | ||
|- | |- | ||
!2 | !<big>2</big> | ||
|- | |- | ||
|[[Berkas:EOD Apps Job Composer full.png|nirbing|126x126px]] | | | ||
{| class="wikitable" | |||
|[[Berkas:EOD Apps Job Composer full.png|nirbing|126x126px]] | |||
|Klik app '''<code><big>Job Composer</big></code>''' di homepage EFIRO. | |||
[[Berkas:Jcnewjobmarked.png|nirbing| | * ''atau'' menu '''<big><code>Apps > Job Composer</code></big>''' | ||
|} | |||
|- | |||
|[[Berkas:Jcnewjobmarked.png|nirbing|170x170px]]Pilih menu <big>'''<code>New Job > From Template</code>'''</big> | |||
|- | |||
!<big>3</big> | |||
|- | |- | ||
! | !Buat ruang job untuk menjalankan komputasi: | ||
|- | |- | ||
| | | | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Pilih template Anaconda Python yang diinginkan: | |||
|- | |- | ||
!Nama Template | !Nama Template | ||
Baris 624: | Baris 678: | ||
|Conda Environment Python (GPU) | |Conda Environment Python (GPU) | ||
|Menjalankan conda env pada GPU | |Menjalankan conda env pada GPU | ||
|}Kemudian Isi ''' | |}Kemudian Isi '''Job Name''' dan klik '''<code><big>Create New Job</big></code>''' | ||
[[Berkas:Jctemplate-2.png|nirbing]] | [[Berkas:Jctemplate-2.png|nirbing]] | ||
|- | |- | ||
!4 | !<big>4</big> | ||
|- | |||
!Lakukan persiapan: | |||
|- | |- | ||
|Siapkan file komputasi | |'''Pastikan package lengkap pada conda env yang akan digunakan:''' | ||
*Upload / download / edit file via menu <code>'''Edit Files'''</code> | * Package tidak lengkap akan menyebabkan job gagal berjalan. | ||
* | * Akses terminal apabila butuh via menu '''<code><big>Open Terminal</big></code>''' | ||
'''Siapkan file komputasi yang dibutuhkan di ruang job:''' | |||
* ''Pastikan ruang job yang dipilih adalah yang akan digunakan.'' | |||
*Upload / download / edit file via menu <code>'''<big>Edit Files</big>'''</code> | |||
*Upload / download file tunggal diatas 2GB gunakan '''[[https://wiki.efisonlt.com/wiki/Manajemen_File_di_ALELEON_Supercomputer#Upload_/_Download_Ruang_Job_Composer software FTP]]''' | |||
[[Berkas:JC job menu.png|nirbing|500x500px]] | [[Berkas:JC job menu.png|nirbing|500x500px]] | ||
|- | |- | ||
!5A | !<big>5A</big> | ||
|- | |- | ||
|Lengkapi '''Submit Script''' melalui tombol '''<code>Open Editor | |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''' di dalamnya. | |||
*Klik '''<code>Save</code>''' setiap kali mengubah script. | *Klik '''<code><big>Save</big></code>''' setiap kali mengubah script. | ||
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]] | [[Berkas:Jceditor3.png|al=|nirbing|400x400px]] | ||
|- | |- | ||
|[[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Bagi yang memilih template GPU:''' | |[[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Bagi yang memilih template GPU:''' | ||
* 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# | * 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 [Nama-modul-CUDA]''''' | |||
... | |||
|- | |||
! | |||
|- | |- | ||
| | | | ||
*''<small>Info script lebih detail lihat | *''<small>Info script lebih detail lihat '''[<nowiki/>[[Submit Script ALELEON Supercomputer]]]'''</small>'' | ||
*''<small>Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM | |||
*''<small>Untuk SBATCH notifikasi email status jalannya job lihat '''[[https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM Slurm Jojo]]'''</small>'' | |||
|- | |- | ||
!5B | !<big>5B</big> | ||
|- | |- | ||
|SBATCH komputasi (ntasks, mem, time, dll) ''' | |SBATCH komputasi (ntasks, mem, time, dll) '''punya limit''' berdasarkan: | ||
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer| | *Sisa Core Hour user dan '''[<nowiki/>[[Limitasi Fair Usage ALELEON Supercomputer|Fair Usage Limit]]]''' | ||
*Spesifikasi sistem dan software komputasi. | *Spesifikasi sistem dan software komputasi. | ||
Untuk melihat limit, jalankan perintah | Untuk melihat limit, jalankan perintah berikut: | ||
$ '''slimit-python''' | |||
[[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Note untuk saat ini:''' | |||
*''Jalankan ketika tidak ada job user yang berjalan atau antri.'' | |||
*''Sementara berlaku untuk akun perseorangan saja.'' | |||
|- | |- | ||
!6 | !<big>6</big> | ||
|- | |- | ||
|Jalankan job dengan klik tombol '''<code>Submit</code>''' | |Jalankan job dengan klik tombol '''<code><big>Submit</big></code>''' | ||
[[Berkas:JC job runstop.png|al=|nirbing| | [[Berkas:JC job runstop.png|al=|nirbing|400x400px]] | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Kolom Status menunjukkan status jalannya job: | |||
|- | |- | ||
!Status | !Status | ||
Baris 678: | Baris 750: | ||
|Job berjalan. | |Job berjalan. | ||
|- | |- | ||
|Queue | | Queue | ||
|Job mengantri dan belum berjalan. | |Job mengantri dan belum berjalan. | ||
|- | |- | ||
|Completed | |Completed | ||
|Job selesai berjalan. | | Job selesai berjalan. | ||
|- | |- | ||
|Failed | |Failed | ||
|Job berhenti karena error atau di stop user. | |Job berhenti karena error atau di stop user. | ||
|- | |- | ||
! 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]]''''']] | |||
|} | |} | ||
|- | |- | ||
!7 | !'''<big>7</big>''' | ||
|- | |||
|Lihat output file komputasi pada kolom '''Folder Contents''' | |||
*Atau dengan membuka menu '''<code><big>Edit Files</big></code>''' | |||
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>''''']] | |||
|- | |||
!<big>8</big> | |||
|- | |- | ||
| | |Apabila user ingin menghentikan job yang berjalan, klik '''<code><big>Stop</big></code>''' | ||
|- | |- | ||
! | !<big>9</big> | ||
|- | |- | ||
|Untuk menghapus ruang job dan datanya: | |Untuk menghapus ruang job dan datanya: | ||
*Pilih ruang job yang akan dihapus. | *Pilih ruang job yang akan dihapus. | ||
*Klik menu '''<code>Delete</code>''' | *Perhatikan opsi ini juga '''menghapus data di ruang job tersebut.''' | ||
[[Berkas:JC delete menu.png|nirbing| | *Klik menu '''<code><big>Delete</big></code>''' | ||
[[Berkas:JC delete menu.png|nirbing|400x400px]] | |||
|- | |- | ||
!--- | !--- | ||
Baris 708: | Baris 787: | ||
=== Sesi Jupyter === | === 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]]].''' | ||
''<small><code>(klik expand / kembangkan)</code></small>'' | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! | !- Langkah Sesi Jupyter - | ||
[[Berkas:Efiro jupyter display.png|400x400px]] | [[Berkas:Efiro jupyter display.png|400x400px]] | ||
|- | |- | ||
!1 | !'''<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. | |||
|- | |- | ||
!<big>2</big> | |||
|- | |- | ||
! | !Lakukan persiapan sebelum sesi Jupyter: | ||
|- | |- | ||
| | |[[Berkas:GMB warning wololo.png|nirbing|50x50px]] <big>User PPM '''Mamba'''</big> 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 sesi | |'''Untuk efisiensi sesi terkait batasan waktu dan konsumsi Core Hour:''' | ||
* | * Lengkapi instalasi package pada conda env yang akan dipakai. | ||
* | * 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. | |||
|- | |- | ||
!3 | !<big>3</big> | ||
|- | |- | ||
| | | | ||
{| class="wikitable" | {| class="wikitable" | ||
|[[Berkas:New Pinnedapps jupyter.png|nirbing|116x116px]] | |[[Berkas:New Pinnedapps jupyter.png|nirbing|116x116px]] | ||
| | |Klik app '''<code><big>Jupyter</big></code>''' di homepage EFIRO. | ||
* ''atau'' menu '''<big><code>Apps > Jupyter</code></big>''' | |||
|} | |} | ||
|- | |- | ||
!4 | !<big>4</big> | ||
|- | |- | ||
|Isi formulir untuk memulai sesi Jupyter dengan panduan berikut: | |Isi formulir untuk memulai sesi Jupyter dengan panduan berikut: | ||
Baris 746: | Baris 836: | ||
|- | |- | ||
|Pilih sesuai kebutuhan: | |Pilih sesuai kebutuhan: | ||
*<code>torti</code> -> interactive node CPU | *<code>'''torti'''</code> -> interactive node CPU [[Berkas:GMB CPU icon.png|nirbing|60x60px]] | ||
*<code>tilla</code> -> interactive node GPU | *<code>'''tilla'''</code> -> interactive node GPU [[Berkas:GMB GPU icon.png|nirbing|90x90px]] | ||
|- | |- | ||
! | ! | ||
Baris 753: | Baris 843: | ||
!<code>''Number of CPU thread(s)''</code> | !<code>''Number of CPU thread(s)''</code> | ||
|- | |- | ||
|Alokasi core CPU, range <code>2 - 32</code> | |Alokasi core CPU, range <code><big>'''2 - 32'''</big></code> | ||
|- | |- | ||
! | ! | ||
Baris 759: | Baris 849: | ||
!<code>''Amount of memory/RAM (GB)''</code> | !<code>''Amount of memory/RAM (GB)''</code> | ||
|- | |- | ||
|Alokasi RAM dalam satuan GB, range <code>1 - 64</code> | |Alokasi RAM dalam satuan GB, range <code><big>'''1 - 64'''</big></code> | ||
|- | |- | ||
! | ! | ||
|- | |- | ||
!''<code>Number of GPUs</code>'' | !''<code>Number of GPUs</code> (apabila pilih partition tilla)'' | ||
|- | |- | ||
|Jumlah GPU, isi angka <code>1</code> | |Jumlah GPU, isi angka <code><big>'''1'''</big></code> | ||
|- | |- | ||
! | ! | ||
Baris 771: | Baris 861: | ||
!''<code>Number of hours</code>'' | !''<code>Number of hours</code>'' | ||
|- | |- | ||
|Waktu maksimal sesi Jupyter, range <code> | |Waktu maksimal sesi Jupyter, range <code><big>'''1 - 72'''</big></code> | ||
|- | |- | ||
! | ! | ||
|- | |- | ||
| | |Form CPU, RAM, GPU, dan hours '''punya limit''' berdasarkan: | ||
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer| | *Sisa Core Hour user dan '''[<nowiki/>[[Limitasi Fair Usage ALELEON Supercomputer|Fair Usage Limit]]]''' | ||
*Spesifikasi sistem dan software komputasi. | *Spesifikasi sistem dan software komputasi. | ||
Untuk melihat limit: | |||
[[Berkas: | # Buka menu '''<code><big>Apps > Aleleon Shell Access</big></code>''' | ||
*Jalankan | # Jalankan perintah: | ||
$ '''slimit-python''' | |||
[[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Note untuk saat ini:''' | |||
*''Jalankan ketika tidak ada job user yang berjalan atau antri.'' | |||
*''Sementara berlaku untuk akun perseorangan saja.'' | |||
|- | |- | ||
! | ! | ||
Baris 788: | Baris 882: | ||
!''<code>Choose how to launch Jupyter</code>'' | !''<code>Choose how to launch Jupyter</code>'' | ||
|- | |- | ||
|Pilih <code>Anaconda/Mamba</code> | |Pilih <code>'''Anaconda/Mamba'''</code> | ||
|- | |- | ||
! | ! | ||
Baris 810: | Baris 904: | ||
|[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Bagi user yang memilih '''partition tilla''': | |[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Bagi user yang memilih '''partition tilla''': | ||
* 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# | * 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. | |||
|- | |- | ||
! | ! | ||
Baris 834: | Baris 929: | ||
* | * | ||
|- | |- | ||
!5 | !<big>5</big> | ||
|- | |- | ||
|Klik tombol '''<code>Launch</code>''' untuk memulai sesi Jupyter | |Klik tombol '''<code><big>Launch</big></code>''' untuk memulai sesi Jupyter: | ||
*User akan diarahkan ke halaman '''<code>My Interactive Sessions</code>''' | *User akan diarahkan ke halaman '''<code><big>My Interactive Sessions</big></code>''' | ||
*Tunggu hingga sesi Jupyter siap diakses. | *Tunggu hingga sesi Jupyter siap diakses. | ||
[[Berkas:Jupyternotebookqueue.png|nirbing|500x500px]] | [[Berkas:Jupyternotebookqueue.png|nirbing|500x500px]] | ||
|- | |- | ||
!6 | !<big>6</big> | ||
|- | |- | ||
|Apabila status '''Running''', klik tombol '''<code>Connect to Jupyter</code>''' | |Apabila status '''Running''', klik tombol '''<code><big>Connect to Jupyter</big></code>''' | ||
*Sistem mulai menghitung Core Hour! | *'''Sistem mulai menghitung Core Hour!''' | ||
*Untuk menghentikan sesi yang | *Untuk menghentikan sesi yang running, klik tombol '''<code><big>Cancel</big></code>''' | ||
[[Berkas:Newjupyter120124.png|nirbing|500x500px]] | [[Berkas:Newjupyter120124.png|nirbing|500x500px]] | ||
|- | |- | ||
!7 | !<big>7</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'']] | |Pilih Notebook Python 3 untuk memulai sesi notebook Python 3.[[Berkas:Jupyternotebookkernelupdated.png|al=|nir|jmpl|200x200px|''Gunakan Notebook Python 3 untuk menjalankan kernel conda env user di Jupyter Notebook'']][[Berkas:Rjupyterlab.png|nir|jmpl|225x225px|''Gunakan Notebook Python 3 untuk menjalankan kernel conda env user di Jupyter Lab'']] | ||
|- | |- | ||
!8 | !<big>8</big> | ||
|- | |- | ||
|User dapat mengunjungi sesi Jupyter yang sedang berjalan pada: | |User dapat mengunjungi sesi Jupyter yang sedang berjalan pada: | ||
*Menu '''<code>My Interactive Sessions</code>''' | *Menu '''<code><big>My Interactive Sessions</big></code>''' | ||
*Kolom '''<code>Active interactive sessions</code>''' | *Kolom '''<code><big>Active interactive sessions</big></code>''' di homepage EFIRO. | ||
|- | |- | ||
!--- | !--- | ||
|} | |} | ||
=='''Pelaporan Kendala dan Support'''== | =='''''Pelaporan Kendala dan Support'''''== | ||
Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini. | Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini. | ||
Revisi terkini sejak 4 Mei 2025 16.01
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 - | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ||||||||||||||||||
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 - | ||||||||
---|---|---|---|---|---|---|---|---|
0 | ||||||||
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 |
---|
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].
Apakah Bisa Menjalankan Job?
Bagi akun yang berjalan dengan kredit Core Hour seperti akun perseorangan, ada baiknya untuk memantau sisa Core Hour sebelum menjalankan job:
Memantau Sisa Core Hour |
---|
0 |
Menggunakan terminal!
|
1A |
Untuk akun perseorangan, jalankan perintah:
$ sausage Untuk akun institusi dengan kredit Core Hour, ikuti petunjuk admin. |
1B |
Untuk mengetahui limit alokasi komputasi job user:
|
2 |
Apabila butuh beli kredit Core Hour, lihat [top up Kredit Core Hour] |
--- |
---
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 | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||
0 | ||||||||||||||
Menggunakan terminal!
| ||||||||||||||
1 | ||||||||||||||
Lakukan persiapan: | ||||||||||||||
Pastikan package lengkap pada conda env yang akan digunakan:
Siapkan file komputasi yang dibutuhkan:
| ||||||||||||||
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 - | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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: | |||||||||||||||||||||||||||||||||||||||||
![]()
(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