TRIAL A6: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (initial writing hingga login dan conda env) |
WilsonLisan (bicara | kontrib) (→Pilihan Menjalankan Komputasi: formatting) |
||
(7 revisi perantara oleh pengguna yang sama tidak ditampilkan) | |||
Baris 1: | Baris 1: | ||
Ini adalah panduan ''all-in-one'' untuk masa uji coba user dengan <big>'''kode [A]/6'''</big>. | Ini adalah panduan ''all-in-one'' untuk masa uji coba user dengan <big>'''kode [A]/6'''</big>. | ||
== ''''' | == '''''Login ALELEON Supercomputer''''' == | ||
{| class="wikitable" | {| class="wikitable" | ||
!- Langkah Login ke ALELEON Supercomputer - | !- Langkah Login ke ALELEON Supercomputer - | ||
|- | |- | ||
Baris 32: | Baris 14: | ||
* User dapat login keduanya di waktu bersamaan. | * User dapat login keduanya di waktu bersamaan. | ||
|- | |||
! | |||
|- | |- | ||
!Login SSH terminal | !Login SSH terminal | ||
Baris 69: | Baris 53: | ||
|} | |} | ||
== '''''Conda Environment dan Langkah Komputasi''''' == | == '''''Spesifikasi Trial dan Reproduksi Langkah''''' == | ||
'''ALELEON Supercomputer | Masa uji coba ini menjalankan komputasi Python dengan spesifikasi: | ||
# Meggunakan '''conda environment''' untuk menampung instalasi package Python dan isolasi site-packages (tempat instalasi package Python). | |||
# Dapat dijalankan secara batch job dan sesi Jupyter ALELEON Supercomputer. | |||
--- | |||
=== Conda Environment 'tensor' === | |||
'''Tim admin menyediakan conda environment siap pakai pada akun uji coba bernama 'tensor' dengan spesifikasi:''' | |||
# Dibuat dengan Anaconda 3 2024-02.1 dan Python 3.11 | |||
# Package utama TensorFlow 2.19 versi CUDA + CUDA 12.5. | |||
'''Tutorial ini memberikan info bagaimana tim admin membuat conda env 'tensor' dan menjalankannya di akun masa uji coba:''' | |||
* Supaya user dapat melakukan hal serupa apabila membutuhkan membuat conda env lain, | |||
* contoh untuk instalasi package yang tidak dapat bersama TensorFlow karena ketidakcocokan ''depedencies'' seperti PyTorch. | |||
* Tutorial ini menggunakan basis '''[<nowiki/>[[Komputasi Python dengan Conda Environment]]]''' yang dimodifikasi untuk masa uji coba ini. | |||
== '''''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'''. | |||
{| 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''''' == | |||
Tutorial ini menggunakan '''Anaconda 3''' terbaru di ALELEON yaitu versi '''2024-02.1''' dengan environment '''Python 3.11''' karena saat ini (dianggap) '''cocok untuk instalasi semua jenis package.''' | |||
{| class="wikitable" | |||
!- Membuat conda env dengan Anaconda - | |||
[[Berkas:Anaconda transparent logo.png|nirbing|90x90px]] | |||
|- | |||
|[[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><nowiki>---| 1 |---</nowiki></big> | |||
|- | |||
|Aktifkan modul Anaconda 3 2024.02-1 | |||
$ '''module load Anaconda3/2024.02-1''' | |||
|- | |||
!<big><nowiki>---| 2 |---</nowiki></big> | |||
|- | |||
|Buat conda env kosong dengan Python 3.11: | |||
$ '''conda create -n ''[nama-conda-env]'' python=3.11''' | |||
''Contoh pada conda env "tensor": | |||
$ conda create -n '''tensor python=3.11''''' | |||
|- | |||
!--- | |||
|} | |||
=='''''Mengaktifkan Conda Env dan Instalasi Package'''''== | |||
[[Berkas:GMB warning wololo.png|nirbing|50x50px]] 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.''' | |||
{| class="wikitable" | |||
!- Mengaktifkan Conda Environment - | |||
|- | |||
|[[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><nowiki>---| 1 |---</nowiki></big> | |||
|- | |||
|Muat atau pastikan modul Anaconda 3 2024.02-1 aktif: | |||
$ '''module load Anaconda3/2024.02-1''' | |||
|- | |||
!<big><nowiki>---| 2 |---</nowiki></big> | |||
|- | |||
|Aktifkan conda env dengan perintah '''<big><code>source</code></big>''': | |||
$ '''source activate ''[nama-conda-env]''''' | |||
''contoh pada conda env tensor: | |||
$ '''source activate tensor''''' | |||
Apabila lupa dengan nama conda env, cari dengan: | |||
$ '''conda env list''' | |||
|- | |||
!<big><nowiki>---| 3A |---</nowiki></big> | |||
|- | |||
!Pilih panduan instalasi package yang dibutuhkan | |||
|- | |||
|Lihat laman '''<big>[<nowiki/>[[Daftar Instalasi Package Python|Dafta]]</big><big>[[Daftar Instalasi Package Python|r Instalasi Package Python]]]</big>''' | |||
* ''<small>Pada conda env tensor lihat subbab TensorFlow.</small>'' | |||
|- | |||
!<big><nowiki>---| 3B |---</nowiki></big> | |||
|- | |||
!Untuk user yang hendak menggunakan sesi Jupyter | |||
[[Berkas:EOD Apps Jupyter full.png|nirbing|116x116px]] | |||
|- | |||
|Instal package: | |||
<sub>(env)</sub>$ '''pip install jupyter jupyterlab''' | |||
|- | |||
!<big><nowiki>---| 4 |---</nowiki></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: | |||
{| class="wikitable" | |||
!Jenis Komputasi | |||
!Berjalan di | |||
|- | |||
|'''<big>[[https://wiki.efisonlt.com/wiki/TRIAL_A6#Batch_Job Batch job]]</big>''' | |||
*'''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>'''. | |||
**''Job dijalankan oleh Slurm, user menunggu hingga selesai.'' | |||
*'''Batch job akan berhenti ketika:''' | |||
**''Program komputasi selesai berjalan.'' | |||
**''Program komputasi menyentuh limit waktu yang ditentukan user.'' | |||
** ''Program menjumpai error sehingga selesai prematur.'' | |||
*'''Koneksi user tidak mempengaruhi jalannya batch job:''' | |||
**''Job tidak akan berhenti ketika koneksi user terputus, atau'' | |||
**''user keluar (log out) dari ALELEON.'' | |||
|'''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|Compute node]]]:''' | |||
*Partisi epyc [[Berkas:GMB CPU icon.png|nirbing|50x50px]] | |||
*Partisi ampere [[Berkas:GMB GPU icon.png|nirbing|70x70px]] | |||
|- | |||
! colspan="2" | | |||
|- | |||
|'''<big>[[https://wiki.efisonlt.com/wiki/TRIAL_A6#Sesi_Jupyter Sesi Jupyter]]</big>''' | |||
*'''Menjalankan sesi interaktif Jupyter Lab atau Notebook.''' | |||
*'''Sesi Jupyter akan berhenti ketika:''' | |||
**''Waktu sesi habis.'' | |||
**''Sesi dihentikan secara manual oleh user.'' | |||
**''Sesi menjumpai error sehingga selesai prematur.'' | |||
*'''Koneksi user tidak mempengaruhi jalannya sesi Jupyter, contoh:''' | |||
**''Sesi tidak akan berhenti ketika koneksi user terputus, atau'' | |||
**''user keluar (log out) dari ALELEON.'' | |||
*'''Ketika user keluar dari sesi Jupyter saat ada cell berjalan dan kembali masuk:''' | |||
**''Bisa jadi cell tersebut tidak menampilkan proses jalannya komputasi.'' | |||
**''Lihat cell berikutnya apakah belum / sedang / sudah selesai berjalan.'' | |||
|'''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Interactive%20Node|interactive node]]]:''' | |||
*Partisi torti [[Berkas:GMB CPU icon.png|nirbing|50x50px]] | |||
*Partisi tilla [[Berkas:GMB GPU icon.png|nirbing|70x70px]] | |||
|}--- | |||
=== '''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 | |||
|- | |||
|[[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><nowiki>---| 1 |---</nowiki></big> | |||
|- | |||
|'''[[https://wiki.efisonlt.com/wiki/TRIAL_A6#Mengaktifkan_Conda_Env_dan_Instalasi_Package Aktifkan conda env]]''' yang akan digunakan. | |||
|- | |||
!<big><nowiki>---| 2 |---</nowiki></big> | |||
|- | |||
|Cek ketersediaan library CUDA di conda env tersebut: | |||
- Apabila instal package dengan pip | |||
<sub>(env)</sub>$ '''pip list | grep cuda''' | |||
- Apabila instal package dengan conda | |||
<sub>(env)</sub>$ '''conda list | grep cuda''' | |||
|- | |||
!<big><nowiki>---| 3A |---</nowiki></big> | |||
|- | |||
!''Apabila ada output:'' | |||
|- | |||
|Conda env siap digunakan. | |||
*User '''tidak perlu memuat modul CUDA.''' | |||
|- | |||
!<big><nowiki>---| 3B |---</nowiki></big> | |||
|- | |||
![[Berkas:GMB warning wololo.png|nirbing|50x50px]] ''Apabila tidak ada output:'' | |||
|- | |||
|User '''harus memuat modul CUDA''' dengan ketentuan: | |||
#Perhatikan versi CUDA '''yang dibutuhkan package'''. | |||
#Lihat dokumentasi package tersebut. | |||
''<small><code>(klik expand / kembangkan)</code></small>'' | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
! colspan="2" |- Tutorial memuat dan daftar modul CUDA - | |||
[[Berkas:Logo CUDA ALELEON tp.png|nirbing|150x150px]] | |||
|- | |||
! colspan="2" |'''<big>Opsi Batch Job</big>''' | |||
|- | |||
| colspan="2" |Tambah perintah berikut pada submit script: | |||
... | |||
# Memuat modul | |||
module load ${PM} | |||
'''module load ''[Nama-modul-CUDA]''''' | |||
... | |||
|- | |||
! colspan="2" |'''<big>Opsi Sesi Jupyter</big>''' | |||
|- | |||
| colspan="2" |Isi nama modul pada kolom '''Software Modules''' | |||
|- | |||
! colspan="2" | | |||
|- | |||
! colspan="2" |DAFTAR MODUL CUDA ALELEON | |||
|- | |||
!Versi CUDA | |||
!Nama modul CUDA | |||
|- | |||
|11.2 | |||
|<code>cuda/11.2-cuDNN8.1.1</code> | |||
|- | |||
|11.6 | |||
|<code>cuda/11.6-cuDNN8.3.3</code> | |||
|- | |||
|11.8 | |||
|<code>cuda/11.8-cuDNN8.6.0</code> | |||
|- | |||
|12.0 | |||
|<code>cuda/12.0-cuDNN8.7.0</code> | |||
|- | |||
|12.1 | |||
|<code>cuda/12.1-cuDNN8.8.1</code> | |||
|- | |||
|12.3 | |||
|<code>cuda/12.3-cuDNN8.9.6</code> | |||
|- | |||
|12.4 | |||
|<code>cuda/12.4-cuDNN9.2.1</code> | |||
|- | |||
|12.5 | |||
|<code>cuda/12.5-cuDNN9.2.1</code> | |||
|- | |||
| colspan="2" |Permintaan instalasi CUDA versi lain: | |||
*Hubungi tim admin di '''''support@efisonlt.com''''' | |||
|- | |||
! colspan="2" |--- | |||
|} | |||
|- | |||
!--- | |||
|}--- | |||
===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 '''file <code>.ipynb</code>''' harus dikonversi ke '''file <code>.py</code>'''. | |||
*Tersedia dua pilihan tampilan yaitu terminal dan web EFIRO. Pilih sesuai keinginan. | |||
''<small><code>(klik expand / kembangkan)</code></small>'' | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!- Langkah Batch Job di Terminal - | |||
[[Berkas:Sbatch terminal display rev2.png|tepi|400x400px]] | |||
|- | |||
!''Tutorial ini mengasumsikan user familiar dengan terminal Linux'' | |||
|- | |||
|[[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><nowiki>---| 1 |---</nowiki></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]]''' | |||
'''[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Untuk mencegah batch job mengacu site-packages yang salah:''' | |||
1 - ''Apabila'' conda env aktif, keluar: | |||
<small>(env)</small>$ '''conda deactivate''' | |||
2 - Menonaktifkan modul Anaconda: | |||
$ '''ml unload Anaconda3''' | |||
<small>Apabila ada pesan ini, abaikan: | |||
'''''the module ... cannot be unloaded because it was not loaded'''''</small> | |||
|- | |||
!<big><nowiki>---| 2 |---</nowiki></big> | |||
|- | |||
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi: | |||
*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: | |||
*Ikuti petunjuk '''NOTES dan alur script''' di dalamnya. | |||
''<small><code>Klik expand / kembangkan</code></small>'' | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!- Template submit script Conda Environment versi CPU - | |||
[[Berkas:GMB CPU icon.png|nirbing|80x80px]] | |||
|- | |||
|'''Note:''' | |||
* '''Perhatikan akun uji coba punya limit alokasi komputasi maksimal:''' | |||
** CPU 16 core thread. | |||
** RAM 64GB. | |||
** Walltime (waktu limit komputasi) 24 jam. | |||
* Apabila menggunakan conda env selain '''<nowiki/>'tensor'''': | |||
** Ganti isi variabel <code>'''CONDA_NAME'''</code> dengan conda env yang akan dipakai. | |||
|- | |||
|<syntaxhighlight lang="bash" line="1"> | |||
#!/bin/bash | |||
# ----------------------------------------------------- | |||
# Template SLURM Submit Script | |||
# Python dengan Conda Environment (CPU) | |||
# TRIAL UST CODE: [A]/6 | |||
# | |||
# NOTES: | |||
# 1. Isi bagian yang ditandai 4 garing (////). | |||
# 2. Template ini bersifat referensi. | |||
# User dapat mengubah bagian yang perlu diubah. | |||
# 3. Pastikan user sudah melengkapi conda environment. | |||
# ----------------------------------------------------- | |||
# ----------------------------------------------------- | |||
# Alokasi komputasi SBATCH dan file input | |||
# ----------------------------------------------------- | |||
# Alokasi jumlah core thread CPU, range 2 - 16 | |||
#SBATCH --ntasks=//// | |||
# Alokasi jumlah memori RAM (satuan GB), range 1 - 64 | |||
#SBATCH --mem=////GB | |||
# Alokasi limit waktu menjalankan job | |||
# Format HH:MM:SS atau D-HH:MM:SS, maks 24:00:00 | |||
#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 | |||
# Input nama modul package manager yang digunakan untuk membuat | |||
# conda env user. | |||
PM="Anaconda3/2024.02-1" | |||
# Nama conda environment yang digunakan | |||
CONDA_NAME="tensor" | |||
# ---------------------------------------------------- | |||
# Script jalannya program | |||
# ---------------------------------------------------- | |||
# Memuat modul | |||
module load ${PM} | |||
# Mengaktifkan Conda Environment | |||
source activate ${CONDA_NAME} | |||
# Tuliskan perintah menjalankan komputasi Python user | |||
# contoh -> python3 nama-file-python | |||
//// | |||
</syntaxhighlight> | |||
|} | |||
|- | |||
| | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!- Template submit script conda environment versi GPU - | |||
[[Berkas:GMB GPU icon.png|nirbing|100x100px]] | |||
|- | |||
|'''Note:''' | |||
*[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Perhatikan apakah perlu memuat modul CUDA? | |||
**Conda env ''''tensor'''<nowiki/>' tidak perlu memuat modul CUDA. | |||
**Info detail lihat '''[[https://wiki.efisonlt.com/wiki/TRIAL_A6#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]''''' | |||
... | |||
* '''Perhatikan akun uji coba punya limit alokasi komputasi maksimal:''' | |||
** CPU 16 core thread. | |||
** GPU 1 unit. | |||
** RAM 64GB. | |||
** Walltime (waktu limit komputasi) 24 jam. | |||
* Apabila menggunakan conda env selain '''<nowiki/>'tensor'''': | |||
** Ganti isi variabel <code>'''CONDA_NAME'''</code> dengan conda env yang akan dipakai. | |||
|- | |||
|<syntaxhighlight lang="bash" line="1"> | |||
#!/bin/bash | |||
# ----------------------------------------------------- | |||
# Template SLURM Submit Script | |||
# Python dengan Conda Environment (GPU) | |||
# TRIAL UST CODE: [A]/6 | |||
# | |||
# NOTES: | |||
# 1. Isi bagian yang ditandai 4 garing (////). | |||
# 2. Template ini bersifat referensi. | |||
# User dapat mengubah bagian yang perlu diubah. | |||
# 3. Pastikan user sudah melengkapi conda environment. | |||
# ----------------------------------------------------- | |||
# ----------------------------------------------------- | |||
# Alokasi komputasi SBATCH dan file input | |||
# ----------------------------------------------------- | |||
# Partisi GPU untuk batch job | |||
#SBATCH --partition=ampere | |||
# Alokasi jumlah core thread CPU, range 2 - 16 | |||
#SBATCH --ntasks=//// | |||
# Mengalokasikan 1 GPU | |||
#SBATCH --gpus=1 | |||
# Alokasi jumlah memori RAM (satuan GB), range 1 - 64 | |||
#SBATCH --mem=////GB | |||
# Alokasi limit waktu menjalankan job | |||
# Format HH:MM:SS atau D-HH:MM:SS, maks 24:00:00 | |||
#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 | |||
# Input nama modul package manager yang digunakan untuk membuat | |||
# conda env user. | |||
PM="Anaconda3/2024.02-1" | |||
# Nama conda environment yang digunakan | |||
CONDA_NAME="tensor" | |||
# ---------------------------------------------------- | |||
# Script jalannya program | |||
# ---------------------------------------------------- | |||
# Memuat modul | |||
# Modul NVIDIA CUDA telah tersedia di conda env tensor | |||
module load ${PM} | |||
# Mengaktifkan Conda Environment | |||
source activate ${CONDA_NAME} | |||
# Tuliskan perintah menjalankan komputasi Python user | |||
# contoh -> python3 nama-file-python | |||
//// | |||
</syntaxhighlight> | |||
|} | |||
|- | |||
! | |||
|- | |||
| | |||
*''Detail Submit Script lihat '''[<nowiki/>[[Submit Script ALELEON Supercomputer|Subm]][[Submit Script ALELEON Supercomputer|it Script ALELEON Supercomputer]]]''''' | |||
*''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><nowiki>---| 3 |---</nowiki></big> | |||
|- | |||
|Jalankan job dengan perintah: | |||
$ '''sbatch ''[nama-submit-script]''''' | |||
''Contoh:'' | |||
$ sbatch submit.sh | |||
|- | |||
!<big><nowiki>---| 4 |---</nowiki></big> | |||
|- | |||
|User dapat melihat status jalannya job dengan perintah: | |||
$ '''squeue -ul $USER''' | |||
*''Apabila tidak ada di squeue artinya job bersangkutan telah berakhir.'' | |||
*''Job berakhir ketika:'' | |||
**''Komputasi selesai atau ada error sehingga selesai prematur.'' | |||
**''Job menyentuh walltime yang didefinisikan user di SBATCH time.'' | |||
{| class="wikitable" | |||
|+Kolom ST atau STATE menunjukkan status jalannya job: | |||
|- | |||
! STATE | |||
!Penjelasan | |||
|- | |||
|<code>'''R (RUN)'''</code> | |||
|Job berjalan | |||
|- | |||
|<code>'''PD (PENDING)'''</code> | |||
|Job tertahan, lihat '''[<nowiki/>[[Daftar Job Reason ALELEON Supercomputer|Daftar Job Reason]]]''' | |||
|- | |||
|<code>'''CG (COMPLETING)'''</code> | |||
|Job selesai dan dalam proses clean-up | |||
|- | |||
|<code>'''CA (CANCELED)'''</code> | |||
|Job dibatalkan user | |||
|- | |||
|<code>'''PR (PREEMPETED)'''</code> | |||
|Job dibatalkan admin, alasan dikabarkan via email | |||
|- | |||
|<code>'''S (SUSPENDED)'''</code> | |||
|Job ditahan admin, alasan dikabarkan via email | |||
|} | |||
'''[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Perhatikan akun uji coba punya limit 1 concurrent job:''' | |||
* Hanya 1 job yang bisa berjalan dalam satu waktu. | |||
* Apabila ada job yang jalan, job lain yang disubmit akan mengantri. | |||
|- | |||
!<big><nowiki>---| 5 |---</nowiki></big> | |||
|- | |||
!Memantau konsumsi Core Hour | |||
|- | |||
|User dapat memantau CCH dan GH dengan menjalankan: | |||
$ '''sausage''' | |||
''Perhatikan sausage update nilai setiap 1 jam'' | |||
Apabila telah ada pembacaan CCH dan GH, artinya: | |||
* ''Akun uji coba ini telah digunakan user sebelumnya.'' | |||
* ''Catat nilai yg terbaca sebagai referensi.'' | |||
|- | |||
!<big><nowiki>---| 6 |---</nowiki></big> | |||
|- | |||
|User dapat memantau file output dengan perintah Unix seperti: | |||
*'''<code>ls</code>''', '''<code>cat</code>''', '''<code>more</code>''', '''<code>tail</code>''', dll | |||
|- | |||
!<big><nowiki>---| 7 |---</nowiki></big> | |||
|- | |||
|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''' | |||
|- | |||
!--- | |||
|} | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!- Langkah Batch Job di web EFIRO - | |||
[[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]] | |||
|- | |||
!<big><nowiki>---| 1 |---</nowiki></big> | |||
|- | |||
| [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_ |'''[[https://wiki.efisonlt.com/wiki/TRIAL_A6#Login_ALELEON_Supercomputer Login ke web EFIRO]]''' ALELEON Supercomputer. | |||
|- | |||
!<big><nowiki>---| 2 |---</nowiki></big> | |||
|- | |||
| | |||
{| class="wikitable" | |||
|[[Berkas:EOD Apps Job Composer full.png|nirbing|126x126px]] | |||
|Klik app '''<code><big>Job Composer</big></code>''' di homepage EFIRO. | |||
*''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><nowiki>---| 3 |---</nowiki></big> | |||
|- | |||
!Buat ruang job untuk menjalankan komputasi: | |||
|- | |||
| | |||
{| class="wikitable" | |||
|+Pilih template Anaconda Python yang diinginkan: | |||
|- | |||
!Nama Template | |||
!Penjelasan | |||
|- | |||
|TRIAL [A]/6 - Conda Env (CPU) | |||
|Menjalankan conda env pada CPU | |||
|- | |||
|TRIAL [A]/6 - Conda Env (GPU) | |||
|Menjalankan conda env pada GPU | |||
|}Kemudian Isi '''Job Name''' dan klik '''<code><big>Create New Job</big></code>''' | |||
[[Berkas:Jctemplate-2.png|nirbing]] | |||
|- | |||
!<big><nowiki>---| 4 |---</nowiki></big> | |||
|- | |||
!Lakukan persiapan: | |||
|- | |||
|'''Pastikan package lengkap pada conda env yang akan digunakan:''' | |||
*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]] | |||
|- | |||
!<big><nowiki>---| 5 |---</nowiki></big> | |||
|- | |||
|Lengkapi '''Submit Script''' melalui tombol '''<code><big>Open Editor</big></code>''' | |||
*Submit script adalah 'formulir' untuk menjalankan job komputasi. | |||
*Ikuti petunjuk '''NOTES dan alur script''' di dalamnya. | |||
*Klik '''<code><big>Save</big></code>''' setiap kali mengubah script. | |||
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]] | |||
|- | |||
! | |||
|- | |||
|'''Note:''' | |||
*'''Perhatikan akun uji coba punya limit alokasi komputasi maksimal:''' | |||
** CPU 16 core thread. | |||
** GPU 1 unit. | |||
** RAM 64GB. | |||
** Walltime (waktu limit komputasi) 24 jam. | |||
* '''Apabila menggunakan conda env selain <nowiki/>'tensor':''' | |||
** Ganti isi variabel <code>CONDA_NAME</code> dengan conda env yang akan dipakai. | |||
* '''[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Apabila memiliih template GPU:''' | |||
**Perhatikan apakah perlu memuat modul CUDA? | |||
**Conda env ''''tensor'''<nowiki/>' tidak perlu memuat modul CUDA. | |||
**Info detail lihat '''[[https://wiki.efisonlt.com/wiki/TRIAL_A6#Menjalankan_Package_Python_versi_GPU? Menjalankan Package Python Versi GPU?]]''' | |||
***'''''Apabila butuh''''', isi nama modul CUDA pada submit script: | |||
... | |||
module load ${PM} | |||
'''''module load [Nama-modul-CUDA]''''' | |||
... | |||
|- | |||
! | |||
|- | |||
| | |||
*''Detail Submit Script lihat '''[<nowiki/>[[Submit Script ALELEON Supercomputer|Subm]][[Submit Script ALELEON Supercomputer|it Script ALELEON Supercomputer]]]''''' | |||
*''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><nowiki>---| 6 |---</nowiki></big> | |||
|- | |||
|Jalankan job dengan klik tombol '''<code><big>Submit</big></code>''' | |||
[[Berkas:JC job runstop.png|al=|nirbing|400x400px]] | |||
*''Job berakhir '''(Status completed)''' ketika:'' | |||
**''Komputasi selesai atau ada error sehingga selesai prematur.'' | |||
**''Job menyentuh walltime yang didefinisikan user di SBATCH time.'' | |||
{| class="wikitable" | |||
|+Kolom Status menunjukkan status jalannya job: | |||
|- | |||
!Status | |||
!Arti | |||
|- | |||
|'''Not Submitted''' | |||
|Job belum pernah dijalankan. | |||
|- | |||
|'''Running''' | |||
|Job berjalan. | |||
|- | |||
|'''Queue''' | |||
|Job mengantri dan belum berjalan. | |||
|- | |||
|'''Completed''' | |||
|Job selesai berjalan. | |||
|- | |||
|'''Failed''' | |||
|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]]''''']] | |||
|} | |||
'''[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Perhatikan akun uji coba punya limit 1 concurrent job:''' | |||
* Hanya 1 job yang bisa berjalan dalam satu waktu. | |||
* Apabila ada job yang jalan, job lain yang disubmit akan mengantri. | |||
|- | |||
!<big><nowiki>---| 7 |---</nowiki></big> | |||
|- | |||
|User dapat memantau CCH dan GH dengan: | |||
# Buka menu '''<code><big>Open Terminal</big></code>''' | |||
# Jalankan perintah: | |||
$ '''sausage''' | |||
''Perhatikan sausage update nilai setiap 1 jam'' | |||
Apabila telah ada pembacaan CCH dan GH, artinya: | |||
* ''Akun uji coba ini telah digunakan user sebelumnya.'' | |||
* ''Catat nilai yg terbaca sebagai referensi.'' | |||
|- | |||
!<big><nowiki>---| 8 |---</nowiki></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><nowiki>---| 9 |---</nowiki></big> | |||
|- | |||
|Apabila user ingin menghentikan job yang berjalan, klik '''<code><big>Stop</big></code>''' | |||
|- | |||
!<big><nowiki>---| 10 |---</nowiki></big> | |||
|- | |||
|Untuk menghapus ruang job dan datanya: | |||
*Pilih ruang job yang akan dihapus. | |||
*Perhatikan opsi ini juga '''menghapus data di ruang job tersebut.''' | |||
*Klik menu '''<code><big>Delete</big></code>''' | |||
[[Berkas:JC delete menu.png|nirbing|400x400px]] | |||
|- | |||
!--- | |||
|} | |||
===Sesi Jupyter=== | |||
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" | |||
!- Langkah Sesi Jupyter - | |||
[[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/TRIAL_A6#Login_ALELEON_Supercomputer Login ke web EFIRO]]''' ALELEON Supercomputer. | |||
|- | |||
!<big><nowiki>---| 2 |---</nowiki></big> | |||
|- | |||
!Lakukan persiapan sebelum sesi Jupyter: | |||
|- | |||
|'''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. | |||
|- | |||
!<big><nowiki>---| 3 |---</nowiki></big> | |||
|- | |||
| | |||
{| class="wikitable" | |||
|[[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>''' | |||
|} | |||
|- | |||
!<big><nowiki>---| 4 |---</nowiki></big> | |||
|- | |||
|Isi formulir untuk memulai sesi Jupyter dengan panduan berikut: | |||
{| class="wikitable" | |||
!<code>''<big>Choose Jupyter version</big>''</code> | |||
|- | |||
|Pilih sesuai preferensi user, <code>Jupyter Lab</code> atau <code>Notebook</code> | |||
|- | |||
! | |||
|- | |||
!''<code><big>Partition</big></code>'' | |||
|- | |||
|Pilih sesuai kebutuhan: | |||
*<code>'''torti'''</code> -> interactive node CPU [[Berkas:GMB CPU icon.png|nirbing|60x60px]] | |||
*<code>'''tilla'''</code> -> interactive node GPU [[Berkas:GMB GPU icon.png|nirbing|90x90px]] | |||
|- | |||
! | |||
|- | |||
!<code>''<big>Number of CPU thread(s)</big>''</code> | |||
|- | |||
|Alokasi core CPU, range <code><big>'''2 - 16'''</big></code> | |||
|- | |||
! | |||
|- | |||
!<code>''<big>Amount of memory/RAM (GB)</big>''</code> | |||
|- | |||
|Alokasi RAM dalam satuan GB, range <code><big>'''1 - 55'''</big></code> | |||
|- | |||
! | |||
|- | |||
!''<code><big>Number of GPUs</big></code> (apabila pilih partition tilla)'' | |||
|- | |||
|Jumlah GPU, isi angka <code><big>'''1'''</big></code> | |||
|- | |||
! | |||
|- | |||
!''<code><big>Number of hours</big></code>'' | |||
|- | |||
|Waktu maksimal sesi Jupyter, range <code><big>'''1 - 24'''</big></code> | |||
|- | |||
![[Berkas:GMB warning wololo.png|nirbing|50x50px]] Limit komputasi | |||
|- | |||
|'''Perhatikan akun uji coba punya limit alokasi komputasi maksimal:''' | |||
* CPU 16 core thread. | |||
* GPU 1 unit. | |||
* RAM 64GB. | |||
* Walltime (waktu limit komputasi) 24 jam. | |||
|- | |||
! | |||
|- | |||
!''<code><big>Choose how to launch Jupyter</big></code>'' | |||
|- | |||
|Pilih <code>'''Anaconda/Mamba'''</code> | |||
|- | |||
! | |||
|- | |||
!''<code><big>Choose Anaconda/Mamba version</big></code>'' | |||
|- | |||
|Pilih '''<code>Anaconda 3 2024.02-1</code>''' | |||
|- | |||
! | |||
|- | |||
!''<code><big>Conda/Mamba environment directory</big></code>'' | |||
|- | |||
|Isi <code>'''tensor'''</code> | |||
* ''Kecuali apabila user menggunakan conda env lain:'' | |||
* ''Isi dengan nama conda env yang dibuat user.'' | |||
|- | |||
! | |||
|- | |||
!''<code><big>Software Modules</big></code>'' | |||
|- | |||
|Memuat modul software diluar conda env user , ''isi apabila ada''. | |||
|- | |||
|[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Bagi user yang memilih '''partition tilla''': | |||
*Perhatikan apakah perlu memuat modul CUDA? | |||
*Conda env ''''tensor'''<nowiki/>' tidak perlu memuat modul CUDA. | |||
*Info detail lihat '''[[https://wiki.efisonlt.com/wiki/TRIAL_A6#Menjalankan_Package_Python_versi_GPU? Menjalankan Package Python Versi GPU?]]''' | |||
*'''''Apabila butuh''''', isi form ini dengan nama modul CUDA. | |||
|- | |||
! | |||
|- | |||
!''<code><big>Environment setup</big></code>'' | |||
|- | |||
|Memuat environment variable, ''isi apabila ada''. | |||
|- | |||
! | |||
|- | |||
!''<code><big>Additional Jupyter arguments</big></code>'' | |||
|- | |||
|Memuat argumen tambahan Jupyter, ''isi apabila ada''. | |||
|- | |||
! | |||
|- | |||
!''<code><big>Email address</big></code>'' | |||
|- | |||
|Notifikasi email untuk status mulai dan selesainya Jupyter. | |||
*''Isi apabila berkenan.'' | |||
|} | |||
* | |||
|- | |||
!<big><nowiki>---| 5 |---</nowiki></big> | |||
|- | |||
|Klik tombol '''<code><big>Launch</big></code>''' untuk memulai sesi Jupyter: | |||
*User akan diarahkan ke halaman '''<code><big>My Interactive Sessions</big></code>''' | |||
*Tunggu hingga sesi Jupyter siap diakses. | |||
[[Berkas:Jupyternotebookqueue.png|nirbing|500x500px]] | |||
|- | |||
!<big><nowiki>---| 6 |---</nowiki></big> | |||
|- | |||
|Apabila status '''Running''', klik tombol '''<code><big>Connect to Jupyter</big></code>''' | |||
*[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Sistem mulai menghitung Core Hour! | |||
*Sesi akan terus berjalan selama '''waktu sesi masih ada'''. | |||
*Untuk menghentikan sesi yang running, klik tombol '''<code><big>Cancel</big></code>''' | |||
[[Berkas:Newjupyter120124.png|nirbing|500x500px]] | |||
|- | |||
!<big><nowiki>---| 7 |---</nowiki></big> | |||
|- | |||
|Gunakan kernel '''Python 3 (ipykernel)''' untuk sesi Jupyter. | |||
|- | |||
!<big><nowiki>---| 8A |---</nowiki></big> | |||
|- | |||
|User dapat memantau CCH dan GH dengan: | |||
# Buka menu '''<code><big>Apps > Aleleon Shell Access</big></code>''' | |||
# Jalankan perintah: | |||
$ '''sausage''' | |||
''Perhatikan sausage update nilai setiap 1 jam'' | |||
Apabila telah ada pembacaan CCH dan GH, artinya: | |||
* ''Akun uji coba ini telah digunakan user sebelumnya.'' | |||
* ''Catat nilai yg terbaca sebagai referensi.'' | |||
|- | |||
!<big><nowiki>---| 8B |---</nowiki></big> | |||
|- | |||
|'''Sesi Jupyter tidak terputus ketika:''' | |||
*Koneksi user terputus saat sesi Jupyter. | |||
*User keluar / log out dari sesi Jupyter dan web EFIRO. | |||
'''User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:''' | |||
*Menu '''<code><big>My Interactive Sessions</big></code>''' | |||
*Kolom '''<code><big>Active interactive sessions</big></code>''' di homepage EFIRO. | |||
[[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Ketika user keluar saat ada cell berjalan dan kembali masuk:''' | |||
*Bisa jadi cell tersebut tidak menampilkan proses jalannya komputasi. | |||
*Lihat cell berikutnya apakah belum / sedang / selesai berjalan. | |||
|- | |||
!--- | |||
|} | |||
=='''''Pelaporan Kendala dan Support'''''== | |||
Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini. | |||
[[Berkas:Wiki-pelaporankendala.jpg|1000x1000px|link=https://efisonlt.com/aleleonbugreport]] | |||
Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email: | |||
'''support@efisonlt.com''' | |||
Revisi terkini sejak 17 Mei 2025 19.09
Ini adalah panduan all-in-one untuk masa uji coba user dengan kode [A]/6.
Login ALELEON Supercomputer
- Langkah Login ke ALELEON Supercomputer - | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
---| 1 |--- | ||||||||||
Aktifkan [Koneksi VPN ALELEON Supercomputer] | ||||||||||
---| 2 |--- | ||||||||||
Pilih opsi login:
| ||||||||||
Login SSH terminal | ||||||||||
Lakukan SSH dengan software shell preferensi user:
| ||||||||||
Login Portal Web EFIRO | ||||||||||
Buka portal web EFIRO. Login dengan username dan password user.
| ||||||||||
--- |
Spesifikasi Trial dan Reproduksi Langkah
Masa uji coba ini menjalankan komputasi Python dengan spesifikasi:
- Meggunakan conda environment untuk menampung instalasi package Python dan isolasi site-packages (tempat instalasi package Python).
- Dapat dijalankan secara batch job dan sesi Jupyter ALELEON Supercomputer.
---
Conda Environment 'tensor'
Tim admin menyediakan conda environment siap pakai pada akun uji coba bernama 'tensor' dengan spesifikasi:
- Dibuat dengan Anaconda 3 2024-02.1 dan Python 3.11
- Package utama TensorFlow 2.19 versi CUDA + CUDA 12.5.
Tutorial ini memberikan info bagaimana tim admin membuat conda env 'tensor' dan menjalankannya di akun masa uji coba:
- Supaya user dapat melakukan hal serupa apabila membutuhkan membuat conda env lain,
- contoh untuk instalasi package yang tidak dapat bersama TensorFlow karena ketidakcocokan depedencies seperti PyTorch.
- Tutorial ini menggunakan basis [Komputasi Python dengan Conda Environment] yang dimodifikasi untuk masa uji coba ini.
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
Tutorial ini menggunakan Anaconda 3 terbaru di ALELEON yaitu versi 2024-02.1 dengan environment Python 3.11 karena saat ini (dianggap) cocok untuk instalasi semua jenis package.
- Membuat conda env dengan Anaconda - |
---|
Menggunakan terminal!
|
---| 1 |--- |
Aktifkan modul Anaconda 3 2024.02-1
$ module load Anaconda3/2024.02-1 |
---| 2 |--- |
Buat conda env kosong dengan Python 3.11:
$ conda create -n [nama-conda-env] python=3.11 Contoh pada conda env "tensor": $ conda create -n tensor python=3.11 |
--- |
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 atau pastikan modul Anaconda 3 2024.02-1 aktif:
$ module load Anaconda3/2024.02-1 |
---| 2 |--- |
Aktifkan conda env dengan perintah source :
$ source activate [nama-conda-env] contoh pada conda env tensor: $ source activate tensor 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 |--- |
Untuk user yang hendak menggunakan sesi 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!
| ||||||||||||||
---| 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 Anaconda: $ ml unload Anaconda3 Apabila ada pesan ini, abaikan: the module ... cannot be unloaded because it was not loaded | ||||||||||||||
---| 2 |--- | ||||||||||||||
Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi:
$ nano submit.sh atau vim | ||||||||||||||
Contoh template Submit Script:
| ||||||||||||||
| ||||||||||||||
| ||||||||||||||
---| 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 |--- | ||||||||||||||
Memantau konsumsi Core Hour | ||||||||||||||
User dapat memantau CCH dan GH dengan menjalankan:
$ sausage Perhatikan sausage update nilai setiap 1 jam Apabila telah ada pembacaan CCH dan GH, artinya:
| ||||||||||||||
---| 6 |--- | ||||||||||||||
User dapat memantau file output dengan perintah Unix seperti:
| ||||||||||||||
---| 7 |--- | ||||||||||||||
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:
| ||||||||||||||||
---| 5 |--- | ||||||||||||||||
Lengkapi Submit Script melalui tombol Open Editor
| ||||||||||||||||
Note:
... module load ${PM} module load [Nama-modul-CUDA] ... | ||||||||||||||||
| ||||||||||||||||
---| 6 |--- | ||||||||||||||||
Jalankan job dengan klik tombol Submit
| ||||||||||||||||
---| 7 |--- | ||||||||||||||||
User dapat memantau CCH dan GH dengan:
$ sausage Perhatikan sausage update nilai setiap 1 jam Apabila telah ada pembacaan CCH dan GH, artinya:
| ||||||||||||||||
---| 8 |--- | ||||||||||||||||
Lihat output file komputasi pada kolom Folder Contents
| ||||||||||||||||
---| 9 |--- | ||||||||||||||||
Apabila user ingin menghentikan job yang berjalan, klik Stop
| ||||||||||||||||
---| 10 |--- | ||||||||||||||||
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 |--- | |||||||||||||||||||||||||||||||||||||||||
Gunakan kernel Python 3 (ipykernel) untuk sesi Jupyter. | |||||||||||||||||||||||||||||||||||||||||
---| 8A |--- | |||||||||||||||||||||||||||||||||||||||||
User dapat memantau CCH dan GH dengan:
$ sausage Perhatikan sausage update nilai setiap 1 jam Apabila telah ada pembacaan CCH dan GH, artinya:
| |||||||||||||||||||||||||||||||||||||||||
---| 8B |--- | |||||||||||||||||||||||||||||||||||||||||
Sesi Jupyter tidak terputus ketika:
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