Komputasi Python dengan Conda Environment: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (edit jc siapkan file komputasi) |
WilsonLisan (bicara | kontrib) (formatting terbaru) |
||
Baris 14: | Baris 14: | ||
# Memilih metode menjalankan komputasi. | # Memilih metode menjalankan komputasi. | ||
== '''Membuat Conda Environment''' == | == '''Membuat Conda Environment (Conda Env)''' == | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
!Membuat Conda Environment dan Instalasi | !Membuat Conda Environment dan Instalasi Library Python | ||
|- | |- | ||
!1 | !1 | ||
|- | |- | ||
|Masuk ke terminal melalui | |Masuk ke terminal melalui '''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#Login_SSH Login SSH]''' atau | ||
{| class="wikitable" | |||
* [https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO '''Login ke web EFIRO'''] | |[[Berkas:Pinnedapps terminal.png|nirbing|129x129px]] | ||
| | |||
* [https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO '''Login ke web EFIRO''']; | |||
* Buka pinned apps '''<code>Aleleon Shell Access</code>''' | |||
|} | |||
Kegiatan ini tidak mengurangi Core Hour user. | Kegiatan ini tidak mengurangi Core Hour user. | ||
|- | |- | ||
Baris 47: | Baris 51: | ||
|Anaconda 3 2020.11 | |Anaconda 3 2020.11 | ||
|} | |} | ||
'''''Note''': Apabila bingung memilih versi yang mana, pilih versi terbaru'' | |||
|- | |- | ||
!3 | !3 | ||
|- | |- | ||
|Buat | |Buat Conda Env di direktori HOME dengan perintah: | ||
$ '''conda create --name ''[nama-conda-env]'' pip''' | $ '''conda create --name ''[nama-conda-env]'' pip''' | ||
Baris 58: | Baris 63: | ||
!4 | !4 | ||
|- | |- | ||
|Aktifkan | |Aktifkan Conda Env dengan perintah: | ||
$ '''source activate ''[nama-conda-env]''''' | $ '''source activate ''[nama-conda-env]''''' | ||
Baris 72: | Baris 77: | ||
!6 | !6 | ||
|- | |- | ||
|Untuk menonaktifkan | |Untuk menonaktifkan Conda Env jalankan perintah: | ||
<code>$ '''conda deactivate'''</code> | <code>$ '''conda deactivate'''</code> | ||
|} | |} | ||
Baris 80: | Baris 85: | ||
!a | !a | ||
|- | |- | ||
|'''Mengaktifkan | |'''Mengaktifkan Conda Env yang telah dibuat:''' | ||
# | # Idealnya muat modul Anaconda yang dipakai untuk membuat conda env. | ||
# | #* ''Apabila lupa, bisa gunakan modul Anaconda terbaru.'' | ||
# Aktifkan conda env dengan perintah: | |||
$ '''source activate ''[nama-conda-env]''''' | |||
|- | |- | ||
!b | !b | ||
|- | |- | ||
|'''Melihat daftar | |'''Melihat daftar Conda Env yang telah dibuat:''' | ||
'''$ conda env list''' | '''$ conda env list''' | ||
|- | |- | ||
!c | !c | ||
|- | |- | ||
|'''Mengubah nama | |'''Mengubah nama Conda Env:''' | ||
$ '''conda rename -n ''[nama-saat-ini]'' ''[nama-baru]''''' | $ '''conda rename -n ''[nama-saat-ini]'' ''[nama-baru]''''' | ||
Baris 99: | Baris 106: | ||
!d | !d | ||
|- | |- | ||
|'''Menghapus | |'''Menghapus Conda Env:''' | ||
<code>$ '''conda remove -n '' | <code>$ '''conda remove -n ''[nama-conda-env]'' --all'''</code> | ||
|} | |} | ||
== '''Metode Menjalankan Komputasi''' == | == '''Metode Menjalankan Komputasi''' == | ||
User dapat memilih metode menjalankan komputasi sesuai keinginan: | User dapat memilih metode menjalankan komputasi sesuai keinginan: ''<small>(klik expand / kembangkan)</small>'' | ||
* '''Job submission terminal''' | * '''Job submission terminal''' | ||
Baris 127: | Baris 134: | ||
!2 | !2 | ||
|- | |- | ||
|Siapkan | |Siapkan Conda Env dan file komputasi yang dibutuhkan. | ||
* User dapat upload / download file dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']]. | * User dapat upload / download file dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']]. | ||
Baris 140: | Baris 147: | ||
|- | |- | ||
|Contoh template Submit Script, ikuti petunjuk NOTES didalamnya. | |Contoh template Submit Script, ikuti petunjuk NOTES didalamnya. | ||
*''<small>Klik expand / kembangkan</small>'' | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
!Template Anaconda Python | !Template Submit Script Anaconda Python versi CPU | ||
|- | |- | ||
|<syntaxhighlight lang="bash"> | |<syntaxhighlight lang="bash"> | ||
Baris 195: | Baris 203: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|} | |} | ||
Untuk Anaconda versi GPU, apabila user butuh modul CUDA versi spesifik: | |||
* Lihat [https://wiki.efisonlt.com/wiki/Katalog_Software_ALELEON_Supercomputer#Modul_NVIDIA_CUDA_Toolkit_(Standalone) '''Modul NVIDIA CUDA Toolkit ALELEON Supercomputer''']. | |||
* Ganti nama modul 'cuda' pada line <code>module load cuda</code> | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
!Template Anaconda Python | !Template Submit Script Anaconda Python versi GPU | ||
|- | |- | ||
|<syntaxhighlight lang="bash"> | |<syntaxhighlight lang="bash"> | ||
Baris 263: | Baris 276: | ||
|- | |- | ||
| | | | ||
*''Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].'' | *''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].</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>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>'' | ||
|- | |- | ||
!3B | !3B | ||
Baris 286: | Baris 299: | ||
!5 | !5 | ||
|- | |- | ||
|User dapat melihat status jalannya job dengan perintah: | |User dapat melihat status jalannya job dengan perintah: | ||
'''<code>$ squeue -ul $USER</code>''' | '''<code>$ squeue -ul $USER</code>''' | ||
{| class="wikitable | {| class="wikitable" | ||
! colspan="2" | | ! colspan="2" |''Kolom ST atau STATE menunjukkan status jalannya job.'' | ||
|- | |- | ||
!STATE | !STATE | ||
Baris 303: | Baris 316: | ||
|Job selesai dan dalam proses clean-up | |Job selesai dan dalam proses clean-up | ||
|- | |- | ||
|CA (CANCELED) | |CA (CANCELED) | ||
|Job dibatalkan user | |Job dibatalkan user | ||
|- | |- | ||
Baris 334: | Baris 347: | ||
!2 | !2 | ||
|- | |- | ||
| | | | ||
{| class="wikitable" | |||
Pilih menu '''<code>New Job</code>''' -> '''<code>From Template</code>''' | |[[Berkas:New Pinnedapps jc.png|nirbing|128x128px]] | ||
|Buka pinned apps '''Job Composer''' di homepage EFIRO. | |||
|- | |||
| colspan="2" |Pilih menu '''<code>New Job</code>''' -> '''<code>From Template</code>''' | |||
[[Berkas:Jcnewjobmarked.png|nirbing|180x180px]] | [[Berkas:Jcnewjobmarked.png|nirbing|180x180px]] | ||
|} | |||
|- | |- | ||
!3 | !3 | ||
Baris 344: | Baris 360: | ||
| | | | ||
{| class="wikitable" | {| class="wikitable" | ||
! colspan="2" |Pilih template Anaconda Python yang diinginkan | ! colspan="2" |Pilih template Anaconda Python yang diinginkan: | ||
|- | |- | ||
!Nama Template | !Nama Template | ||
Baris 350: | Baris 366: | ||
|- | |- | ||
|Anaconda Python (CPU) | |Anaconda Python (CPU) | ||
|Menjalankan Anaconda Python | |Menjalankan Anaconda Python pada CPU | ||
|- | |- | ||
|Anaconda Python (GPU) | |Anaconda Python (GPU) | ||
|Menjalankan Anaconda Python | |Menjalankan Anaconda Python pada GPU | ||
|} | |} | ||
Kemudian Isi '''<code>Job Name</code>''' dan klik '''<code>Create New Job</code>''' | Kemudian Isi '''<code>Job Name</code>''' dan klik '''<code>Create New Job</code>''' | ||
Baris 361: | Baris 377: | ||
!4 | !4 | ||
|- | |- | ||
|Siapkan | |Siapkan file komputasi dan Conda Env yang dibutuhkan: | ||
*Upload / download / edit file via menu <code>'''Edit Files'''</code> | |||
*Upload file | *Akses terminal untuk manajemen Conda Env via menu '''<code>Open Terminal</code>''' | ||
* | [[Berkas:JC job menu.png|nirbing|500x500px]] | ||
|- | |- | ||
!5A | !5A | ||
|- | |- | ||
|Lengkapi '''Submit Script''' melalui tombol '''<code>Open Editor</code>'''. | |Lengkapi '''Submit Script''' melalui tombol '''<code>Open Editor:</code>''' | ||
*Submit script adalah 'formulir' untuk menjalankan job komputasi. | |||
**Ikuti petunjuk NOTES didalamnya. | |||
*Klik '''<code>Save</code>''' setiap kali mengubah script. | |||
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]] | [[Berkas:Jceditor3.png|al=|nirbing|400x400px]] | ||
{| class="wikitable" | |||
| | |||
| | | | ||
*''Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].'' | * ''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].</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>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 | !5B | ||
|- | |- | ||
| | |SBATCH komputasi (ntasks, mem, time, dll) '''mempunyai limit''' berdasarkan: | ||
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']]. | |||
* Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']]. | *Spesifikasi sistem dan software komputasi. | ||
* Spesifikasi sistem dan software komputasi. | Untuk melihat limit, jalankan perintah ini via menu '''<code>Open Terminal</code>''': | ||
Untuk melihat limit, jalankan perintah | |||
'''$ slimit-python''' | '''$ slimit-python''' | ||
|- | |- | ||
Baris 394: | Baris 406: | ||
|- | |- | ||
|Jalankan job dengan klik tombol '''<code>Submit</code>'''. | |Jalankan job dengan klik tombol '''<code>Submit</code>'''. | ||
[[Berkas: | [[Berkas:JC job runstop.png|al=|nirbing|500x500px]] | ||
* Pantau kolom status yang menjelaskan status jalannya job. | *Pantau kolom status yang menjelaskan status jalannya job. | ||
* Apabila ingin membatalkan job yang berjalan, klik '''<code>Stop</code>'''. | * Apabila ingin membatalkan job yang berjalan, klik '''<code>Stop</code>'''. | ||
{| class="wikitable" | |||
! colspan="2" |Daftar Status Job | |||
{| class="wikitable | |||
! colspan="2" |Daftar | |||
|- | |- | ||
!Status | !Status | ||
!Arti | !Arti | ||
|- | |- | ||
|Not Submitted | | Not Submitted | ||
|Job belum pernah dijalankan. | |Job belum pernah dijalankan. | ||
|- | |- | ||
|Running | |Running | ||
|Job berjalan. | |Job berjalan. | ||
|- | |- | ||
Baris 418: | Baris 428: | ||
|- | |- | ||
|Failed | |Failed | ||
|Job berhenti | |Job berhenti karena error atau di stop user. | ||
|- | |- | ||
| colspan="2" |'''Untuk melihat alasan queue:''' | | colspan="2" |'''Untuk melihat alasan job yang queue:'''[[Berkas:Active Jobs detail.png|nir|jmpl|300x300px|''Buka pinned 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 Reason NODELIST ALELEON Supercomputer|'''Daftar Reason NODELIST ALELEON Supercomputer''']].'']] | ||
|} | |} | ||
|- | |- | ||
Baris 430: | Baris 438: | ||
*Atau dengan membuka '''<code>Edit Files</code>''' | *Atau dengan membuka '''<code>Edit Files</code>''' | ||
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>'''.'']] | [[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>'''.'']] | ||
|- | |||
!8 | |||
|- | |||
|Untuk menghapus ruang job dan datanya: | |||
*Pilih ruang job yang akan dihapus. | |||
*Klik menu '''<code>Delete</code>''' | |||
[[Berkas:JC delete menu.png|nirbing|500x500px]] | |||
|} | |} | ||
Baris 443: | Baris 458: | ||
!2 | !2 | ||
|- | |- | ||
| | | | ||
{| class="wikitable" | |||
|[[Berkas:New Pinnedapps jupyter.png|nirbing|116x116px]] | |||
|Buka pinned apps '''Jupyter''' di homepage EFIRO. | |||
|} | |||
|- | |- | ||
!3 | !3 | ||
Baris 480: | Baris 499: | ||
# Buka app [[Berkas:Pinnedapps terminal.png|nirbing|116x116px]] di homepage EFIRO | # Buka app [[Berkas:Pinnedapps terminal.png|nirbing|116x116px]] di homepage EFIRO | ||
# Jalankan perintah ''' | # Jalankan perintah | ||
$ '''sausage''' | |||
|} | |} | ||
* '''Choose how to launch Jupyter''' -> Anaconda | * '''Choose how to launch Jupyter''' -> Anaconda | ||
* '''Choose Anaconda version''' | * '''Choose Anaconda version''' | ||
** '' | ** ''Idealnya pilih versi yang digunakan untuk membuat Conda Env user'' | ||
** ''Apabila lupa, gunakan Anaconda terbaru'' | |||
* '''Conda environment directory''' | * '''Conda environment directory''' | ||
** ''Isi nama | ** ''Isi nama Conda Env user yang akan digunakan'' | ||
* '''Software modules''' | * '''Software modules''' | ||
** ''Membuat modul software, isi | ** ''Membuat modul software, isi apabila ada.'' | ||
** ''Apabila menggunakan tilla, isi modul | ** ''Apabila menggunakan '''tilla''', isi modul NVIDIA CUDA yang sesuai.'' | ||
*** ''Nama modul lihat [https://wiki.efisonlt.com/wiki/Katalog_Software_ALELEON_Supercomputer#Modul_NVIDIA_CUDA_Toolkit_(Standalone) '''Modul NVIDIA CUDA Toolkit ALELEON'''].'' | |||
*'''Environment setup''' | *'''Environment setup''' | ||
** ''Memuat environment variable, isi apabila ada'' | ** ''Memuat environment variable, isi apabila ada'' |
Revisi per 19 Juli 2024 06.02
Halaman ini menjelaskan menjalankan komputasi Python dengan environment Anaconda di ALELEON Supercomputer. Anaconda adalah suite katalog packages Python dan R untuk komputasi data science dan machine learning.
Laman ini merupakan bagian laman -> Komputasi Python |
---|
Langkah Menjalankan Komputasi
Terdapat dua langkah utama:
- Membuat dan menyiapkan conda environment untuk komputasi user.
- Memilih metode menjalankan komputasi.
Membuat Conda Environment (Conda Env)
Membuat Conda Environment dan Instalasi Library Python | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||
Masuk ke terminal melalui Login SSH atau
Kegiatan ini tidak mengurangi Core Hour user. | ||||||||||||
2 | ||||||||||||
Pilih dan aktifkan modul Anaconda yang akan digunakan.
Note: Apabila bingung memilih versi yang mana, pilih versi terbaru | ||||||||||||
3 | ||||||||||||
Buat Conda Env di direktori HOME dengan perintah:
$ conda create --name [nama-conda-env] pip Contoh dengan nama 'skripsi' $ conda create --name skripsi pip | ||||||||||||
4 | ||||||||||||
Aktifkan Conda Env dengan perintah:
$ source activate [nama-conda-env] Contoh: $ source activate skripsi | ||||||||||||
5 | ||||||||||||
Lakukan instalasi package Python yang dibutuhkan dengan pip
| ||||||||||||
6 | ||||||||||||
Untuk menonaktifkan Conda Env jalankan perintah:
|
Manajemen Conda Environment |
---|
a |
Mengaktifkan Conda Env yang telah dibuat:
$ source activate [nama-conda-env] |
b |
Melihat daftar Conda Env yang telah dibuat:
$ conda env list |
c |
Mengubah nama Conda Env:
$ conda rename -n [nama-saat-ini] [nama-baru] Contoh mengubah nama env skripsi ke tesis $ conda rename -n skripsi tesis |
d |
Menghapus Conda Env:
|
Metode Menjalankan Komputasi
User dapat memilih metode menjalankan komputasi sesuai keinginan: (klik expand / kembangkan)
- Job submission terminal
- Berjalan di compute node melalui manajemen Slurm.
- Hanya untuk file Python (py), file ipynb harus diubah ke py.
- Job submission web EFIRO
- Berjalan di compute node melalui manajemen Slurm via web EFIRO.
- Hanya untuk file Python (py), file ipynb harus diubah ke py.
- Interactive job Jupyter
- Sesi IDE Jupyter Lab atau Notebook.
- Berjalan di interactive node.
Job Submission Terminal
Langkah Job Submission Terminal | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||
Login SSH ke ALELEON Supercomputer. | ||||||||||||||||
2 | ||||||||||||||||
Siapkan Conda Env dan file komputasi yang dibutuhkan.
| ||||||||||||||||
3A | ||||||||||||||||
Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi.
| ||||||||||||||||
Contoh template Submit Script, ikuti petunjuk NOTES didalamnya.
Untuk Anaconda versi GPU, apabila user butuh modul CUDA versi spesifik:
| ||||||||||||||||
| ||||||||||||||||
3B | ||||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
Untuk melihat limit, jalankan perintah berikut: $ slimit-python | ||||||||||||||||
4 | ||||||||||||||||
Jalankan job komputasi dengan perintah:
$ sbatch [nama-submit-script] Contoh: $ sbatch submit.sh | ||||||||||||||||
5 | ||||||||||||||||
User dapat melihat status jalannya job dengan perintah:
| ||||||||||||||||
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 |
Job Submission Web EFIRO
Langkah Job Submission Web EFIRO | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||
Login ke web EFIRO ALELEON Supercomputer. | ||||||||||||||||
2 | ||||||||||||||||
| ||||||||||||||||
3 | ||||||||||||||||
Kemudian Isi | ||||||||||||||||
4 | ||||||||||||||||
Siapkan file komputasi dan Conda Env yang dibutuhkan:
| ||||||||||||||||
5A | ||||||||||||||||
Lengkapi Submit Script melalui tombol Open Editor:
| ||||||||||||||||
5B | ||||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
Untuk melihat limit, jalankan perintah ini via menu $ slimit-python | ||||||||||||||||
6 | ||||||||||||||||
Jalankan job dengan klik tombol Submit .
| ||||||||||||||||
7 | ||||||||||||||||
Lihat output file komputasi pada kolom Folder Contents
| ||||||||||||||||
8 | ||||||||||||||||
Untuk menghapus ruang job dan datanya:
|
Interactive Job Jupyter
Langkah Interactive Job Sesi Jupyter | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||||
Login ke web EFIRO ALELEON Supercomputer. | ||||||||||||||||||
2 | ||||||||||||||||||
| ||||||||||||||||||
3 | ||||||||||||||||||
Isi formulir untuk memulai sesi Jupyter dengan panduan berikut:
| ||||||||||||||||||
4 | ||||||||||||||||||
Klik tombol Launch untuk memulai sesi Jupyter.
| ||||||||||||||||||
5 | ||||||||||||||||||
Apabila status Running, klik tombol Connect to Jupyter .
Cancel .
| ||||||||||||||||||
6 | ||||||||||||||||||
Pilih Notebook Python 3 untuk memulai sesi notebook Python 3. | ||||||||||||||||||
7 | ||||||||||||||||||
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