|
|
Baris 1: |
Baris 1: |
|
| |
|
| | [[Berkas:Logo Python - Anaconda - Mamba ALELEON.png|400x400px]] |
|
| |
|
| [[Berkas:Pythonanaconda.png|500x500px]]
| | Halaman ini menjelaskan menjalankan komputasi Python dengan '''conda environment''' di ALELEON Supercomputer. |
| | |
| Halaman ini menjelaskan menjalankan komputasi Python dengan environment Anaconda di ALELEON Supercomputer. '''[https://www.anaconda.com/ Anaconda]''' adalah suite katalog packages Python dan R untuk komputasi ''data science'' dan ''machine learning''. | |
| {| class="wikitable" | | {| class="wikitable" |
| !''Laman ini merupakan bagian laman ->'' [[Komputasi Python]] | | !''Laman ini merupakan bagian laman ->'' [[Komputasi Python]] |
Baris 11: |
Baris 10: |
| Terdapat dua langkah utama: | | Terdapat dua langkah utama: |
|
| |
|
| # Membuat dan menyiapkan conda environment untuk komputasi user. | | # Membuat conda environment dan instal package yang diperlukan di dalamnya. |
| # Memilih metode menjalankan komputasi. | | # Menjalankan komputasi dengan conda env tersebut. |
|
| |
|
| == '''Manajemen Conda Environment''' == | | == '''Membangun Conda Environment''' == |
| Subbab ini menjelaskan langkah membuat, mengaktifkan, dan melengkapi conda environment.
| | ALELEON Supercomputer menyediakan pilihan package manager Python untuk membuat conda environment. Pilih sesuai preferensi user: |
| {| class="wikitable" | | {| class="wikitable" |
| !Kegiatan ini dilakukan di terminal
| |
| |- | | |- |
| |Masuk ke terminal melalui '''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#Login_SSH Login SSH]''' atau
| | ![[Berkas:Anaconda transparent logo.png|nirbing|130x130px]] |
| {| class="wikitable"
| | ![[Berkas:Mamba transparent logo.png|nirbing|100x100px]] |
| |[[Berkas:Pinnedapps terminal.png|nirbing|129x129px]]
| | |- |
| | | |
| | *PM Python paling banyak digunakan. |
| | *Saat ini menjadi standar industri. |
| | | | | |
| * [https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO '''Login ke web EFIRO''']; | | *Alternatif Anaconda, dibuat dengan C++. |
| * Buka pinned apps '''<code>Aleleon Shell Access</code>''' | | *Dikembangkan oleh komunitas. |
| | *Dalam beberapa kasus lebih ringan dan cepat. |
| |} | | |} |
| Kegiatan ini tidak mengurangi Core Hour user.
| | === Membuat dan Manajemen Conda Environment === |
| |}
| |
| | |
| === Membuat Conda Environment === | |
| {| class="wikitable" | | {| class="wikitable" |
| | ! |
| | |- |
| | |[[Berkas:Icon apps terminal cropped.png|kiri|nirbing|80x80px]]Menggunakan terminal! |
| | * User web EFIRO buka app '''<code>Aleleon Shell Access</code>'''. |
| | |- |
| | !1 |
| | |- |
| | |Pilih menggunakan Anaconda atau Mamba. |
| | ''<small><code>(klik expand / kembangkan)</code></small>'' |
| | {| class="wikitable mw-collapsible mw-collapsed" |
| | ! ---- Opsi Anaconda |
| | [[Berkas:Anaconda transparent logo.png|nirbing|130x130px]] |
| |- | | |- |
| !1 | | !1 |
| |- | | |- |
| |Pilih dan aktifkan modul Anaconda yang akan digunakan. | | |Pilih dan aktifkan modul Anaconda untuk membuat conda env: |
| <code>$ '''module load ''[nama-modul-anaconda]'''''</code> | | <code>$ '''module load ''[nama-modul-anaconda]'''''</code> |
| {| class="wikitable" | | {| class="wikitable" |
| ! colspan="2" |Daftar nama modul Anaconda
| | |+Daftar nama modul Anaconda 3 |
| | !Versi |
| | !Nama Modul |
| | !Versi Py default |
| |- | | |- |
| !Nama Modul
| | |2024-02-1 |
| !Versi
| | |<code>'''Anaconda3/2024.02-1'''</code> |
| | |''3.11.7'' |
| |- | | |- |
| |Anaconda3/2023.07-2 | | |2023.07-2 |
| |Anaconda 3 2023.07-2 | | |<code>'''Anaconda3/2023.07-2'''</code> |
| | |''3.11.4'' |
| |- | | |- |
| |Anaconda3/2022.05 | | |2022.05 |
| |Anaconda 3 2022.05 | | | <code>'''Anaconda3/2022.05'''</code> |
| | |''3.9.12'' |
| |- | | |- |
| |Anaconda3/2021.05 | | |2021.05 |
| |Anaconda 3 2021.05 | | |<code>'''Anaconda3/2021.05'''</code> |
| | |''3.8.8'' |
| |- | | |- |
| |Anaconda3/2020.11 | | |2020.11 |
| |Anaconda 3 2020.11 | | |<code>'''Anaconda3/2020.11'''</code> |
| | |''3.8.5'' |
| |} | | |} |
| ''Ingat pilihan modul untuk mengaktifkan conda env kedepannya.''
| |
| |- | | |- |
| !2 | | ! 2 |
| |- | | |- |
| |Buat conda env di direktori HOME: | | | '''Ingat atau catat''' modul Anaconda yang dipakai. |
| $ '''conda create --name ''[nama-conda-env]'''''
| | *Kedepannya digunakan untuk mengaktifkan conda env ini. |
|
| |
| ''Contoh nama 'skripsi':''
| |
| $ conda create --name '''skripsi'''
| |
| |- | | |- |
| !3 | | ! 3 |
| |- | | |- |
| |Aktifkan conda env: | | |Buat conda env di direktori HOME: |
| <code>$ '''source activate ''[nama-conda-env]'''''</code> | | <code>$ '''conda create -n ''[nama-conda-env]'''''</code> |
| | |
| | <small>''Contoh nama 'skripsi' ->'' <code>$ conda create -n '''skripsi'''</code></small> |
| |- | | |- |
| !4 | | !4 |
| |- | | |- |
| |Instal library Python yang dibutuhkan dengan '''<code>pip</code>''' | | |Aktifkan conda env dengan perintah source: |
| <code>$ '''pip install ''[nama-library]'''''</code> | | <code>$ '''source activate ''[nama-conda-env]'''''</code> |
| | |
| Instalasi PyTorch dan TensorFlow lihat subbab:
| |
|
| |
|
| * Instalasi TensorFlow dan PyTorch.
| | <small>''Contoh nama 'skripsi' ->'' <code>$ source activate '''skripsi'''</code></small> |
| |- | | |- |
| !5 | | !''Menonaktifkan conda env:'' |
| |- | | |- |
| |Untuk menonaktifkan conda env jalankan perintah: | | |<code><small>(env-user)$</small> '''conda deactivate'''</code> |
| <code>$ '''conda deactivate'''</code> | |
| |- | | |- |
| !Tips | | !''Mengaktifkan kembali conda env:'' |
| |- | | |- |
| |Manajemen conda env seperti rename, delete, clone, list, lihat: | | |Lakukan '''<code>langkah 1 dan 4</code>'''. Apabila lupa nama env: |
| | |
| * [https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html '''Conda Managing Environments''']
| |
| |}
| |
| | |
| === Mengaktifkan Kembali Conda Environment ===
| |
| {| class="wikitable"
| |
| |-
| |
| !1
| |
| |-
| |
| |Aktifkan modul Anaconda yang dipakai untuk membuat conda env user:
| |
| <code>$ '''module load ''[nama-modul-anaconda]'''''</code> | |
| |-
| |
| !2
| |
| |-
| |
| |Aktifkan conda env:
| |
| | |
| <code>$ '''source activate ''[nama-conda-env]'''''</code>
| |
| |-
| |
| !Tips
| |
| |-
| |
| |List conda env yang sebelumnya dibuat apabila lupa namanya:
| |
| <code>$ '''conda env list'''</code> | | <code>$ '''conda env list'''</code> |
| |}
| |
|
| |
| === 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 [https://www.tensorflow.org/install/pip '''Install TensorFlow with pip'''].
| |
| * Instalasi PyTorch lihat dokumentasi [https://pytorch.org/get-started/locally/ '''Start Locally | PyTorch'''].
| |
| ** Versi CUDA pilih Package '''pip''' dan Compute Platform '''CUDA'''.
| |
| ** Versi CPU pilih Package '''pip''' dan Compute Platform '''CPU'''.
| |
|
| |
| {| class="wikitable"
| |
| |- | | |- |
| !Perhatikan kebutuhan versi NVIDIA CUDA Toolkit! | | !''Manajemen lainnya:'' |
| |- | | |- |
| |Bagi user yang menjalankan TensorFlow / PyTorch versi CUDA: | | |Manajemen lain seperti rename, delete, clone, export, dll lihat: |
| | | *'''[[https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html Conda Managing environments]]''' |
| * Setiap versi TF / PyTorch membutuhkan CUDA Toolkit versi spesifik. | |
| * Dokumentasi TF / PyTorch memuat info versi CUDA Toolkit yang dibutuhkan.
| |
| * 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''' ==
| |
| User dapat memilih metode menjalankan komputasi sesuai keinginan: ''<small>(klik expand / kembangkan)</small>''
| |
|
| |
| * '''Job submission Slurm'''
| |
| ** ''Menjalankan komputasi di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Compute_Node compute node] melalui manajemen Slurm kemudian user menunggu hingga selesai.''
| |
| ** ''Hanya untuk file Python (.py) siap jalan, file ipynb harus diubah ke py.''
| |
| * '''Sesi Interaktif Slurm'''
| |
| ** ''coming soon!''
| |
| * '''Sesi Interaktif Jupyter'''
| |
| ** ''Menggunakan [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Interactive_Node interactive node] secara langsung melalui IDE Jupyter Lab atau Notebook.''
| |
|
| |
| === 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 Slurm di Terminal | | !---- Opsi Mamba |
| [[Berkas:Sbatch terminal display rev2.png|tepi|400x400px]] | | [[Berkas:Mamba transparent logo.png|nirbing|100x100px]] |
| |- | | |- |
| !1 | | !1 |
| |- | | |- |
| | Lakukan [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_Terminal#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#Login_SSH Login SSH]''' ke ALELEON Supercomputer. | | |Pilih dan aktifkan modul Mamba untuk membuat conda env: |
| |-
| | <code>$ '''module load ''[nama-modul-mamba]'''''</code> |
| !2
| | {| class="wikitable" |
| |-
| | |+Daftar nama modul Mamba |
| |Siapkan [https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Anaconda#Membuat_Conda_Environment_(Conda_Env) '''Conda Env'''] dan file komputasi yang dibutuhkan.
| | !Versi |
| | | ! Nama Modul |
| * User dapat upload / download file dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']].
| | !Versi Py default |
| |-
| |
| !3A
| |
| |-
| |
| |Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi.
| |
| | |
| * Nama file bebas dengan format .sh, contoh '''<code>submit.sh</code>'''
| |
| |-
| |
| !
| |
| |-
| |
| |Contoh template Submit Script, ikuti petunjuk NOTES didalamnya.
| |
| *''<small>Klik expand / kembangkan</small>''
| |
| {| class="wikitable mw-collapsible mw-collapsed" | |
| !Template Submit Script Anaconda Python versi CPU | |
| |- | | |- |
| |<syntaxhighlight lang="bash"> | | |23.11.0-0 |
| #!/bin/bash
| | |<code>'''Mamba/23.11.0-0'''</code> |
| | | |''3.10.13'' |
| # -----------------------------------------------------
| |
| # Template SLURM Submit Script
| |
| # Anaconda Python (CPU)
| |
| #
| |
| # NOTES:
| |
| # 1. Isi bagian yang ditandai 4 garing (////).
| |
| # 2. Template ini bersifat referensi.
| |
| # User dapat mengubah bagian yang perlu diubah.
| |
| # 3. Pastikan user sudah membuat Conda Environment.
| |
| # -----------------------------------------------------
| |
| | |
| # -----------------------------------------------------
| |
| # Alokasi komputasi SBATCH dan file input
| |
| # -----------------------------------------------------
| |
| | |
| # Alokasi jumlah core thread CPU
| |
| #SBATCH --ntasks=////
| |
| | |
| # Alokasi jumlah memori RAM (satuan GB)
| |
| #SBATCH --mem=////GB
| |
| | |
| # Alokasi limit waktu menjalankan job
| |
| # Format HH:MM:SS atau D-HH:MM:SS
| |
| #SBATCH --time=////
| |
| | |
| # Definisi file untuk menampung output terminal program
| |
| #SBATCH --output=result-%j.txt
| |
| | |
| # Definisi file untuk menampung output error log
| |
| #SBATCH --error=error-%j.txt
| |
| | |
| # Nama Conda Environment yang digunakan
| |
| CONDA_NAME=////
| |
| | |
| # Nama program Python yang dijalankan
| |
| INPUT_FILE=////.py
| |
| | |
| # ----------------------------------------------------
| |
| # Script jalannya program
| |
| # ----------------------------------------------------
| |
| | |
| # Mengaktifkan Conda Environment
| |
| module load Anaconda3
| |
| source activate ${CONDA}/${CONDA_NAME}
| |
| | |
| # Menjalankan file Python
| |
| python3 ${INPUT_FILE}
| |
| </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'''] .
| |
| * Ganti nama modul 'cuda' pada line <code>module load cuda</code>
| |
|
| |
| {| class="wikitable mw-collapsible mw-collapsed"
| |
| !Template Submit Script Anaconda Python versi GPU atau CUDA
| |
| |- | | |- |
| |<syntaxhighlight lang="bash">
| | !2 |
| #!/bin/bash
| |
| | |
| # -----------------------------------------------------
| |
| # Template SLURM Submit Script
| |
| # Anaconda Python (GPU)
| |
| #
| |
| # NOTES:
| |
| # 1. Isi bagian yang ditandai 4 garing (////).
| |
| # 2. Template ini bersifat referensi.
| |
| # User dapat mengubah bagian yang perlu diubah.
| |
| # 3. Pastikan user sudah membuat Conda Environment.
| |
| # -----------------------------------------------------
| |
| | |
| # -----------------------------------------------------
| |
| # Alokasi komputasi SBATCH dan file input
| |
| # -----------------------------------------------------
| |
| | |
| # Menggunakan partisi compute node GPU
| |
| #SBATCH --partition=ampere
| |
| | |
| # Alokasi jumlah core thread CPU
| |
| #SBATCH --ntasks=////
| |
| | |
| # Alokasi jumlah GPU
| |
| #SBATCH --gpus=////
| |
| | |
| # Alokasi jumlah memori RAM (satuan GB)
| |
| #SBATCH --mem=////GB
| |
| | |
| # Alokasi limit waktu menjalankan job
| |
| # Format HH:MM:SS atau D-HH:MM:SS
| |
| #SBATCH --time=////
| |
| | |
| # Definisi file untuk menampung output terminal program
| |
| #SBATCH --output=result-%j.txt
| |
| | |
| # Definisi file untuk menampung output error log
| |
| #SBATCH --error=error-%j.txt
| |
| | |
| # Nama Conda Environment yang digunakan
| |
| CONDA_NAME=////
| |
| | |
| # Nama program Python yang dijalankan
| |
| INPUT_FILE=////.py
| |
| | |
| # ----------------------------------------------------
| |
| # Script jalannya program
| |
| # ----------------------------------------------------
| |
| | |
| # Memuat modul NVIDIA CUDA default
| |
| module load cuda
| |
| | |
| # Mengaktifkan Conda Environment
| |
| module load Anaconda3
| |
| source activate ${CONDA}/${CONDA_NAME}
| |
| | |
| # Menjalankan file Python
| |
| python3 ${INPUT_FILE}
| |
| </syntaxhighlight>
| |
| |}
| |
| |- | | |- |
| | | | |'''Ingat atau catat''' modul Mamba yang dipakai. |
| *''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].</small>''
| | *Kedepannya digunakan untuk mengaktifkan conda env ini. |
| * ''<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 | | ! 3 |
| |- | | |- |
| |'''SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit''' berdasarkan: | | |Buat conda env di direktori HOME: |
| | <code>$ '''mamba create -n ''[nama-conda-env]'''''</code> |
|
| |
|
| * Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
| | <small>''Contoh nama 'skripsi' ->'' <code>$ mamba create -n '''skripsi'''</code></small> |
| * Spesifikasi sistem dan software komputasi.
| |
| | |
| Untuk melihat limit, jalankan perintah berikut:
| |
| '''$ slimit-python'''
| |
| |- | | |- |
| !4 | | !4 |
| |- | | |- |
| |Jalankan job komputasi dengan perintah: | | |Aktifkan conda env dengan perintah source: |
| $ '''sbatch ''[nama-submit-script]'''''
| | <code>$ '''source activate ''[nama-conda-env]'''''</code> |
|
| | |
| ''Contoh:''
| | <small>''Contoh nama 'skripsi' ->'' <code>$ source activate '''skripsi'''</code></small> |
| $ sbatch submit.sh
| |
| |- | | |- |
| !5 | | !''Menonaktifkan conda env:'' |
| |- | | |- |
| |User dapat melihat status jalannya job dengan perintah: | | |<code><small>(env-user)$</small> '''conda deactivate'''</code> |
| '''<code>$ squeue -ul $USER</code>'''
| |
| {| class="wikitable"
| |
| ! colspan="2" |''Kolom ST atau STATE menunjukkan status jalannya job.''
| |
| |- | | |- |
| !STATE | | !''Mengaktifkan kembali conda env:'' |
| !Penjelasan
| |
| |- | | |- |
| |R (RUN) | | | Lakukan '''<code>langkah 1 dan 4</code>'''. Apabila lupa nama env: |
| |Job berjalan
| | <code>$ '''conda env list'''</code> |
| |- | | |- |
| |PD (PENDING)
| | !''Manajemen lainnya:'' |
| |Job tertahan, lihat [[Daftar Reason NODELIST ALELEON Supercomputer|'''NODELIST(REASON)''']]
| |
| |- | | |- |
| |CG (COMPLETING) | | |Manajemen lain seperti rename, delete, clone, export, dll lihat: |
| |Job selesai dan dalam proses clean-up
| | *'''[[https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html Conda Managing environments]]''' |
| |-
| | |} |
| |CA (CANCELED)
| |
| |Job dibatalkan user
| |
| |-
| |
| |PR (PREEMPETED)
| |
| |Job dibatalkan admin, alasan dikabarkan via email
| |
| |-
| |
| |S (SUSPENDED) | |
| |Job ditahan admin, alasan dikabarkan via email
| |
| |} | | |} |
| |- | | |
| | === Instalasi Package di Conda Environment === |
| | {| class="wikitable" |
| ! | | ! |
| |- | | |- |
| |Apabila user ingin menghentikan job yang berjalan, jalankan perintah: | | |[[Berkas:Icon apps terminal cropped.png|kiri|nirbing|80x80px]]Menggunakan terminal! |
| '''$ scancel ''[job-ID]'''''
| | *User web EFIRO buka app '''<code>Aleleon Shell Access</code>'''. |
|
| |
| ''Job ID ada pada squeue diatas.''
| |
| contoh membatalkan job ID 231:
| |
| $ scancel 231
| |
| |}
| |
| {| class="wikitable mw-collapsible mw-collapsed"
| |
| !Langkah Job Submission Slurm di Web EFIRO
| |
| [[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]] | |
| |- | | |- |
| !1 | | !1 |
| |- | | |- |
| | [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.
| | | '''Aktifkan conda env''' yang akan dipakai untuk instalasi package ini. |
| |- | | |- |
| !2 | | !2 |
| |- | | |- |
| |[[Berkas:New Pinnedapps jc.png|nirbing|128x128px]]Buka pinned apps '''Job Composer''' di homepage EFIRO. | | |Pilih tutorial instalasi sesuai kebutuhan: |
| Pilih menu '''<code>New Job</code>''' -> '''<code>From Template</code>'''
| | ''<small><code>(klik expand / kembangkan)</code></small>'' |
| | | {| class="wikitable mw-collapsible mw-collapsed" |
| [[Berkas:Jcnewjobmarked.png|nirbing|180x180px]]
| | ! colspan="2" |Instalasi Package Secara Umum dengan pip / conda |
| |-
| |
| !3
| |
| |-
| |
| |
| |
| {| class="wikitable"
| |
| ! colspan="2" |Pilih template Anaconda Python yang diinginkan:
| |
| |-
| |
| !Nama Template
| |
| !Penjelasan
| |
| |-
| |
| |Anaconda Python (CPU)
| |
| |Menjalankan Anaconda Python pada CPU
| |
| |-
| |
| |Anaconda Python (GPU)
| |
| |Menjalankan Anaconda Python pada GPU
| |
| |}
| |
| Kemudian Isi '''<code>Job Name</code>''' dan klik '''<code>Create New Job</code>'''
| |
| | |
| [[Berkas:Jctemplate-2.png|nirbing]]
| |
| |-
| |
| !4
| |
| |-
| |
| |Siapkan file komputasi dan [https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Anaconda#Membuat_Conda_Environment_(Conda_Env) '''Conda Env'''] yang dibutuhkan:
| |
| *Upload / download / edit file via menu <code>'''Edit Files'''</code>
| |
| *Akses terminal untuk manajemen Conda Env via menu '''<code>Open Terminal</code>'''
| |
| [[Berkas:JC job menu.png|nirbing|500x500px]]
| |
| |-
| |
| !5A
| |
| |-
| |
| |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]]
| |
| |-
| |
| |
| |
| *''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''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 '''Slurm Jojo'''].</small>''
| |
| |-
| |
| !5B
| |
| |-
| |
| |SBATCH komputasi (ntasks, mem, time, dll) '''mempunyai limit''' berdasarkan:
| |
| *Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
| |
| *Spesifikasi sistem dan software komputasi.
| |
| Untuk melihat limit, jalankan perintah ini via menu '''<code>Open Terminal</code>''':
| |
| '''$ slimit-python'''
| |
| |-
| |
| !6
| |
| |-
| |
| |Jalankan job dengan klik tombol '''<code>Submit</code>'''.
| |
| [[Berkas:JC job runstop.png|al=|nirbing|500x500px]]
| |
| *Pantau kolom status yang menjelaskan status jalannya job.
| |
| * Apabila ingin membatalkan job yang berjalan, klik '''<code>Stop</code>'''.
| |
| {| class="wikitable" | |
| ! colspan="2" |Daftar Status Job | |
| |- | | |- |
| !Status
| | | colspan="2" |User dapat melakukan instalasi package lainnya dengan pip atau conda |
| !Arti
| |
| |- | | |- |
| | Not Submitted | | ! rowspan="2" |pip |
| |Job belum pernah dijalankan. | | | Contoh umum: |
| | <code><small>(env-user)$</small> '''pip install ''[nama-package]'''''</code> |
| |- | | |- |
| |Running | | |Daftar package dan tutorial instal '''pip''' lihat web: |
| |Job berjalan.
| | *'''[[https://pypi.org/ PyPI The Python Package Index]]'''. |
| |- | | |- |
| |Queue | | ! colspan="2" | |
| |Job mengantri dan belum berjalan.
| |
| |- | | |- |
| |Completed | | ! rowspan="2" |conda |
| |Job selesai berjalan. | | |Contoh umum: |
| | <code><small>(env-user)$</small> '''conda install conda-forge::''[nama-package]'''''</code> |
| |- | | |- |
| |Failed | | |Daftar package dan tutorial instal conda lihat web: |
| |Job berhenti karena error atau di stop user.
| | *'''[[https://conda-forge.org/packages/ Packages in Conda Forge]]'''. |
| |-
| |
| | 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''']].'']]
| |
| |} | | |} |
| | {| class="wikitable mw-collapsible mw-collapsed" |
| | ! colspan="2" |Instalasi Package TensorFlow |
| |- | | |- |
| !7
| | | colspan="2" |Tersedia dua versi TensorFlow, pilih sesuai kebutuhan: |
| | * Versi CPU - berjalan di CPU. |
| | *Versi GPU - berjalan dengan akselerasi GPU NVIDIA dan lib. CUDA. |
| |- | | |- |
| |Lihat output file komputasi pada kolom '''<code>Folder Contents</code>'''
| | !Versi |
| *Atau dengan membuka '''<code>Edit Files</code>'''
| | !Perintah pip |
| [[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>'''.'']]
| |
| |- | | |- |
| !8
| | |CPU |
| | | <code><small>(env-user)$</small> '''python3 -m pip install tensorflow'''</code> |
| |- | | |- |
| |Untuk menghapus ruang job dan datanya: | | |GPU |
| *Pilih ruang job yang akan dihapus.
| | |<code><small>(env-user)$</small> '''python3 -m pip install 'tensorflow[and-cuda]''''</code> |
| *Klik menu '''<code>Delete</code>'''
| |
| [[Berkas:JC delete menu.png|nirbing|500x500px]]
| |
| |} | | |} |
|
| |
| === Sesi Interaktif Jupyter ===
| |
| {| class="wikitable mw-collapsible mw-collapsed" | | {| class="wikitable mw-collapsible mw-collapsed" |
| !Langkah Sesi Interaktif Jupyter | | ! colspan="2" |Instalasi Package PyTorch |
| [[Berkas:Efiro jupyter display.png|400x400px]]
| |
| |- | | |- |
| !1
| | | colspan="2" |Tersedia dua versi PyTorch, pilih sesuai kebutuhan: |
| | *Versi CPU - berjalan di CPU. |
| | *Versi GPU - berjalan dengan akselerasi GPU NVIDIA dan lib. CUDA. |
| |- | | |- |
| | '''[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.
| | !Versi |
| | !Perintah pip |
| |- | | |- |
| !2
| | |CPU |
| | |<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio --index-url <nowiki>https://download.pytorch.org/whl/cpu</nowiki>'''</code> |
| |- | | |- |
| |Siapkan '''conda environment''' yang akan digunakan. | | | GPU - CUDA 11.8 |
| | | |<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio --index-url <nowiki>https://download.pytorch.org/whl/cu118</nowiki>'''</code> |
| * Disarankan untuk melengkapi instalasi library sebelum sesi Jupyter.
| |
| |- | | |- |
| !3
| | |GPU - CUDA 12.1 |
| | |<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio --index-url <nowiki>https://download.pytorch.org/whl/cu121</nowiki>'''</code> |
| |- | | |- |
| | | | |GPU - CUDA 12.4 |
| {| class="wikitable"
| | |<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio'''</code> |
| |[[Berkas:New Pinnedapps jupyter.png|nirbing|116x116px]]
| |
| |Buka pinned apps '''Jupyter''' di homepage EFIRO. | |
| |} | | |} |
| | {| class="wikitable mw-collapsible mw-collapsed" |
| | !Instalasi Package Jupyter untuk user Mamba |
| |- | | |- |
| !4
| | |Conda env dari Mamba perlu instalasi package Jupyter untuk menggunakan sesi Jupyter: |
| |- | | <small>(env-user)$</small> '''mamba install -c conda-forge jupyterlab''' |
| |Isi formulir untuk memulai sesi Jupyter dengan panduan berikut:
| | <small>(env-user)$</small> '''mamba install -c conda-forge jupyter''' |
| | | |} |
| * '''Choose Jupyter version'''
| |
| ** ''Pilih sesuai preferensi user, Jupyter Lab atau Notebook.''
| |
| * '''Partition''' -> ''pilih sesuai kebutuhan:''
| |
| ** '''torti''' -> CPU saja
| |
| ** '''tilla''' -> CPU dan GPU
| |
| | |
| {| class="wikitable"
| |
| ! rowspan="2" |Formulir alokasi komputasi
| |
| ! colspan="2" |Partition
| |
| |-
| |
| !torti
| |
| !tilla
| |
| |-
| |
| |Number of CPU core(s)
| |
| | colspan="2" |2 - 32
| |
| |-
| |
| |Amount of memory/RAM
| |
| | colspan="2" |1 - 64
| |
| |-
| |
| |Number of GPUs
| |
| | -
| |
| |1
| |
| |-
| |
| |Number of hours
| |
| | colspan="2" |1 - 72
| |
| |-
| |
| | colspan="3" |'''Formulir alokasi komputasi mempunyai limit''' berdasarkan:
| |
| * Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
| |
| * Spesifikasi sistem dan software komputasi.
| |
| | |
| Langkah melihat limit:
| |
| | |
| * Buka menu '''Clusters > Aleleon Shell Access'''
| |
| | |
| [[Berkas:Shellaccess.png|nirbing|200x200px]]
| |
| | |
| * Jalankan perintah:
| |
| | |
| '''$ slimit-python'''
| |
| | |
|
| |
| |} | | |} |
| | == '''Metode Menjalankan Komputasi''' == |
| | User dapat memilih metode menjalankan komputasi sesuai keinginan: ''<small>(klik expand / kembangkan)</small>'' |
|
| |
|
| * '''Choose how to launch Jupyter''' -> Anaconda | | * '''Job submission Slurm''' |
| * '''Choose Anaconda version'''
| | ** ''Menjalankan komputasi di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Compute_Node compute node] melalui manajemen Slurm kemudian user menunggu hingga selesai.'' |
| ** ''Pilih versi yang dipakai untuk membuat conda env user.'' | | ** ''Hanya untuk file Python (.py) siap jalan, file ipynb harus diubah ke py.'' |
| * '''Conda environment directory'''
| | * '''Sesi Interaktif Slurm''' |
| ** ''Isi nama conda env user yang akan digunakan.'' | | ** ''coming soon!'' |
| * '''Software modules''' | | * '''Sesi Interaktif Jupyter''' |
| ** ''Membuat modul software, isi apabila ada.'' | | ** ''Menggunakan [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Interactive_Node interactive node] secara langsung melalui IDE Jupyter Lab atau Notebook.'' |
| ** ''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'''
| | === Job Submission Slurm === |
| ** ''Memuat environment variable, isi apabila ada.''
| | Terdapat dua pilihan tampilan yaitu dengan terminal dan web EFIRO. |
| * '''Additional Jupyter arguments'''
| | === Sesi Interaktif Jupyter === |
| ** ''Memuat argument tambahan Jupyter, isi apabila ada.''
| |
| * '''Email address'''
| |
| ** ''Notifikasi email untuk status mulai dan selesainya sesi Jupyter.''
| |
| ** ''Isi apabila berkenan.''
| |
| |-
| |
| !5
| |
| |-
| |
| |Klik tombol '''<code>Launch</code>''' untuk memulai sesi Jupyter.
| |
| *User akan diarahkan ke halaman '''<code>My Interactive Sessions</code>'''.
| |
| *Tunggu hingga sesi Jupyter siap diakses.
| |
| [[Berkas:Jupyternotebookqueue.png|nirbing|500x500px]]
| |
| |-
| |
| !6
| |
| |-
| |
| |Apabila status '''Running''', klik tombol '''<code>Connect to Jupyter</code>'''.
| |
| | |
| * Sistem mulai menghitung Core Hour!
| |
| * Untuk menghentikan sesi yang sedang running, klik tombol '''<code>Cancel</code>'''
| |
| [[Berkas:Newjupyter120124.png|nirbing|500x500px]]
| |
| |-
| |
| !7
| |
| |-
| |
| |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
| |
| |-
| |
| |User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:
| |
| | |
| * Menu '''<code>My Interactive Sessions</code>''' pada homepage EFIRO.
| |
| * Kolom '''<code>Active interactive sessions</code>''' pada 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. |