Komputasi dengan Container Apptainer: Perbedaan antara revisi

Dari ALELEON by EFISON
(→‎Image Siap Pakai: mengubah style tabel)
Baris 95: Baris 95:
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
!Langkah Melakukan Pull Image Container dengan Apptainer
!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.
|-
!
|-
|-
|[[Berkas:Icon apps terminal cropped.png|kiri|nirbing|80x80px]]Menggunakan terminal!
|[[Berkas:Icon apps terminal cropped.png|kiri|nirbing|80x80px]]Menggunakan terminal!
Baris 126: Baris 119:
|OCI compatible
|OCI compatible
|'''<code>$ apptainer pull oras://''[image-pull-tag]''</code>'''
|'''<code>$ apptainer pull oras://''[image-pull-tag]''</code>'''
|-
! colspan="2" |
|-
| colspan="2" |Contoh pull image '''[[https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch/tags PyTorch 25.01-py3 dari NVIDIA NGC Catalog]]''':
<code>'''$''' apptainer pull docker://'''nvcr.io/nvidia/pytorch:25.01-py3'''</code>
|}
|}
|-
|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>
|-
|-
!3
!3
|-
|-
|Untuk menjalankan image, Apptainer membutuhkan '''nama dan direktori file image'''.
|ALELEON membutuhkan '''nama dan direktori file image''' untuk menjalankan image.


* Mohon user memperhatikan dan mengatur kedua hal tersebut.
* 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''' ==
== '''Instalasi Library Python pada Image Container''' ==
User dapat menambah library Python pada image container ''(apabila dibutuhkan)'' dimana terinstal pada HOME user.  
User dapat menambah library Python pada image container ''(apabila dibutuhkan)'' dimana terinstal pada HOME user.  

Revisi per 31 Januari 2025 13.29

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