ATEST: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (→Job Submission Web EFIRO: test) |
WilsonLisan (bicara | kontrib) (→Job Submission Web EFIRO: test) |
||
Baris 254: | Baris 254: | ||
* gpus * time (jam) lebih besar dari sisa GPU Hour user | * gpus * time (jam) lebih besar dari sisa GPU Hour user | ||
Cek sisa kredit dengan perintah '''<code>sausage</code>''' | Cek sisa kredit dengan perintah '''<code>sausage</code>''' di terminal. | ||
|- | |- | ||
|'''Limitasi [[Limitasi Fair Usage ALELEON Supercomputer|fair policy usage]] untuk menjaga kualitas layanan:''' | |'''Limitasi [[Limitasi Fair Usage ALELEON Supercomputer|fair policy usage]] untuk menjaga kualitas layanan:''' | ||
Baris 331: | Baris 331: | ||
|User dapat melihat status jalannya job dengan perintah: | |User dapat melihat status jalannya job dengan perintah: | ||
'''<code>$ squeue -ul $USER</code>''' | '''<code>$ squeue -ul $USER</code>''' | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
! colspan="2" |Daftar ST (STATE) yang menunjukkan status jalannya job: | |||
|- | |||
!STATE | !STATE | ||
!Penjelasan | !Penjelasan | ||
Baris 383: | Baris 383: | ||
|- | |- | ||
|3 | |3 | ||
|Pilih template Anaconda Python yang diinginkan. | |||
{| class="wikitable" | {| class="wikitable" | ||
! colspan="2" |Template yang tersedia | ! colspan="2" |Template yang tersedia | ||
[[Berkas:Jctemplate-1.png|nirbing|400x400px]] | |||
|- | |- | ||
!Nama Template | !Nama Template | ||
Baris 399: | Baris 397: | ||
|Menjalankan Anaconda Python versi GPU | |Menjalankan Anaconda Python versi GPU | ||
|} | |} | ||
Isi '''<code>Job Name</code>''' kemudian klik '''<code>Create New Job</code>'''[[Berkas:Jctemplate-2.png|nir|jmpl]] | |||
|- | |- | ||
| | |4 | ||
|Upload dan edit file untuk menjalankan komputasi pada '''<code>Edit Files</code>'''[[Berkas:Jcjoboption3.png|nir|jmpl|400x400px]] | |Upload dan edit file untuk menjalankan komputasi pada '''<code>Edit Files</code>'''[[Berkas:Jcjoboption3.png|nir|jmpl|400x400px]] | ||
* Untuk upload file tunggal diatas 2GB gunakan [[Upload File dengan Aplikasi FTP|'''software FTP''']]. | * Untuk upload file tunggal diatas 2GB gunakan [[Upload File dengan Aplikasi FTP|'''software FTP''']]. | ||
* Apabila butuh akses terminal untuk edit conda env buka <code>'''Open Terminal'''</code>. | * Apabila butuh akses terminal untuk edit conda env buka <code>'''Open Terminal'''</code>. | ||
|- | |- | ||
| | | rowspan="2" |5 | ||
|Lengkapi '''Submit Script''' melalui menu '''<code>Open Editor</code>'''.[[Berkas:Jceditor3.png|al=|nir|jmpl|400x400px]] | |||
* Ikuti petunjuk NOTES | * Submit script adalah 'formulir' untuk menjalankan job komputasi. | ||
* Ikuti petunjuk NOTES didalamnya | |||
* Klik '''<code>Save</code>''' setiap kali mengubah script. | * Klik '''<code>Save</code>''' setiap kali mengubah script. | ||
* | |- | ||
| | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!Panduan nilai maksimal alokasi komputasi SBATCH | |||
|- | |||
|Pada akun perseorangan, SLURM akan menahan job apabila: | |||
* ntasks * time (jam) lebih besar dari sisa CPU Core Hour user | |||
* gpus * time (jam) lebih besar dari sisa GPU Hour user | |||
Cek sisa kredit dengan perintah '''<code>sausage</code>''' di menu <code>'''Open Terminal'''</code> | |||
|- | |||
|'''Limitasi [[Limitasi Fair Usage ALELEON Supercomputer|fair policy usage]] untuk menjaga kualitas layanan:''' | |||
{| class="wikitable" | |||
!ntasks | |||
!mem | |||
!gpus | |||
!time | |||
|- | |||
|128 | |||
|128GB | |||
|2 | |||
|72:00:00 | |||
|} | |||
User dapat mengajukan permintaan membuka limitasi melalui [https://efisonlt.com/pelaporan-kendala-aleleon-supercomputer/ '''form ini''']. | |||
|- | |||
|'''Versi CPU:''' | |||
{| class="wikitable" | |||
!Node | |||
!ntasks | |||
!mem | |||
!gpus | |||
!time | |||
|- | |||
|normal | |||
| rowspan="2" |128 | |||
|240GB | |||
| rowspan="2" | - | |||
| rowspan="2" |72:00:00 | |||
|- | |||
|high-mem* | |||
|500GB | |||
|} | |||
<nowiki>*</nowiki>Tambahkan parameter <code>'''#SBATCH --nodelist=epyc001'''</code> | |||
|- | |||
|'''Versi GPU:''' | |||
{| class="wikitable" | |||
!ntasks | |||
!mem | |||
!gpus | |||
!time | |||
|- | |||
|32 | |||
|120GB | |||
|2 | |||
|72:00:00 | |||
|} | |||
|- | |||
|'''Versi MPI (dengan MPI4PY):''' | |||
{| class="wikitable" | |||
!ntasks | |||
!mem | |||
!gpus | |||
!time | |||
|- | |||
|384 | |||
|240GB | |||
| - | |||
|72:00:00 | |||
|} | |||
Ketika ntasks lebih dari 128: | |||
]] | * SLURM otomatis menjalankan job pada multi-node. | ||
* Mem mengalokasikan memori RAM per-node. | |||
* Info detail buka laman [[MPI ALELEON Supercomputer|'''MPI ALELEON Supercomputer''']]. | |||
|} | |||
|- | |- | ||
| | |6 | ||
| | |Jalankan job dengan klik tombol '''<code>Submit</code>'''.[[Berkas:Jcsubmit2.png|al=|nir|jmpl]] | ||
{| class="wikitable mw-collapsible mw-collapsed" | |||
! colspan="2" |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 di tengah jalan, antara error atau di stop user | |||
|- | |- | ||
| | | colspan="2" |Untuk melihat alasan queue: | ||
| | |||
# Buka app '''<code>Active Jobs</code>''' pada homepage EFIRO. | |||
# [[Berkas:Efiroqueueedit.png|nir|jmpl|''Ubah opsi '''<code>Your jobs</code>''' untuk melihat status job user saja. Klik simbol '''>''' untuk melihat status job pending pada kolom '''Reason'''. Arti reason lihat laman '''[[Daftar Reason NODELIST ALELEON Supercomputer]].''''']] | |||
|} | |||
|- | |- | ||
| | | |
Revisi per 4 April 2024 08.37
Halaman ini menjelaskan menjalankan komputasi Python dengan environment Anaconda di ALELEON Supercomputer.
Langkah Menjalankan Komputasi
Terdapat dua langkah utama:
- Membuat dan menyiapkan conda environment untuk komputasi user.
- Memilih metode menjalankan komputasi.
Membuat Conda Environment
Kegiatan ini dilakukan pada terminal:
- Diakses melalui login SSH, atau
- Pada web EFIRO, buka menu Clusters -> Aleleon Shell Access
Membuat Conda Environment | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Pilih dan aktifkan modul Anaconda yang akan digunakan.
| |||||||||||
| ||||||||||||
2 | Buat conda env di direktori HOME dan aktifkan dengan perintah:
$ conda create --name [nama-conda-env] pip Contoh nama 'skripsi' $ conda create --name skripsi pip |
Mengaktifkan Conda Environment dan Instalasi Package | |
---|---|
0 | Aktifkan modul Anaconda yang digunakan untuk membuat conda env user. |
1 | Aktifkan conda env dengan perintah:
$ source activate [nama-conda-env] Contoh mengaktifkan conda env 'skripsi' $ source activate skripsi |
User dapat melihat daftar conda env yang dibuat sebelumnya dengan:
| |
2 | Lakukan instalasi package Python yang dibutuhkan dengan pip
|
3 | Untuk menonaktifkan conda env jalankan perintah:
|
Manajemen Conda Environment | |
---|---|
1 | Deactivate conda env untuk melakukan manajemen dibawah ini. |
2 | Untuk mengubah nama conda env:
$ conda rename -n [nama-saat-ini] [nama-baru] Contoh mengubah nama env skripsi ke tesis $ conda rename -n skripsi tesis |
Untuk menghapus conda env:
|
Metode Menjalankan Komputasi
User dapat memilih metode menjalankan komputasi sesuai keinginan:
- Job submission di terminal
- Job submission di web EFIRO
- Interactive job Jupyter Lab / Notebook
Job Submission Terminal
Ketentuan:
- Menjalankan file Python di terminal dengan scheduler SLURM.
- File ipynb harus dikonversi ke file Python.
- Berjalan di Compute Node.
- Tutorial ini mengasumsikan user familiar dengan terminal Linux.
Langkah Job Submission Terminal | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Login SSH ke ALELEON Supercomputer. | |||||||||||||||||||||||||||||||||||||||||
2 | Siapkan conda env dan file komputasi yang dibutuhkan.
| |||||||||||||||||||||||||||||||||||||||||
3 | Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi.
| |||||||||||||||||||||||||||||||||||||||||
Contoh template Submit Script, ikuti petunjuk NOTES didalamnya.
Info script lebih detail lihat Submit Script ALELEON Supercomputer. | ||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||
4 | Jalankan job komputasi dengan perintah:
$ sbatch [nama-submit-script] Contoh: $ sbatch submit.sh | |||||||||||||||||||||||||||||||||||||||||
5 | User dapat melihat status jalannya job dengan perintah:
| |||||||||||||||||||||||||||||||||||||||||
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 |
Job Submission Web EFIRO
Ketentuan:
- Menjalankan file Python di web EFIRO Job Composer dengan scheduler SLURM.
- File ipynb harus dikonversi ke file Python.
- Berjalan di Compute Node.
Langkah Job Submission Web EFIRO | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Login ke web EFIRO ALELEON Supercomputer. | |||||||||||||||||||||||||||||||||||||||||
2 | Buka app Job Composer di Pinned Apps.Pilih menu New Job -> From Template
| |||||||||||||||||||||||||||||||||||||||||
3 | Pilih template Anaconda Python yang diinginkan.
Job Name kemudian klik Create New Job
| |||||||||||||||||||||||||||||||||||||||||
4 | Upload dan edit file untuk menjalankan komputasi pada Edit Files
| |||||||||||||||||||||||||||||||||||||||||
5 | Lengkapi Submit Script melalui menu Open Editor .
| |||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||
6 | Jalankan job dengan klik tombol Submit .
| |||||||||||||||||||||||||||||||||||||||||
Interactive Job Jupyter
Ketentuan:
- Menjalankan sesi interaktif Jupyter Lab atau Notebook.
- Berjalan di Interactive Node.
Langkah Interactive Job Sesi Jupyter | |
---|---|