Komputasi Python dengan Conda Environment: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (→Batch Job: mengubah info running job dan limit time) |
WilsonLisan (bicara | kontrib) (menambah info menjalankan job) |
||
Baris 40: | Baris 40: | ||
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | * ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | ||
|- | |- | ||
!<big>1</big> | !<big><nowiki>---| 1 |---</nowiki></big> | ||
|- | |- | ||
|Pilih dan aktifkan modul Anaconda untuk membuat conda env: | |Pilih dan aktifkan modul Anaconda untuk membuat conda env: | ||
Baris 75: | Baris 75: | ||
|} | |} | ||
|- | |- | ||
!<big>2</big> | !<big><nowiki>---| 2 |---</nowiki></big> | ||
|- | |- | ||
|[[Berkas:GMB warning wololo.png|nirbing|50x50px]] ''Package apa yang akan diinstal user di conda env ini?'' | |[[Berkas:GMB warning wololo.png|nirbing|50x50px]] ''Package apa yang akan diinstal user di conda env ini?'' | ||
Baris 97: | Baris 97: | ||
|} | |} | ||
|- | |- | ||
! <big>3</big> | ! <big><nowiki>---| 3 |---</nowiki></big> | ||
|- | |- | ||
!Buat conda env dengan opsi: | !Buat conda env dengan opsi: | ||
Baris 134: | Baris 134: | ||
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | * ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | ||
|- | |- | ||
!<big>1</big> | !<big><nowiki>---| 1 |---</nowiki></big> | ||
|- | |- | ||
|Pilih dan aktifkan modul Mamba untuk membuat conda env: | |Pilih dan aktifkan modul Mamba untuk membuat conda env: | ||
Baris 153: | Baris 153: | ||
|} | |} | ||
|- | |- | ||
!<big>2</big> | !<big><nowiki>---| 2 |---</nowiki></big> | ||
|- | |- | ||
|[[Berkas:GMB warning wololo.png|nirbing|50x50px]] ''Package apa yang akan diinstal user di conda env ini?'' | |[[Berkas:GMB warning wololo.png|nirbing|50x50px]] ''Package apa yang akan diinstal user di conda env ini?'' | ||
Baris 175: | Baris 175: | ||
|} | |} | ||
|- | |- | ||
! <big>3</big> | ! <big><nowiki>---| 3 |---</nowiki></big> | ||
|- | |- | ||
!Buat conda env dengan opsi: | !Buat conda env dengan opsi: | ||
Baris 217: | Baris 217: | ||
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | * ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | ||
|- | |- | ||
!<big>1</big> | !<big><nowiki>---| 1 |---</nowiki></big> | ||
|- | |- | ||
|Muat modul PPM yang digunakan untuk membuat conda env: | |Muat modul PPM yang digunakan untuk membuat conda env: | ||
$ '''module load ''[Anaconda-atau-Mamba ....]''''' | $ '''module load ''[Anaconda-atau-Mamba ....]''''' | ||
|- | |- | ||
!<big>2</big> | !<big><nowiki>---| 2 |---</nowiki></big> | ||
|- | |- | ||
|Aktifkan conda env dengan perintah '''<big><code>source</code></big>''': | |Aktifkan conda env dengan perintah '''<big><code>source</code></big>''': | ||
Baris 229: | Baris 229: | ||
$ '''conda env list''' | $ '''conda env list''' | ||
|- | |- | ||
!<big>3A</big> | !<big><nowiki>---| 3A |---</nowiki></big> | ||
|- | |- | ||
!Pilih panduan instalasi package yang dibutuhkan | !Pilih panduan instalasi package yang dibutuhkan | ||
Baris 236: | Baris 236: | ||
* ''<small>Halaman terpisah karena daftar terlalu panjang</small> ._.'' | * ''<small>Halaman terpisah karena daftar terlalu panjang</small> ._.'' | ||
|- | |- | ||
!<big>3B</big> | !<big><nowiki>---| 3B |---</nowiki></big> | ||
|- | |- | ||
!Khusus user yang membuat conda env dengan Mamba | !Khusus user yang membuat conda env dengan Mamba | ||
Baris 244: | Baris 244: | ||
<sub>(env)</sub>$ '''pip install jupyter jupyterlab''' | <sub>(env)</sub>$ '''pip install jupyter jupyterlab''' | ||
|- | |- | ||
!<big>4</big> | !<big><nowiki>---| 4 |---</nowiki></big> | ||
|- | |- | ||
|Apabila hendak menonaktfkan conda env: | |Apabila hendak menonaktfkan conda env: | ||
Baris 258: | Baris 258: | ||
|'''<big>[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Batch_Job Batch job]]</big>''' | |'''<big>[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Batch_Job Batch job]]</big>''' | ||
* Menjalankan script Python siap jalan yang tidak membutuhkan interaksi user. | * Menjalankan script Python siap jalan yang tidak membutuhkan interaksi user. | ||
* [[Berkas:GMB warning wololo.png|nirbing|50x50px]]Perhatikan '''file <code>.ipynb</code>''' harus dikonversi ke '''file <code>.py</code>'''. | ** [[Berkas:GMB warning wololo.png|nirbing|50x50px]]Perhatikan '''file <code>.ipynb</code>''' harus dikonversi ke '''file <code>.py</code>'''. | ||
** ''Job dijalankan oleh Slurm, user menunggu hingga selesai.'' | |||
*Koneksi user tidak mempengaruhi jalannya job, contoh: | |||
**''Job tidak akan berhenti ketika koneksi user terputus, atau'' | |||
**''User keluar (log out) dari ALELEON.'' | |||
*Job akan berhenti ketika: | |||
**''Program komputasi selesai berjalan.'' | |||
**''Program menjumpai error sehingga selesai prematur.'' | |||
|'''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|Compute node]]]:''' | |'''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|Compute node]]]:''' | ||
* Partisi epyc [[Berkas:GMB CPU icon.png|nirbing|50x50px]] | * Partisi epyc [[Berkas:GMB CPU icon.png|nirbing|50x50px]] | ||
Baris 264: | Baris 272: | ||
|- | |- | ||
|'''<big>[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Sesi_Jupyter Sesi Jupyter]]</big>''' | |'''<big>[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Sesi_Jupyter Sesi Jupyter]]</big>''' | ||
* Menjalankan sesi interaktif Jupyter Lab atau Notebook | * Menjalankan sesi interaktif Jupyter Lab atau Notebook. | ||
* Koneksi user tidak mempengaruhi jalannya sesi Jupyter, contoh: | |||
**''Sesi tidak akan berhenti ketika koneksi user terputus, atau'' | |||
**''User keluar (log out) dari ALELEON.'' | |||
*Sesi Jupyter akan berhenti ketika: | |||
**''Waktu sesi habis.'' | |||
**''Sesi dihentikan secara manual oleh user.'' | |||
**''Sesi menjumpai error sehingga selesai prematur.'' | |||
|'''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Interactive%20Node|interactive node]]]:''' | |'''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Interactive%20Node|interactive node]]]:''' | ||
* Partisi torti [[Berkas:GMB CPU icon.png|nirbing|50x50px]] | * Partisi torti [[Berkas:GMB CPU icon.png|nirbing|50x50px]] | ||
Baris 285: | Baris 301: | ||
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | * ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | ||
|- | |- | ||
!<big>1</big> | !<big><nowiki>---| 1 |---</nowiki></big> | ||
|- | |- | ||
|'''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Mengaktifkan_Conda_Env_dan_Instalasi_Package Aktifkan conda env]]''' yang akan digunakan. | |'''[[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> | !<big><nowiki>---| 2 |---</nowiki></big> | ||
|- | |- | ||
|Cek ketersediaan library CUDA di conda env tersebut: | |Cek ketersediaan library CUDA di conda env tersebut: | ||
Baris 298: | Baris 314: | ||
<sub>(env)</sub>$ '''conda list | grep cuda''' | <sub>(env)</sub>$ '''conda list | grep cuda''' | ||
|- | |- | ||
!<big>3A</big> | !<big><nowiki>---| 3A |---</nowiki></big> | ||
|- | |- | ||
!''Apabila ada output:'' | !''Apabila ada output:'' | ||
Baris 306: | Baris 322: | ||
* User '''tidak perlu memuat modul CUDA.''' | * User '''tidak perlu memuat modul CUDA.''' | ||
|- | |- | ||
!<big>3B</big> | !<big><nowiki>---| 3B |---</nowiki></big> | ||
|- | |- | ||
![[Berkas:GMB warning wololo.png|nirbing|50x50px]] ''Apabila tidak ada output:'' | ![[Berkas:GMB warning wololo.png|nirbing|50x50px]] ''Apabila tidak ada output:'' | ||
Baris 388: | Baris 404: | ||
* ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | * ''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | ||
|- | |- | ||
!<big>0</big> | !<big><nowiki>---| 0 |---</nowiki></big> | ||
|- | |- | ||
!Apakah bisa menjalankan job? | !Apakah bisa menjalankan job? | ||
Baris 399: | Baris 415: | ||
* Bila butuh tambah kuota, lihat '''[[https://wiki.efisonlt.com/wiki/Core_Hour#Penggunaan_Kredit_Core_Hour top up Kredit Core Hour]].''' | * Bila butuh tambah kuota, lihat '''[[https://wiki.efisonlt.com/wiki/Core_Hour#Penggunaan_Kredit_Core_Hour top up Kredit Core Hour]].''' | ||
|- | |- | ||
!<big>1</big> | !<big><nowiki>---| 1 |---</nowiki></big> | ||
|- | |- | ||
!Lakukan persiapan: | !Lakukan persiapan: | ||
Baris 417: | Baris 433: | ||
'''''the module ... cannot be unloaded because it was not loaded'''''</small> | '''''the module ... cannot be unloaded because it was not loaded'''''</small> | ||
|- | |- | ||
!<big>2A</big> | !<big><nowiki>---| 2A |---</nowiki></big> | ||
|- | |- | ||
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi: | |Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi: | ||
Baris 579: | Baris 595: | ||
*''Untuk SBATCH notifikasi email status jalannya job lihat '''[[https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM Slurm Jojo]]''''' | *''Untuk SBATCH notifikasi email status jalannya job lihat '''[[https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM Slurm Jojo]]''''' | ||
|- | |- | ||
!<big>2B</big> | !<big><nowiki>---| 2B |---</nowiki></big> | ||
|- | |- | ||
|SBATCH komputasi (ntasks, mem, time, dll) '''punya limit''' berdasarkan: | |SBATCH komputasi (ntasks, mem, time, dll) '''punya limit''' berdasarkan: | ||
Baris 590: | Baris 606: | ||
*''Sementara berlaku untuk akun perseorangan saja.'' | *''Sementara berlaku untuk akun perseorangan saja.'' | ||
|- | |- | ||
!<big>3</big> | !<big><nowiki>---| 3 |---</nowiki></big> | ||
|- | |- | ||
|Jalankan job dengan perintah: | |Jalankan job dengan perintah: | ||
Baris 598: | Baris 614: | ||
$ sbatch submit.sh | $ sbatch submit.sh | ||
|- | |- | ||
!<big>4</big> | !<big><nowiki>---| 4 |---</nowiki></big> | ||
|- | |- | ||
|User dapat melihat status jalannya job dengan perintah: | |User dapat melihat status jalannya job dengan perintah: | ||
Baris 632: | Baris 648: | ||
|} | |} | ||
|- | |- | ||
!<big>5</big> | !<big><nowiki>---| 5 |---</nowiki></big> | ||
|- | |- | ||
|User dapat memantau file output dengan perintah Unix seperti: | |User dapat memantau file output dengan perintah Unix seperti: | ||
Baris 638: | Baris 654: | ||
* '''<code>ls</code>''', '''<code>cat</code>''', '''<code>more</code>''', '''<code>tail</code>''', dll | * '''<code>ls</code>''', '''<code>cat</code>''', '''<code>more</code>''', '''<code>tail</code>''', dll | ||
|- | |- | ||
!<big>6</big> | !<big><nowiki>---| 6 |---</nowiki></big> | ||
|- | |- | ||
|Apabila user ingin menghentikan job yang berjalan, jalankan perintah: | |Apabila user ingin menghentikan job yang berjalan, jalankan perintah: | ||
Baris 653: | Baris 669: | ||
[[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]] | [[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]] | ||
|- | |- | ||
!<big>0</big> | !<big><nowiki>---| 0 |---</nowiki></big> | ||
|- | |- | ||
!Apakah bisa menjalankan job? | !Apakah bisa menjalankan job? | ||
Baris 668: | Baris 684: | ||
* Bila butuh tambah kuota, lihat '''[[https://wiki.efisonlt.com/wiki/Core_Hour#Penggunaan_Kredit_Core_Hour top up Kredit Core Hour]].''' | * Bila butuh tambah kuota, lihat '''[[https://wiki.efisonlt.com/wiki/Core_Hour#Penggunaan_Kredit_Core_Hour top up Kredit Core Hour]].''' | ||
|- | |- | ||
!<big>1</big> | !<big><nowiki>---| 1 |---</nowiki></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><nowiki>---| 2 |---</nowiki></big> | ||
|- | |- | ||
| | | | ||
Baris 684: | Baris 700: | ||
|[[Berkas:Jcnewjobmarked.png|nirbing|170x170px]]Pilih menu <big>'''<code>New Job > From Template</code>'''</big> | |[[Berkas:Jcnewjobmarked.png|nirbing|170x170px]]Pilih menu <big>'''<code>New Job > From Template</code>'''</big> | ||
|- | |- | ||
!<big>3</big> | !<big><nowiki>---| 3 |---</nowiki></big> | ||
|- | |- | ||
!Buat ruang job untuk menjalankan komputasi: | !Buat ruang job untuk menjalankan komputasi: | ||
Baris 704: | Baris 720: | ||
[[Berkas:Jctemplate-2.png|nirbing]] | [[Berkas:Jctemplate-2.png|nirbing]] | ||
|- | |- | ||
!<big>4</big> | !<big><nowiki>---| 4 |---</nowiki></big> | ||
|- | |- | ||
!Lakukan persiapan: | !Lakukan persiapan: | ||
Baris 720: | Baris 736: | ||
[[Berkas:JC job menu.png|nirbing|500x500px]] | [[Berkas:JC job menu.png|nirbing|500x500px]] | ||
|- | |- | ||
!<big>5A</big> | !<big><nowiki>---| 5A |---</nowiki></big> | ||
|- | |- | ||
|Lengkapi '''Submit Script''' melalui tombol '''<code><big>Open Editor</big></code>''' | |Lengkapi '''Submit Script''' melalui tombol '''<code><big>Open Editor</big></code>''' | ||
Baris 745: | Baris 761: | ||
*''Untuk SBATCH notifikasi email status jalannya job lihat '''[[https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM Slurm Jojo]]''''' | *''Untuk SBATCH notifikasi email status jalannya job lihat '''[[https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM Slurm Jojo]]''''' | ||
|- | |- | ||
!<big>5B</big> | !<big><nowiki>---| 5B |---</nowiki></big> | ||
|- | |- | ||
|SBATCH komputasi (ntasks, mem, time, dll) '''punya limit''' berdasarkan: | |SBATCH komputasi (ntasks, mem, time, dll) '''punya limit''' berdasarkan: | ||
Baris 756: | Baris 772: | ||
*''Sementara berlaku untuk akun perseorangan saja.'' | *''Sementara berlaku untuk akun perseorangan saja.'' | ||
|- | |- | ||
!<big>6</big> | !<big><nowiki>---| 6 |---</nowiki></big> | ||
|- | |- | ||
|Jalankan job dengan klik tombol '''<code><big>Submit</big></code>''' | |Jalankan job dengan klik tombol '''<code><big>Submit</big></code>''' | ||
Baris 790: | Baris 806: | ||
|} | |} | ||
|- | |- | ||
! | !<big><nowiki>---| 7 |---</nowiki></big> | ||
|- | |- | ||
|Lihat output file komputasi pada kolom '''Folder Contents''' | |Lihat output file komputasi pada kolom '''Folder Contents''' | ||
Baris 796: | Baris 812: | ||
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>''''']] | [[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>''''']] | ||
|- | |- | ||
!<big>8</big> | !<big><nowiki>---| 8 |---</nowiki></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>9</big> | !<big><nowiki>---| 9 |---</nowiki></big> | ||
|- | |- | ||
|Untuk menghapus ruang job dan datanya: | |Untuk menghapus ruang job dan datanya: | ||
Baris 819: | Baris 835: | ||
[[Berkas:Efiro jupyter display.png|400x400px]] | [[Berkas:Efiro jupyter display.png|400x400px]] | ||
|- | |- | ||
! | !<big><nowiki>---| 1 |---</nowiki></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><nowiki>---| 2 |---</nowiki></big> | ||
|- | |- | ||
!Lakukan persiapan sebelum sesi Jupyter: | !Lakukan persiapan sebelum sesi Jupyter: | ||
Baris 832: | Baris 848: | ||
** Direktori standar sesi Jupyter adalah $HOME user. | ** Direktori standar sesi Jupyter adalah $HOME user. | ||
|- | |- | ||
!<big>3</big> | !<big><nowiki>---| 3 |---</nowiki></big> | ||
|- | |- | ||
| | | | ||
Baris 842: | Baris 858: | ||
|} | |} | ||
|- | |- | ||
!<big>4</big> | !<big><nowiki>---| 4 |---</nowiki></big> | ||
|- | |- | ||
|Isi formulir untuk memulai sesi Jupyter dengan panduan berikut: | |Isi formulir untuk memulai sesi Jupyter dengan panduan berikut: | ||
Baris 946: | Baris 962: | ||
* | * | ||
|- | |- | ||
!<big>5</big> | !<big><nowiki>---| 5 |---</nowiki></big> | ||
|- | |- | ||
|Klik tombol '''<code><big>Launch</big></code>''' untuk memulai sesi Jupyter: | |Klik tombol '''<code><big>Launch</big></code>''' untuk memulai sesi Jupyter: | ||
Baris 953: | Baris 969: | ||
[[Berkas:Jupyternotebookqueue.png|nirbing|500x500px]] | [[Berkas:Jupyternotebookqueue.png|nirbing|500x500px]] | ||
|- | |- | ||
!<big>6</big> | !<big><nowiki>---| 6 |---</nowiki></big> | ||
|- | |- | ||
|Apabila status '''Running''', klik tombol '''<code><big>Connect to Jupyter</big></code>''' | |Apabila status '''Running''', klik tombol '''<code><big>Connect to Jupyter</big></code>''' | ||
Baris 961: | Baris 977: | ||
[[Berkas:Newjupyter120124.png|nirbing|500x500px]] | [[Berkas:Newjupyter120124.png|nirbing|500x500px]] | ||
|- | |- | ||
!<big>7</big> | !<big><nowiki>---| 7 |---</nowiki></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'']] | ||
|- | |- | ||
!<big>8</big> | !<big><nowiki>---| 8 |---</nowiki></big> | ||
|- | |- | ||
|User dapat mengunjungi sesi Jupyter yang sedang berjalan pada: | |User dapat mengunjungi sesi Jupyter yang sedang berjalan pada: |
Revisi per 16 Mei 2025 10.42
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