Komputasi dengan Container Apptainer: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (melengkapi opsi menjalankan login node dan jupyter) |
WilsonLisan (bicara | kontrib) (menambah limitasi, melengkapi batch job (80% jadi)) |
||
Baris 140: | Baris 140: | ||
* Idealnya user mengetahui langkah menggunakan container tersebut. | * Idealnya user mengetahui langkah menggunakan container tersebut. | ||
* Dapat berdiskusi dengan tim admin terkait pilihan menjalankan komputasi. | * Dapat berdiskusi dengan tim admin terkait pilihan menjalankan komputasi. | ||
== '''Melengkapi atau Modifikasi Image''' == | == '''Melengkapi atau Modifikasi Image ''(Apabila Butuh)''''' == | ||
Dalam ranah tertentu, user dapat melengkapi atau memodifikasi image apabila dibutuhkan dengan menambah instalasi package di dalamnya. | Dalam ranah tertentu, user dapat melengkapi atau memodifikasi image apabila dibutuhkan dengan menambah instalasi package di dalamnya. | ||
Baris 186: | Baris 186: | ||
|} | |} | ||
== ''' | == '''Limitasi Menjalankan Image Container''' == | ||
User dapat menjalankan | Terdapat beberapa limitasi yang perlu menjadi pertimbangan user: | ||
# Image container tidak dapat mengakses modul software ALELEON Supercomputer karena berada di "ruang kerja" yang berbeda. | |||
# User yang menyediakan image sendiri harus memastikan bahwa isi image dapat menjalankan komputasi user. | |||
== '''Pilihan Menjalankan Komputasi''' == | |||
User dapat menjalankan Apptainer dengan pilihan berikut. Sesuaikan dengan peruntukan image. | |||
''<small><code>(klik expand / kembangkan)</code></small>'' | ''<small><code>(klik expand / kembangkan)</code></small>'' | ||
=== Berjalan di Login Node === | === Berjalan di Login Node === | ||
Opsi ini hanya untuk | Opsi ini hanya untuk container '''dengan tujuan pre-processing ringan''' karena login node mempunyai spesifikasi terbatas dan tidak ditujukan untuk menjalankan komputasi. | ||
* Opsi ini tidak menggunakan kredit Core Hour. | * Opsi ini tidak menggunakan kredit Core Hour. | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
!Langkah Menjalankan | !''Langkah Menjalankan Apptainer di Login Node'' | ||
[[Berkas:Sbatch terminal display rev2.png|tepi|400x400px]] | [[Berkas:Sbatch terminal display rev2.png|tepi|400x400px]] | ||
|- | |- | ||
Baris 227: | Baris 233: | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
!Langkah Sesi Jupyter | !''Langkah Sesi Jupyter dengan Apptainer'' | ||
[[Berkas:Efiro jupyter display.png|400x400px]] | [[Berkas:Efiro jupyter display.png|400x400px]] | ||
|- | |- | ||
Baris 359: | Baris 365: | ||
=== Batch Job === | === Batch Job === | ||
Menjalankan container siap jalan melalui manajemen Slurm di '''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|compute node]]]''' kemudian user menunggu hingga selesai. '''Catatan:''' | |||
== ''' | *Untuk komputasi Python: opsi ini hanya dapat menjalankan file Python (<code>'''.py'''</code>) siap jalan tanpa interaksi user. | ||
*Perhatikan ada kemungkinan tidak semua image container dapat berjalan dengan opsi ini. | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!''Langkah Batch Job Apptainer di Terminal'' | |||
[[Berkas:Sbatch terminal display rev2.png|tepi|400x400px]] | |||
|- | |||
| Lakukan [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_Terminal#1_ |[[Berkas:Icon apps terminal cropped.png|kiri|nirbing|80x80px]]Menggunakan terminal! | |||
*User web EFIRO buka app '''<code>Aleleon Shell Access</code>'''. | |||
|- | |||
!1 | |||
|- | |||
|Siapkan image container dan file komputasi yang dibutuhkan. | |||
*User dapat upload / download file dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']]. | |||
*User web EFIRO juga dapat gunakan app '''<code>Home Directory</code>''' | |||
|- | |||
!2A | |||
|- | |||
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi. | |||
*Nama file bebas dengan format .'''<code>sh</code>''', contoh '''<code>submit.sh</code>''' | |||
|- | |||
! | |||
|- | |||
|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 Apptainer versi CPU | |||
|} | |||
|- | |||
| | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!Template submit script Apptainer versi GPU | |||
|} | |||
|- | |||
| | |||
*''<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>'' | |||
|- | |||
!2B | |||
|- | |||
|'''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: | |||
'''$ slimit-python''' | |||
|- | |||
!3 | |||
|- | |||
|Jalankan job komputasi dengan perintah: | |||
$ '''sbatch ''[nama-submit-script]''''' | |||
<small>''Contoh:'' | |||
$ sbatch submit.sh</small> | |||
|- | |||
!4 | |||
|- | |||
|User dapat melihat status jalannya job dengan perintah: | |||
'''<code>$ squeue -ul $USER</code>''' | |||
{| class="wikitable" | |||
! colspan="2" |''Kolom ST atau STATE menunjukkan status jalannya job.'' | |||
|- | |||
!STATE | |||
!Penjelasan | |||
|- | |||
|R (RUN) | |||
|Job berjalan | |||
|- | |||
|PD (PENDING) | |||
|Job tertahan, lihat [[Daftar Reason NODELIST ALELEON Supercomputer|'''NODELIST(REASON)''']] | |||
|- | |||
|CG (COMPLETING) | |||
|Job selesai dan dalam proses clean-up | |||
|- | |||
|CA (CANCELED) | |||
|Job dibatalkan user | |||
|- | |||
|PR (PREEMPETED) | |||
|Job dibatalkan admin, alasan dikabarkan via email | |||
|- | |||
|S (SUSPENDED) | |||
|Job ditahan admin, alasan dikabarkan via email | |||
|} | |||
|- | |||
! | |||
|- | |||
|Apabila user ingin menghentikan job yang berjalan, jalankan perintah: | |||
'''$ scancel ''[job-ID]''''' | |||
<small>''Job ID ada pada squeue diatas.'' | |||
contoh membatalkan job ID 231: | |||
$ scancel 231</small> | |||
|- | |||
!--- | |||
|} | |||
=='''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. |
Revisi per 31 Januari 2025 15.49
Berkas:Python apptainer logo.png
Halaman ini menjelaskan langkah menjalankan komputasi di ALELEON Supercomputer dengan image container melalui platform [Apptainer]. ALELEON Supercomputer dapat menyediakan dan menjalankan image container untuk komputasi berbagai bidang.
Langkah Menjalankan Komputasi
Terdapat 2 langkah utama:
- Memilih image container yang digunakan.
- Melengkapi (apabila dibutuhkan) dan menjalankan image container sesuai ketentuannya.
Pilihan Image Container
Tersedia pilihan image berikut yang dapat dipilih sesuai preferensi user:
(klik expand / kembangkan)
Image Siap Pakai
Image siap pakai yang dapat diakses global oleh semua user. Permohonan menyediakan image hubungi support@efisonlt.com.
Daftar Image Siap Pakai ALELEON Supercomputer | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Gunakan info ini untuk menjalankan image container. | ||||||||||
Nama Image | Support Hardware & Platform | |||||||||
CPU | GPU | OMP | MPI | Python | Jupyter | |||||
PyTorch - NVIDIA NGC release 23.08
|
V | V | V | V | V | V | ||||
PyTorch - NVIDIA NGC release 24.04
|
V | V | V | V | V | V | ||||
TensorFlow - NVIDIA NGC release 24.04
|
V | V | V | V | V | V | ||||
AnteChamber PYthon Parser interfacE (ACPYPE) 2023.10.27
|
V | X | X | X | V | X | ||||
--- |
User Melakukan Pull Image
User dapat melakukan pull image dari container registry apapun dengan langkah:
Langkah Pull Image Container dengan Apptainer | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Menggunakan terminal!
| ||||||||||||
1 | ||||||||||||
Aktifkan modul Apptainer:
| ||||||||||||
2 | ||||||||||||
Lakukan pull dengan format:
| ||||||||||||
3 | ||||||||||||
ALELEON membutuhkan nama dan direktori file image untuk menjalankan image.
| ||||||||||||
--- |
Note:
- User menaruh image di HOME dimana mengkonsumsi storage.
- Idealnya user mengetahui langkah menggunakan container tersebut.
- Dapat berdiskusi dengan tim admin terkait pilihan menjalankan komputasi.
Melengkapi atau Modifikasi Image (Apabila Butuh)
Dalam ranah tertentu, user dapat melengkapi atau memodifikasi image apabila dibutuhkan dengan menambah instalasi package di dalamnya.
- Package terinstal dan terisolasi di direktori HOME user.
Menggunakan terminal!
| |||||||||
1 | |||||||||
Aktifkan modul Apptainer:
| |||||||||
2 | |||||||||
Pilih skenario yang sesuai dengan image yang akan dimodifikasi:
| |||||||||
--- |
Limitasi Menjalankan Image Container
Terdapat beberapa limitasi yang perlu menjadi pertimbangan user:
- Image container tidak dapat mengakses modul software ALELEON Supercomputer karena berada di "ruang kerja" yang berbeda.
- User yang menyediakan image sendiri harus memastikan bahwa isi image dapat menjalankan komputasi user.
Pilihan Menjalankan Komputasi
User dapat menjalankan Apptainer dengan pilihan berikut. Sesuaikan dengan peruntukan image.
(klik expand / kembangkan)
Berjalan di Login Node
Opsi ini hanya untuk container dengan tujuan pre-processing ringan karena login node mempunyai spesifikasi terbatas dan tidak ditujukan untuk menjalankan komputasi.
- Opsi ini tidak menggunakan kredit Core Hour.
Langkah Menjalankan Apptainer di Login Node |
---|
Menggunakan terminal!
|
1 |
Aktifkan modul Apptainer:
|
2 |
Jalankan image container dengan perintah:
|
3 |
Untuk keluar dari container, jalankan:
|
--- |
Sesi Jupyter
Menjalankan sesi interaktif Jupyter Lab atau Notebook di [interactive node].
- Perhatikan image container harus mempunyai package Jupyter di dalamnya.
Langkah Sesi Jupyter dengan Apptainer | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||||||||||||||||||||
Login ke web EFIRO ALELEON Supercomputer. | ||||||||||||||||||||||||||||||||||
2 | ||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||
3 | ||||||||||||||||||||||||||||||||||
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:
| ||||||||||||||||||||||||||||||||||
--- |
Batch Job
Menjalankan container siap jalan melalui manajemen Slurm di [compute node] kemudian user menunggu hingga selesai. Catatan:
- Untuk komputasi Python: opsi ini hanya dapat menjalankan file Python (
.py
) siap jalan tanpa interaksi user. - Perhatikan ada kemungkinan tidak semua image container dapat berjalan dengan opsi ini.
Langkah Batch Job Apptainer di Terminal | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Menggunakan terminal!
| ||||||||||||||||
1 | ||||||||||||||||
Siapkan image container dan file komputasi yang dibutuhkan.
| ||||||||||||||||
2A | ||||||||||||||||
Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi.
| ||||||||||||||||
Contoh template Submit Script
| ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||
2B | ||||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
Untuk melihat limit, jalankan perintah: $ slimit-python | ||||||||||||||||
3 | ||||||||||||||||
Jalankan job komputasi dengan perintah:
$ sbatch [nama-submit-script] Contoh: $ sbatch submit.sh | ||||||||||||||||
4 | ||||||||||||||||
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 | ||||||||||||||||
--- |
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