Komputasi Python dengan Container Apptainer: Perbedaan antara revisi

Dari ALELEON by EFISON
Baris 18: Baris 18:
! colspan="2" |Daftar Image Global yang tersedia
! colspan="2" |Daftar Image Global yang tersedia
|-
|-
!Nama
!Nama Image
!Keterangan
!Keterangan
|-
|-
|pytorch_23.08-py3
|pytorch_23.08-py3.sif
| rowspan="2" |[https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch '''Pytorch dari NVIDIA NGC Catalog''']
|[https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch '''Pytorch dari NVIDIA NGC Catalog''']
|-
|-
|pytorch_jupyter_cuda117
|tensorflow2.13_jupyter_cuda.sif
|-
|TensorFlow 2.13 custom dari admin ALELEON
|tensorflow2.13_jupyter_cuda
|[https://catalog.ngc.nvidia.com/orgs/nvidia/containers/tensorflow '''TensorFlow dari NVIDIA NGC Catalog''']
|}
|}


=== Melakukan Pull Image ===
=== Melakukan Pull Image ===
User dapat melakukan pull image dari container registry manapun. Kegiatan ini dilakukan pada '''terminal''':
User dapat melakukan pull image dari container registry manapun.  
 
Kegiatan ini dilakukan pada '''terminal''':
*Diakses melalui [https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#1_|_Login_SSH '''login SSH'''], atau
*Diakses melalui [https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#1_|_Login_SSH '''login SSH'''], atau
*Pada web EFIRO, buka app '''Aleleon Shell Access''' [[Berkas:Pinnedapps terminal.png|nirbing|129x129px]]
*Pada web EFIRO, buka app '''Aleleon Shell Access''' [[Berkas:Pinnedapps terminal.png|nirbing|129x129px]]
Baris 65: Baris 65:
|-
|-
|Buat sandbox dengan image sif:
|Buat sandbox dengan image sif:
<code>'''$ apptainer build --sandbox ''[sandbox_dir]'' ''[image_name]''.sif'''</code>
<code>'''$ apptainer build --sandbox ''[sandbox-dir]'' ''[image-name]''.sif'''</code>
|-
|-
!3
!3
|-
|-
|Jalankan sanbox dengan memperbolehkan modifikasi
|Jalankan sanbox dengan memperbolehkan modifikasi
'''<code>$ apptainer run --fakeroot --writeable ''[sandbox_dir]''</code>'''
'''<code>$ apptainer run --fakeroot --writeable ''[sandbox-dir]''</code>'''
|-
|-
!4
!4
Baris 81: Baris 81:
|-
|-
|Bangun image baru dari sandbox tersebut:  
|Bangun image baru dari sandbox tersebut:  
<code>'''$ apptainer build ''[image_name]''.sif ''[sandbox_dir]'''''</code>
<code>'''$ apptainer build ''[image-name]''.sif ''[sandbox-dir]'''''</code>
|}
|}


== '''Instalasi Python Package pada Image Container''' ==
== '''Instalasi Python Package pada Image Container''' ==
User dapat menambah Python package pada image container dimana terinstal pada HOME user.
Kegiatan ini dilakukan pada '''terminal''':
*Diakses melalui [https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#1_|_Login_SSH '''login SSH'''], atau
*Pada web EFIRO, buka app '''Aleleon Shell Access''' [[Berkas:Pinnedapps terminal.png|nirbing|129x129px]]
{| class="wikitable"
!Langkah Instalasi Package ke Image Container
|-
!1
|-
|Muat modul Apptainer:
<code>$ '''module load apptainer'''</code>
|-
!2
|-
|Muat image container dengan rumus:
<code>$ '''apptainer run ''[alamat-direktori-dan-nama-image].sif'''''</code>
Apabila butuh GPU NVIDIA saat instalasi package, tambahkan flag --nv:
<code>$ '''apptainer run --nv ''[alamat-direktori-dan-nama-image].sif'''''</code>
|-
!
|-
|Apabila menggunakan image global yang disediakan, nama image menjadi:
<code>'''/comp/containers/nvidia/''[nama-image]''.sif'''</code>
Contoh:
<code>/comp/containers/nvidia/pytorch_23.08-py3.sif</code>
|-
!3
|-
|Lakukan instalasi package dengan '''pip'''
<code>'''$ pip install ''[nama-package]'''''</code>
|}


== '''Sesi Jupyter dengan Container''' ==
== '''Sesi Jupyter dengan Container''' ==

Revisi per 15 Mei 2024 09.37

Python apptainer logo.png

Halaman ini menjelaskan komputasi Python dengan container Apptainer di ALELEON Supercomputer. Apptainer (dahulu Singularity) adalah container yang dirancang untuk sistem superkomputer / HPC.

Langkah Menjalankan Komputasi dan Limitasi

Terdapat 3 langkah utama:

  1. Memilih atau menyiapkan image container yang digunakan.
  2. Melengkapi image container dengan Python package apabila dibutuhkan.
  3. Saat ini container hanya dapat dijalankan dengan app Jupyter New Pinnedapps jupyter.png pada interactive node.

Pilihan Image Container

ALELEON Supercomputer menyediakan tiga pilihan:

Image Global

Adalah image container yang disediakan oleh ALELEON Supercomputer dan siap pakai untuk sesi interaktif Jupyter:

Daftar Image Global yang tersedia
Nama Image Keterangan
pytorch_23.08-py3.sif Pytorch dari NVIDIA NGC Catalog
tensorflow2.13_jupyter_cuda.sif TensorFlow 2.13 custom dari admin ALELEON

Melakukan Pull Image

User dapat melakukan pull image dari container registry manapun.

Kegiatan ini dilakukan pada terminal:

  • Diakses melalui login SSH, atau
  • Pada web EFIRO, buka app Aleleon Shell Access Pinnedapps terminal.png
Langkah Melakukan Pull Image dengan Apptainer
1
Muat modul Apptainer:

$ module load apptainer

2
Lakukan pull dengan rumus:

$ apptainer pull docker://[image-tag]

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

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

Membuat Image Sendiri

User juga dapat membuat image sendiri melalui sandbox Apptainer di ALELEON Supercomputer. Kegiatan ini dilakukan pada terminal:

Langkah Membuat Image Container dengan Apptainer
1
Muat modul Apptainer:

$ module load apptainer

2
Buat sandbox dengan image sif:

$ apptainer build --sandbox [sandbox-dir] [image-name].sif

3
Jalankan sanbox dengan memperbolehkan modifikasi

$ apptainer run --fakeroot --writeable [sandbox-dir]

4
Lakukan modifikasi sesuai keinginan user
Apptainer> [command-untuk-modifikasi...]
Apptainer> exit
5
Bangun image baru dari sandbox tersebut:

$ apptainer build [image-name].sif [sandbox-dir]

Instalasi Python Package pada Image Container

User dapat menambah Python package pada image container dimana terinstal pada HOME user.

Kegiatan ini dilakukan pada terminal:

  • Diakses melalui login SSH, atau
  • Pada web EFIRO, buka app Aleleon Shell Access Pinnedapps terminal.png
Langkah Instalasi Package ke Image Container
1
Muat modul Apptainer:

$ module load apptainer

2
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

Apabila menggunakan image global yang disediakan, nama image menjadi:

/comp/containers/nvidia/[nama-image].sif Contoh: /comp/containers/nvidia/pytorch_23.08-py3.sif

3
Lakukan instalasi package dengan pip

$ pip install [nama-package]

Sesi Jupyter dengan Container