Komputasi dengan Container Apptainer: Perbedaan antara revisi

Dari ALELEON by EFISON
(menetapkan pilihan image opsi tersedia dan pull)
(paraphrasing pilihan image)
Baris 1: Baris 1:
[[Berkas:Python apptainer logo.png|nirbing|500x500px]]
[[Berkas:Python apptainer logo.png|nirbing|500x500px]]


Halaman ini menjelaskan bagaimana menggunakan '''container image untuk menjalankan komputasi''' di ALELEON Supercomputer dengan platform '''[[https://apptainer.org/ Apptainer]].'''  
Halaman ini menjelaskan langkah menjalankan komputasi di ALELEON Supercomputer dengan '''image container''' melalui platform '''[[https://apptainer.org/ Apptainer]].''' ALELEON Supercomputer dapat menyediakan dan menjalankan image container untuk komputasi berbagai bidang.  
{| class="wikitable"
!''Laman ini merupakan bagian laman ->'' [[Komputasi Python]]
|}
 
== '''Fungsi Spesifik''' ==
ALELEON Supercomputer dapat menyediakan dan menjalankan image container untuk komputasi berbagai bidang. Pada umumnya, setiap image container menjalankan '''fungsi atau aplikasi spesifik'''.
 
== '''Langkah Menjalankan Komputasi''' ==
== '''Langkah Menjalankan Komputasi''' ==
Terdapat 2 langkah utama:  
Terdapat 2 langkah utama:  
Baris 16: Baris 9:


== '''Pilihan Image Container''' ==
== '''Pilihan Image Container''' ==
ALELEON Supercomputer menyediakan dua pilihan image sebagai berikut. SIlahkan pilih yang sesuai dengan kebutuhan user.  
Tersedia pilihan image berikut yang dapat dipilih sesuai preferensi user:  


''<small><code>(klik expand / kembangkan)</code></small>''   
''<small><code>(klik expand / kembangkan)</code></small>''   


=== Image Siap Pakai ===
=== Image Siap Pakai ===
Image siap pakai yang dapat diakses secara global oleh semua user.
Image siap pakai yang dapat diakses oleh semua user:
 
* Image disediakan oleh tim admin.
 
* Permohonan menyediakan / pembuatan image dapat menghubungi tim admin di '''support@efisonlt.com'''.
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="7" |Daftar Image Siap Pakai ALELEON Supercomputer
! colspan="8" |''Daftar Image Siap Pakai ALELEON Supercomputer''
|-
|-
!Nama dan direktori Image
| colspan="8" |Image disediakan oleh tim admin. Permohonan menyediakan / pembuatan image hubungi '''support@efisonlt.com'''.
|-
! rowspan="2" |Nama dan direktori Image
! rowspan="2" |Info detail
! colspan="6" |Support Hardware & Platform
! colspan="6" |Support Hardware & Platform
|-
|-
!Keterangan
!CPU
!CPU
!GPU
!GPU
Baris 40: Baris 31:
!Jupyter
!Jupyter
|-
|-
! colspan="7" |
! colspan="8" |
|-
|-
! colspan="7" |PyTorch NVIDIA NGC release 23.08
! colspan="8" |PyTorch NVIDIA NGC '''(GPU accelerated)''' release 23.08
|-
|-
!<code>$NVCONT/'''NGC_PyTorch_r23.08.sif'''</code>
|<code>$NVCONT/'''NGC_PyTorch_r23.08.sif'''</code>
| rowspan="2" |V
|'''[[https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/rel-23-08.html#rel-23-08 PyTorch r23.08 docs]]'''
| rowspan="2" |V
|V
| rowspan="2" |V
|V
| rowspan="2" |V
|V
| rowspan="2" |V
|V
| rowspan="2" |V
|V
|V
|-
|-
|''Package PyTorch dengan akselerasi GPU NVIDIA.''
! colspan="8" |PyTorch NVIDIA NGC (GPU accelerated) release 24.04
* ''Detail image lihat '''[[https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/rel-23-08.html#rel-23-08 PyTorch r23.08 docs]].'''''
|-
|-
! colspan="7" |PyTorch NVIDIA NGC release 24.04
|<code>$NVCONT/'''NGC_PyTorch_r24.04.sif'''</code>
|'''[[https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/rel-24-04.html#rel-24-04 PyTorch r24.04 docs]]'''
|V
|V
|V
|V
|V
|V
|-
|-
!<code>$NVCONT/'''NGC_PyTorch_r24.04.sif'''</code>
! colspan="8" |TensorFlow NVIDIA NGC (GPU accelerated) release 24.04
| rowspan="2" |V
| rowspan="2" |V
| rowspan="2" |V
| rowspan="2" |V
| rowspan="2" |V
| rowspan="2" |V
|-
|-
|''Package PyTorch dengan akselerasi GPU NVIDIA.''
|<code>$NVCONT/'''NGC_TensorFlow_r24.04.sif'''</code>
* ''Detail image lihat '''[[https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/rel-24-04.html#rel-24-04 PyTorch r24.04 docs]].'''''
|'''[[https://docs.nvidia.com/deeplearning/frameworks/tensorflow-release-notes/rel-24-0.html#rel-24-0 TensorFlow r24.04 docs]]'''
|V
|V
|V
|V
|V
|V
|-
|-
! colspan="7" |TensorFlow NVIDIA NGC 24.04
! colspan="8" |AnteChamber PYthon Parser interfacE (ACPYPE) 2023.10.27
|-
|-
!<code>$NVCONT/'''NGC_TensorFlow_r24.04.sif'''</code>
|<code>$SCONT/'''acpype-2023.10.27.sif'''</code>
| rowspan="2" |V
|'''[[https://alanwilter.github.io/acpype/ Official ACYPE doc]]'''
| rowspan="2" |V
|V
| rowspan="2" |V
|X
| rowspan="2" |V
|X
| rowspan="2" |V
|X
| rowspan="2" |V
|V
|-
|X
|''Package TensorFlow dengan akselerasi GPU NVIDIA.''
* ''Detail image lihat '''[[https://docs.nvidia.com/deeplearning/frameworks/tensorflow-release-notes/rel-24-0.html#rel-24-0 TensorFlow r24.04 docs]].'''''
|-
! colspan="7" |AnteChamber PYthon Parser interfacE (ACPYPE) 2023.10.27
|-
!<code>$SCONT/'''acpype-2023.10.27.sif'''</code>
| rowspan="2" |V
| rowspan="2" |X
| rowspan="2" |X
| rowspan="2" |X
| rowspan="2" |V
| rowspan="2" |X
|-
|''Package Python untuk menggunakan Antechamber.''
* ''Pranala lanjut lihat '''[[https://alanwilter.github.io/acpype/ Official ACYPE doc]]'''.''
|}
|}
---
=== User Melakukan Pull Image ===
=== User Melakukan Pull Image ===
Mempunyai preferensi image container sendiri? User dapat melakukan pull image dari container registry apapun dengan ketentuan:  
User dapat melakukan pull image dari container registry apapun dengan langkah:  


* User menaruh image di HOME dimana mengkonsumsi storage HOME.
{| class="wikitable mw-collapsible mw-collapsed"
!Langkah Melakukan Pull Image Container dengan Apptainer
|-
|'''Ketentuan:'''
*User menaruh image di HOME dimana mengkonsumsi storage HOME.
* Idealnya user mengetahui bagaimana cara menggunakan container tersebut untuk komputasi.
* Idealnya user mengetahui bagaimana cara menggunakan container tersebut untuk komputasi.
** Dapat berdiskusi dengan tim admin terkait pilihan menjalankan komputasi.
** Dapat berdiskusi dengan tim admin terkait pilihan menjalankan komputasi.
 
|-
{| class="wikitable mw-collapsible mw-collapsed"
!
!Langkah Melakukan Pull Image Container dengan Apptainer
|-
|-
|[[Berkas:Icon apps terminal cropped.png|kiri|nirbing|80x80px]]Menggunakan terminal!
|[[Berkas:Icon apps terminal cropped.png|kiri|nirbing|80x80px]]Menggunakan terminal!
Baris 112: Baris 96:
|-
|-
|Muat modul Apptainer:
|Muat modul Apptainer:
<code>$ '''module load apptainer'''</code>
<code>$ '''ml apptainer'''</code>
|-
|-
!2
!2
Baris 132: Baris 116:
Contoh pull image '''[[https://catalog.ngc.nvidia.com/orgs/nvidia/containers/tensorflow/tags TensorFlow 24.01-tf2-py3 dari NVIDIA NGC Catalog]]''':
Contoh pull image '''[[https://catalog.ngc.nvidia.com/orgs/nvidia/containers/tensorflow/tags TensorFlow 24.01-tf2-py3 dari NVIDIA NGC Catalog]]''':


<code>'''$ apptainer pull docker://nvcr.io/nvidia/tensorflow:24.04-tf2-py3'''</code>
<code>'''$''' apptainer pull docker://'''nvcr.io/nvidia/tensorflow:24.04-tf2-py3'''</code>
|-
|-
!3
!3
Baris 138: Baris 122:
|Untuk menjalankan image, Apptainer membutuhkan '''nama dan direktori file image'''.
|Untuk menjalankan image, Apptainer membutuhkan '''nama dan direktori file image'''.


* Mohon user untuk memperhatikan dan mengatur kedua hal tersebut.
* Mohon user memperhatikan dan mengatur kedua hal tersebut.
|}
|}



Revisi per 31 Januari 2025 12.58

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:

  1. Memilih image container yang digunakan.
  2. 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 oleh semua user:

Daftar Image Siap Pakai ALELEON Supercomputer
Image disediakan oleh tim admin. Permohonan menyediakan / pembuatan image hubungi support@efisonlt.com.
Nama dan direktori Image Info detail Support Hardware & Platform
CPU GPU OMP MPI Python Jupyter
PyTorch NVIDIA NGC (GPU accelerated) release 23.08
$NVCONT/NGC_PyTorch_r23.08.sif [PyTorch r23.08 docs] V V V V V V
PyTorch NVIDIA NGC (GPU accelerated) release 24.04
$NVCONT/NGC_PyTorch_r24.04.sif [PyTorch r24.04 docs] V V V V V V
TensorFlow NVIDIA NGC (GPU accelerated) release 24.04
$NVCONT/NGC_TensorFlow_r24.04.sif [TensorFlow r24.04 docs] V V V V V V
AnteChamber PYthon Parser interfacE (ACPYPE) 2023.10.27
$SCONT/acpype-2023.10.27.sif [Official ACYPE doc] V X X X V X

User Melakukan Pull Image

User dapat melakukan pull image dari container registry apapun dengan langkah:

Langkah Melakukan Pull Image Container dengan Apptainer
Ketentuan:
  • User menaruh image di HOME dimana mengkonsumsi storage HOME.
  • Idealnya user mengetahui bagaimana cara menggunakan container tersebut untuk komputasi.
    • Dapat berdiskusi dengan tim admin terkait pilihan menjalankan komputasi.
Icon apps terminal cropped.png
Menggunakan terminal!
  • User web EFIRO buka app Aleleon Shell Access.
1
Muat modul Apptainer:

$ ml apptainer

2
Lakukan pull dengan format:
Platform Perintah
Docker $ apptainer pull docker://[image-pull-tag]
Shub $ apptainer pull shub://[image-pull-tag]
OCI compatible $ apptainer pull oras://[image-pull-tag]

Contoh pull image [TensorFlow 24.01-tf2-py3 dari NVIDIA NGC Catalog]:

$ apptainer pull docker://nvcr.io/nvidia/tensorflow:24.04-tf2-py3

3
Untuk menjalankan image, Apptainer membutuhkan nama dan direktori file image.
  • Mohon user memperhatikan dan mengatur kedua hal tersebut.

Instalasi Library Python pada Image Container

User dapat menambah library Python pada image container (apabila dibutuhkan) dimana terinstal pada HOME user.

  • Disarankan melakukan instalasi library melalui langkah ini sebelum memulai sesi Jupyter karena tidak menghabiskan Core Hour.
Langkah Instalasi Package ke Image Container
1
Masuk ke terminal melalui Login SSH atau
Pinnedapps terminal.png
Kegiatan ini tidak mengurangi Core Hour user.
2
Muat modul Apptainer:

$ module load apptainer

3
Muat image container dengan rumus:

$ apptainer run [alamat-direktori-dan-nama-image].sif

Apabila butuh GPU NVIDIA saat instalasi package, tambahkan flag --nv:

$ apptainer run --nv [alamat-direktori-dan-nama-image].sif

Untuk image global dari ALELEON, direktori dan nama image adalah:

/comp/containers/nvidia/[nama-image].sif

Contoh:/comp/containers/nvidia/pytorch_23.08-py3.sif

4A
Lakukan instalasi library dengan pip

$ python -m pip install [nama-package]

4B
Apabila membutuhkan update pip, jalankan:

$ python -m pip install --upgrade pip

Instalasi update ini dilakukan pada HOME user.

Sesi Jupyter dengan Container

Langkah Interactive Job Sesi Jupyter dengan Container

Efirojupyterlab.png

1
Login ke web EFIRO ALELEON Supercomputer.
2
New Pinnedapps jupyter.png Buka pinned apps Jupyter di homepage EFIRO.
3
Isi formulir untuk memulai sesi Jupyter dengan panduan berikut:
  • Choose Jupyter version
    • Pilih sesuai preferensi user, Jupyter Lab atau Notebook
  • Partition -> pilih sesuai kebutuhan:
    • torti -> CPU saja
    • tilla -> CPU dan GPU
Formulir alokasi komputasi Partition
torti tilla
Number of CPU core(s) 1 - 32
Amount of memory/RAM (GB) 1 - 64
Number of GPUs - 1
Number of hours 1 - 72
Pada akun perseorangan, sesi Jupyter tidak akan berjalan apabila:
  • Alokasi CPU * hours > sisa CPU Core Hour
  • Alokasi GPU * hours > sisa GPU Hour apabila memilih tilla.

Cek sisa Core Hour dengan:

  1. Buka menu Clusters -> ALELEON Shell Access
  2. Jalankan perintah
$ sausage
  • Choose how to launch Jupyter -> silahkan pilih:
    • Container -> menggunakan image siap pakai dari ALELEON
    • Custom container -> menggunakan image yang dipull / buat user
  • Pilih image atau menyediakan direktori & nama image user
  • Software modules -> kosongkan
  • Environment setup
    • Memuat environment variable, isi apabila ada
  • Additional Jupyter arguments
    • Memuat argument tambahan Jupyter, isi apabila ada
  • Email address
    • Notifikasi email untuk status mulai dan selesainya sesi Jupyter.
    • Isi apabila berkenan.
4
Klik tombol Launch untuk memulai sesi Jupyter.
  • User akan diarahkan ke halaman My Interactive Sessions.
  • Tunggu hingga sesi Jupyter siap diakses.
Status sesi Jupyter mengantri menunggu alokasi hardware
5
Apabila status Running, klik tombol Connect to Jupyter.
  • Sistem mulai menghitung Core Hour!
Sesi Jupyter siap diakses.
Untuk menghentikan sesi, klik tombol Cancel.
6
Pilih Notebook Python 3 untuk memulai sesi notebook Python 3.
Gunakan Notebook Python 3 untuk menjalankan kernel conda env user di Jupyter Notebook
Gunakan Notebook Python 3 untuk menjalankan kernel conda env user di Jupyter Lab
7
User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:
  • Menu My Interactive Sessions pada homepage EFIRO.
  • Kolom Active interactive sessions pada homepage EFIRO.

Pelaporan Kendala dan Support

Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini.

Wiki-pelaporankendala.jpg

Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email:

support@efisonlt.com