Komputasi Python dengan Conda Environment: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (update subbab manajemen conda env) |
WilsonLisan (bicara | kontrib) (mengubah struktur job submission dan jupyter) |
||
Baris 126: | Baris 126: | ||
* Setiap versi TF / PyTorch membutuhkan CUDA Toolkit versi spesifik. | * Setiap versi TF / PyTorch membutuhkan CUDA Toolkit versi spesifik. | ||
* Dokumentasi TF / PyTorch memuat info versi CUDA Toolkit yang dibutuhkan. | * Dokumentasi TF / PyTorch memuat info versi CUDA Toolkit yang dibutuhkan. | ||
* Ketersediaan CUDA Toolkit | * Ketersediaan CUDA Toolkit lihat [https://wiki.efisonlt.com/wiki/Katalog_Software_ALELEON_Supercomputer#Modul_NVIDIA_CUDA_Toolkit_(Standalone) '''Modul NVIDIA CUDA Toolkit ALELEON''']. | ||
User memuat modul CUDA Toolkit berdasarkan skenario menjalankan komputasi: | |||
* Job submission -> submit script. | |||
* Sesi interaktif Jupyter -> formulir untuk memulai sesi Jupyter. | |||
|} | |} | ||
== '''Metode Menjalankan Komputasi''' == | == '''Metode Menjalankan Komputasi''' == | ||
User dapat memilih metode menjalankan komputasi sesuai keinginan: ''<small>(klik expand / kembangkan)</small>'' | User dapat memilih metode menjalankan komputasi sesuai keinginan: ''<small>(klik expand / kembangkan)</small>'' | ||
* '''Job submission | * '''Job submission Slurm''' | ||
** ''Menjalankan script Python di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Compute_Node compute node] melalui manajemen Slurm kemudian menunggu hingga selesai.'' | |||
** '' | |||
** ''Hanya untuk file Python (py), file ipynb harus diubah ke py.'' | ** ''Hanya untuk file Python (py), file ipynb harus diubah ke py.'' | ||
* ''' | * '''Sesi Interaktif Slurm''' | ||
** ''Sesi | ** ''coming soon!'' | ||
** '' | * '''Sesi Interaktif Jupyter''' | ||
** ''Menggunakan [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Interactive_Node interactive node] secara langsung dengan IDE Jupyter Lab atau Notebook.'' | |||
=== Job Submission | === Job Submission Slurm === | ||
Terdapat dua pilihan tampilan yaitu dengan terminal dan web EFIRO. | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
!Langkah Job Submission Terminal | !Langkah Job Submission Slurm di Terminal | ||
[[Berkas:Sbatch Terminal.png|tepi|400x400px]] | [[Berkas:Sbatch Terminal.png|tepi|400x400px]] | ||
|- | |- | ||
Baris 223: | Baris 226: | ||
Untuk Anaconda versi GPU, apabila user butuh modul CUDA versi spesifik: | 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 | * Lihat [https://wiki.efisonlt.com/wiki/Katalog_Software_ALELEON_Supercomputer#Modul_NVIDIA_CUDA_Toolkit_(Standalone) '''Modul NVIDIA CUDA Toolkit ALELEON'''] . | ||
* Ganti nama modul 'cuda' pada line <code>module load cuda</code> | * Ganti nama modul 'cuda' pada line <code>module load cuda</code> | ||
Baris 351: | Baris 354: | ||
$ scancel 231 | $ scancel 231 | ||
|} | |} | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
!Langkah Job Submission Web EFIRO | !Langkah Job Submission Slurm di Web EFIRO | ||
[[Berkas:Efirojobcomposer3.png|nirbing|400x400px]] | [[Berkas:Efirojobcomposer3.png|nirbing|400x400px]] | ||
|- | |- | ||
Baris 458: | Baris 459: | ||
|} | |} | ||
=== | === Sesi Interaktif Jupyter === | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
!Langkah | !Langkah Sesi Interaktif Jupyter | ||
[[Berkas:Efirojupyterlab.png|400x400px]] | [[Berkas:Efirojupyterlab.png|400x400px]] | ||
|- | |- | ||
Baris 469: | Baris 470: | ||
!2 | !2 | ||
|- | |- | ||
|Siapkan | |Siapkan '''conda environment''' yang akan digunakan. | ||
* Disarankan untuk melengkapi instalasi library sebelum sesi Jupyter. | * Disarankan untuk melengkapi instalasi library sebelum sesi Jupyter. | ||
Baris 525: | Baris 526: | ||
'''$ slimit-python''' | '''$ slimit-python''' | ||
|} | |} | ||
* '''Choose how to launch Jupyter''' -> Anaconda | * '''Choose how to launch Jupyter''' -> Anaconda | ||
* '''Choose Anaconda version''' | * '''Choose Anaconda version''' | ||
** '' | ** ''Pilih versi yang dipakai untuk membuat conda env user.'' | ||
* '''Conda environment directory''' | * '''Conda environment directory''' | ||
** ''Isi nama | ** ''Isi nama conda env user yang akan digunakan.'' | ||
* '''Software modules''' | * '''Software modules''' | ||
** ''Membuat modul software, isi apabila ada.'' | ** ''Membuat modul software, isi apabila ada.'' |
Revisi per 6 September 2024 11.43
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.
Manajemen Conda Environment
Subbab ini menjelaskan langkah membuat, mengaktifkan, dan melengkapi conda environment.
Kegiatan ini dilakukan di terminal | ||
---|---|---|
Masuk ke terminal melalui Login SSH atau
Kegiatan ini tidak mengurangi Core Hour user. |
Membuat Conda Environment
1 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Pilih dan aktifkan modul Anaconda yang akan digunakan.
Ingat pilihan modul untuk mengaktifkan conda env kedepannya. | ||||||||||||
2 | ||||||||||||
Buat conda env di direktori HOME:
$ conda create --name [nama-conda-env] Contoh nama 'skripsi': $ conda create --name skripsi | ||||||||||||
3 | ||||||||||||
Aktifkan conda env:
| ||||||||||||
4 | ||||||||||||
Instal library Python yang dibutuhkan dengan pip
Instalasi PyTorch dan TensorFlow lihat subbab:
| ||||||||||||
5 | ||||||||||||
Untuk menonaktifkan conda env jalankan perintah:
| ||||||||||||
Tips | ||||||||||||
Manajemen conda env seperti rename, delete, clone, list, lihat: |
Mengaktifkan Kembali Conda Environment
1 |
---|
Aktifkan modul Anaconda yang dipakai untuk membuat conda env user:
|
2 |
Aktifkan conda env:
|
Tips |
List conda env yang sebelumnya dibuat apabila lupa namanya:
|
Instalasi TensorFlow dan PyTorch
User dapat menginstal TensorFlow / PyTorch dengan pilihan versi CUDA untuk menggunakan GPU NVIDIA RTX 3090 atau CPU saja.
- Instalasi TensorFlow versi CUDA dan CPU lihat dokumentasi Install TensorFlow with pip.
- Instalasi PyTorch lihat dokumentasi Start Locally | PyTorch.
- Versi CUDA pilih Package pip dan Compute Platform CUDA.
- Versi CPU pilih Package pip dan Compute Platform CPU.
Perhatikan kebutuhan versi NVIDIA CUDA Toolkit! |
---|
Bagi user yang menjalankan TensorFlow / PyTorch versi CUDA:
User memuat modul CUDA Toolkit berdasarkan skenario menjalankan komputasi:
|
Metode Menjalankan Komputasi
User dapat memilih metode menjalankan komputasi sesuai keinginan: (klik expand / kembangkan)
- Job submission Slurm
- Menjalankan script Python di compute node melalui manajemen Slurm kemudian menunggu hingga selesai.
- Hanya untuk file Python (py), file ipynb harus diubah ke py.
- Sesi Interaktif Slurm
- coming soon!
- Sesi Interaktif Jupyter
- Menggunakan interactive node secara langsung dengan IDE Jupyter Lab atau Notebook.
Job Submission Slurm
Terdapat dua pilihan tampilan yaitu dengan terminal dan web EFIRO.
Langkah Job Submission Slurm di 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 |
Langkah Job Submission Slurm di Web EFIRO | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||
Login ke web EFIRO ALELEON Supercomputer. | ||||||||||||||||
2 | ||||||||||||||||
![]() Pilih menu | ||||||||||||||||
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:
|
Sesi Interaktif Jupyter
Langkah Sesi Interaktif Jupyter | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||||||
Login ke web EFIRO ALELEON Supercomputer. | ||||||||||||||||||||
2 | ||||||||||||||||||||
Siapkan conda environment yang akan digunakan.
| ||||||||||||||||||||
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