Komputasi dengan Container Apptainer: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (→Membuat Image Sendiri: test) |
WilsonLisan (bicara | kontrib) |
||
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 | ||
|[https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch '''Pytorch dari NVIDIA NGC Catalog'''] | |||
|- | |- | ||
|tensorflow2.13_jupyter_cuda.sif | |||
|TensorFlow 2.13 custom dari admin ALELEON | |||
|tensorflow2.13_jupyter_cuda | |||
| | |||
|} | |} | ||
=== 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 ''[ | <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 ''[ | '''<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 ''[ | <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
Berkas: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:
- Memilih atau menyiapkan image container yang digunakan.
- Melengkapi image container dengan Python package apabila dibutuhkan.
- Saat ini container hanya dapat dijalankan dengan app Jupyter
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
Langkah Melakukan Pull Image dengan Apptainer |
---|
1 |
Muat modul Apptainer:
|
2 |
Lakukan pull dengan rumus:
Contoh pull TensorFlow 24.01-tf2-py3 dari NVIDIA NGC Catalog:
|
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:
|
2 |
Buat sandbox dengan image sif:
|
3 |
Jalankan sanbox dengan memperbolehkan modifikasi
|
4 |
Lakukan modifikasi sesuai keinginan user
Apptainer> [command-untuk-modifikasi...] Apptainer> exit |
5 |
Bangun image baru dari sandbox tersebut:
|
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
Langkah Instalasi Package ke Image Container |
---|
1 |
Muat modul Apptainer:
|
2 |
Muat image container dengan rumus:
Apabila butuh GPU NVIDIA saat instalasi package, tambahkan flag --nv:
|
Apabila menggunakan image global yang disediakan, nama image menjadi:
|
3 |
Lakukan instalasi package dengan pip
|