Komputasi dengan Container Apptainer

Dari ALELEON by EFISON

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 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 dan direktori Image Support Hardware & Platform
CPU GPU OMP MPI Python Jupyter
PyTorch - NVIDIA NGC release 23.08
Nama & dir image $NVCONT/NGC_PyTorch_r23.08.sif
Info detail [PyTorch r23.08 docs]
V V V V V V
PyTorch - NVIDIA NGC release 24.04
Nama & dir image $NVCONT/NGC_PyTorch_r24.04.sif
Info detail [PyTorch r24.04 docs]
V V V V V V
TensorFlow - NVIDIA NGC release 24.04
Nama & dir image $NVCONT/NGC_TensorFlow_r24.04.sif
Info detail [TensorFlow r24.04 docs]
V V V V V V
AnteChamber PYthon Parser interfacE (ACPYPE) 2023.10.27
Nama & dir image $SCONT/acpype-2023.10.27.sif
Info detail [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
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 [PyTorch 25.01-py3 dari NVIDIA NGC Catalog]:

$ apptainer pull docker://nvcr.io/nvidia/pytorch:25.01-py3

3
ALELEON membutuhkan nama dan direktori file image untuk menjalankan image.
  • Mohon user memperhatikan hal tersebut.

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.

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