|
|
Baris 285: |
Baris 285: |
| Partisi GPU ALELEON menggunakan GPU NVIDIA sehingga '''instal package Python versi CUDA''' [[Berkas:GMB GPU icon.png|nirbing|80x80px]] ''(lihat subbab diatas)''. | | Partisi GPU ALELEON menggunakan GPU NVIDIA sehingga '''instal package Python versi CUDA''' [[Berkas:GMB GPU icon.png|nirbing|80x80px]] ''(lihat subbab diatas)''. |
|
| |
|
| * [[Berkas:GMB warning wololo.png|nirbing|50x50px]] Jangan salah instal versi CPU [[Berkas:GMB CPU icon.png|nirbing|60x60px]]. | | * [[Berkas:GMB warning wololo.png|nirbing|50x50px]] Jangan salah instal versi CPU. |
| * Apabila package Python bersangkutan tidak mempunyai versi CUDA berarti hanya dapat berjalan di CPU. | | * Apabila package Python bersangkutan tidak mempunyai versi CUDA berarti hanya dapat berjalan di CPU. |
|
| |
|
Baris 607: |
Baris 607: |
| !2 | | !2 |
| |- | | |- |
| |[[Berkas:New Pinnedapps jc.png|nirbing|128x128px]]Buka pinned apps '''Job Composer''' di homepage EFIRO. | | |[[Berkas:EOD Apps Job Composer full.png|nirbing|126x126px]]Buka pinned apps '''Job Composer''' di homepage EFIRO. |
| Pilih menu '''<code>New Job</code>''' -> '''<code>From Template</code>''' | | Pilih menu '''<code>New Job</code>''' -> '''<code>From Template</code>''' |
|
| |
|
Revisi per 21 Maret 2025 10.42
Halaman ini menjelaskan menjalankan komputasi Python dengan conda environment di ALELEON Supercomputer.
Langkah Menjalankan Komputasi
Terdapat dua langkah utama:
- Membuat conda environment dan instal package yang diperlukan di dalamnya.
- Menjalankan komputasi dengan conda env tersebut.
Membangun Conda Environment
ALELEON Supercomputer menyediakan pilihan package manager Python untuk membuat conda environment. Pilih sesuai preferensi user:
|
|
- PM Python paling banyak digunakan.
- Saat ini menjadi standar industri.
|
- Alternatif Anaconda, dibuat dengan C++.
- Dikembangkan oleh komunitas.
- Dalam beberapa kasus lebih ringan dan cepat.
|
Membuat dan Manajemen Conda Environment
|
Menggunakan terminal!
- User web EFIRO buka app
Aleleon Shell Access .
|
1
|
Pilih skenario berikut yang sesuai dengan kebutuhan user:
(klik expand / kembangkan)
| Membuat conda env secara umum dengan Anaconda |
|
1
|
Pilih dan aktifkan modul Anaconda untuk membuat conda env:
$ module load [nama-modul-anaconda]
Daftar nama modul Anaconda 3
Versi
|
Nama Modul
|
Versi Py default
|
2024-02-1
|
Anaconda3/2024.02-1
|
3.11.7
|
2023.07-2
|
Anaconda3/2023.07-2
|
3.11.4
|
2022.05
|
Anaconda3/2022.05
|
3.9.12
|
2021.05
|
Anaconda3/2021.05
|
3.8.8
|
2020.11
|
Anaconda3/2020.11
|
3.8.5
|
|
2
|
Ingat atau catat modul Anaconda yang dipakai.
- Kedepannya digunakan untuk mengaktifkan conda env ini.
|
3
|
Buat conda env di direktori HOME:
$ conda create -n [nama-conda-env]
Contoh nama 'skripsi' -> $ conda create -n skripsi
|
4
|
Aktifkan conda env dengan perintah source:
$ source activate [nama-conda-env]
Contoh nama 'skripsi' -> $ source activate skripsi
|
MANAJEMEN ESENSIAL
|
- Menonaktifkan conda env:
(env-user)$ conda deactivate
- Mengaktifkan kembali conda env:
Lakukan langkah 1 dan 4 diatas
- Melihat daftar conda env yang dibuat user:
$ conda env list
- Menghapus conda env:
$ conda remove -n [nama-conda-env] --all
- Manajemen lainnya lihat:
[Conda Managing environments]
|
---
|
| Membuat conda env secara umum dengan Mamba |
|
1
|
Pilih dan aktifkan modul Mamba untuk membuat conda env:
$ module load [nama-modul-mamba]
Daftar nama modul Mamba
Versi
|
Nama Modul
|
Versi Py default
|
23.11.0-0
|
Mamba/23.11.0-0
|
3.10.13
|
|
2
|
Ingat atau catat modul Mamba yang dipakai.
- Kedepannya digunakan untuk mengaktifkan conda env ini.
|
3
|
Buat conda env di direktori HOME:
$ mamba create -n [nama-conda-env]
Contoh nama 'skripsi' -> $ mamba create -n skripsi
|
4
|
Aktifkan conda env dengan perintah source:
$ source activate [nama-conda-env]
Contoh nama 'skripsi' -> $ source activate skripsi
|
MANAJEMEN ESENSIAL
|
- Menonaktifkan conda env:
(env-user)$ conda deactivate
- Mengaktifkan kembali conda env:
Lakukan langkah 1 dan 4 diatas
- Melihat daftar conda env yang dibuat user:
$ conda env list
- Menghapus conda env:
$ conda remove -n [nama-conda-env] --all
- Manajemen lainnya lihat:
[Conda Managing environments]
|
---
|
|
Instalasi Package di Conda Environment
Note:
- Ada baiknya user melengkapi instalasi package sebelum menjalankan komputasi:
- Batch job -> supaya script Python berjalan tanpa error missing package.
- Sesi Jupyter -> untuk efisiensi penggunaan sesi karena terkadang package besar membutuhkan waktu lama untuk instalasi.
- Instalasi ini berjalan di login node sehingga tidak mengkonsumsi Core Hour.
|
Menggunakan terminal!
- User web EFIRO buka app
Aleleon Shell Access .
|
1
|
Aktifkan conda env yang akan dipakai untuk instalasi package ini.
|
2
|
Pilih tutorial instalasi sesuai kebutuhan:
(klik expand / kembangkan)
| Instalasi Package Secara Umum dengan pip / conda |
|
User dapat melakukan instalasi package lainnya dengan pip atau conda
|
pip
|
Contoh umum:
(env-user)$ pip install [nama-package]
|
Daftar package dan tutorial instal pip lihat web:
|
|
conda
|
Contoh umum:
(env-user)$ conda install conda-forge::[nama-package]
|
Daftar package dan tutorial instal conda lihat web:
|
---
|
| Instalasi Package Jupyter untuk user Mamba |
|
Conda env dari Mamba perlu instalasi package Jupyter untuk menggunakan sesi Jupyter:
(env-user)$ mamba install -c conda-forge jupyterlab
(env-user)$ mamba install -c conda-forge jupyter
|
---
|
|
Menjalankan Conda Env dengan GPU?
Berikut hal yang perlu diperhatikan untuk menjalankan package komputasi Python dan conda env di GPU ALELEON Supercomputer:
Instal Package Python Versi CUDA
Partisi GPU ALELEON menggunakan GPU NVIDIA sehingga instal package Python versi CUDA
(lihat subbab diatas).
Jangan salah instal versi CPU.
- Apabila package Python bersangkutan tidak mempunyai versi CUDA berarti hanya dapat berjalan di CPU.
Apakah Perlu Memuat Modul CUDA?
Package Python versi CUDA membutuhkan library CUDA yang sesuai untuk berjalan. Biasanya instalasi package Python versi CUDA juga menginstal library CUDA yang diperlukan. Berikut langkah cek kelengkapan library CUDA:
|
1
|
Setelah instalasi package, cek ketersediaan library CUDA di conda env:
- Apabila instal package dengan pip
(env-user)$ pip list | grep cuda
- Apabila instal package dengan conda
(env-user)$ conda list | grep cuda
|
Apabila ada output cuda:
|
Conda env siap digunakan, user tidak perlu memuat modul CUDA.
|
Apabila tidak ada output cuda:
|
User harus memuat modul CUDA dengan ketentuan:
- Perhatikan versi CUDA yang dibutuhkan.
- Lihat dokumentasi package tersebut.
| Tutorial memuat dan daftar modul CUDA |
|
Bagi yang menjalankan conda env dengan batch job:
- Tambah perintah berikut pada submit script:
...
# Memuat modul
module load ${PM}
module load [nama-modul-CUDA]
...
|
|
Bagi yang menjalankan conda env dengan sesi Jupyter:
- Isi nama modul pada kolom
Software Modules .
|
|
Versi CUDA
|
Nama modul CUDA
|
11.2
|
cuda/11.2-cuDNN8.1.1
|
11.6
|
cuda/11.6-cuDNN8.3.3
|
11.8
|
cuda/11.8-cuDNN8.6.0
|
12.0
|
cuda/12.0-cuDNN8.7.0
|
12.1
|
cuda/12.1-cuDNN8.8.1
|
12.3
|
cuda/12.3-cuDNN8.9.6
|
12.4
|
cuda/12.4-cuDNN9.2.1
|
12.5
|
cuda/12.5-cuDNN9.2.1
|
Permintaan instalasi CUDA versi lain:
- Hubungi tim admin di support@efisonlt.com.
- Layanan gratis.
|
---
|
|
---
|
Pilihan Menjalankan Komputasi
User dapat menjalankan komputasi dengan conda env melalui pilihan berikut, pilih sesuai kebutuhan:
Batch Job
Menjalankan script Python siap jalan tanpa interaksi user melalui manajemen Slurm di [compute node].
Perhatikan untuk file .ipynb
harus dikonversi ke file .py
.
- Tersedia dua pilihan tampilan yaitu terminal dan web EFIRO. Pilih sesuai keinginan.
(klik expand / kembangkan)
| Langkah Job Submission Slurm di Terminal |
|
Menggunakan terminal!
- User web EFIRO buka app
Aleleon Shell Access .
|
1
|
Siapkan conda env dan file komputasi yang dibutuhkan.
- User dapat upload / download file dengan software FTP.
- User web EFIRO juga dapat gunakan app
Home Directory
|
2A
|
Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi.
- Nama file bebas dengan format .
sh , contoh submit.sh
|
|
Contoh template Submit Script
- Ikuti petunjuk NOTES dan alur script di dalamnya.
Klik expand / kembangkan
| Template submit script Conda Environment versi CPU |
|
#!/bin/bash
# -----------------------------------------------------
# Template SLURM Submit Script
# Python dengan Conda Environment (CPU) | rev.210125
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
# User dapat mengubah bagian yang perlu diubah.
# 3. Pastikan user sudah melengkapi conda environment.
# -----------------------------------------------------
# -----------------------------------------------------
# Alokasi komputasi SBATCH dan file input
# -----------------------------------------------------
# Alokasi jumlah core thread CPU
#SBATCH --ntasks=////
# Alokasi jumlah memori RAM (satuan GB)
#SBATCH --mem=////GB
# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS
#SBATCH --time=////
# Definisi file untuk menampung output terminal program
#SBATCH --output=result-%j.txt
# Definisi file untuk menampung output error log
#SBATCH --error=error-%j.txt
# Input nama modul package manager yang digunakan untuk membuat
# conda env user. Daftar nama:
# Anaconda3/2020.11 || Anaconda3/2021.05 || Anaconda3/2022.05 ||
# Anaconda3/2023.07-2 || Anaconda3/2024.02-1 || Mamba/23.11.0-0 ||
PM="////"
# Nama conda environment yang digunakan
CONDA_NAME="////"
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------
# Memuat modul
module load ${PM}
# Mengaktifkan Conda Environment
source activate ${CONDA_NAME}
# Tuliskan perintah menjalankan komputasi Python user
# contoh -> python3 [nama-file-python]
////
|
|
| Template submit script conda environment versi GPU |
|
Note:
|
#!/bin/bash
# -----------------------------------------------------
# Template SLURM Submit Script
# Python dengan Conda Environment (GPU) | rev.210125
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
# User dapat mengubah bagian yang perlu diubah.
# 3. Pastikan user sudah melengkapi conda environment.
# -----------------------------------------------------
# -----------------------------------------------------
# Alokasi komputasi SBATCH dan file input
# -----------------------------------------------------
# Partisi compute node GPU
#SBATCH --partition=ampere
# Alokasi jumlah core thread CPU
#SBATCH --ntasks=////
# Alokasi jumlah GPU
#SBATCH --gpus=////
# Alokasi jumlah memori RAM (satuan GB)
#SBATCH --mem=////GB
# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS
#SBATCH --time=////
# Definisi file untuk menampung output terminal program
#SBATCH --output=result-%j.txt
# Definisi file untuk menampung output error log
#SBATCH --error=error-%j.txt
# Input nama modul package manager yang digunakan untuk membuat
# conda env user. Daftar nama:
# Anaconda3/2020.11 || Anaconda3/2021.05 || Anaconda3/2022.05 ||
# Anaconda3/2023.07-2 || Anaconda3/2024.02-1 || Mamba/23.11.0-0 ||
PM="////"
# Nama conda environment yang digunakan
CONDA_NAME="////"
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------
# Memuat modul
module load ${PM}
# Mengaktifkan Conda Environment
source activate ${CONDA_NAME}
# Tuliskan perintah menjalankan komputasi Python user
# contoh -> python3 [nama-file-python]
////
|
|
|
2B
|
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
- Sisa Core Hour user dan Fair Usage Limit.
- Spesifikasi sistem dan software komputasi.
Untuk melihat limit, jalankan perintah:
$ slimit-python
|
3
|
Jalankan job komputasi dengan perintah:
$ sbatch [nama-submit-script]
Contoh:
$ sbatch submit.sh
|
4
|
User dapat melihat status jalannya job dengan perintah:
$ squeue -ul $USER
Kolom ST atau STATE menunjukkan status jalannya job.
|
STATE
|
Penjelasan
|
R (RUN)
|
Job berjalan
|
PD (PENDING)
|
Job tertahan, lihat NODELIST(REASON)
|
CG (COMPLETING)
|
Job selesai dan dalam proses clean-up
|
CA (CANCELED)
|
Job dibatalkan user
|
PR (PREEMPETED)
|
Job dibatalkan admin, alasan dikabarkan via email
|
S (SUSPENDED)
|
Job ditahan admin, alasan dikabarkan via email
|
|
|
Apabila user ingin menghentikan job yang berjalan, jalankan perintah:
$ scancel [job-ID]
Job ID ada pada squeue diatas.
contoh membatalkan job ID 231:
$ scancel 231
|
---
|
| Langkah Job Submission Slurm di web EFIRO |
|
1
|
Login ke web EFIRO ALELEON Supercomputer.
|
2
|
Buka pinned apps Job Composer di homepage EFIRO.
Pilih menu New Job -> From Template
|
3
|
Pilih template Anaconda Python yang diinginkan:
|
Nama Template
|
Penjelasan
|
Conda Environment Python (CPU)
|
Menjalankan conda env pada CPU
|
Conda Environment Python (GPU)
|
Menjalankan conda env pada GPU
| Kemudian Isi Job Name dan klik Create New Job
|
4
|
Siapkan file komputasi dan conda env yang dibutuhkan:
- Upload / download / edit file via menu
Edit Files
- Akses terminal untuk manajemen conda env via menu
Open Terminal
|
5A
|
Lengkapi Submit Script melalui tombol Open Editor:
- Submit script adalah 'formulir' untuk menjalankan job komputasi.
- Ikuti petunjuk NOTES dan alur script didalamnya.
- Klik
Save setiap kali mengubah script.
|
Bagi yang memilih template GPU:
- Perhatikan apakah perlu memuat modul CUDA.
|
|
5B
|
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
- Sisa Core Hour user dan Fair Usage Limit.
- Spesifikasi sistem dan software komputasi.
Untuk melihat limit, jalankan perintah ini via menu Open Terminal :
$ slimit-python
|
6
|
Jalankan job dengan klik tombol Submit .
- Pantau kolom status yang menjelaskan status jalannya job.
- Apabila ingin membatalkan job yang berjalan, klik
Stop .
Daftar Status Job
|
Status
|
Arti
|
Not Submitted
|
Job belum pernah dijalankan.
|
Running
|
Job berjalan.
|
Queue
|
Job mengantri dan belum berjalan.
|
Completed
|
Job selesai berjalan.
|
Failed
|
Job berhenti karena error atau di stop user.
|
Untuk melihat alasan job yang queue: Buka pinned apps Active Jobs di homepage EFIRO. Ubah opsi All jobs ke Your Jobs. Klik simbol > untuk melihat status job yang pending pada kolom Reason. Arti reason lihat laman Daftar Reason NODELIST ALELEON Supercomputer.
|
|
7
|
Lihat output file komputasi pada kolom Folder Contents
- Atau dengan membuka
Edit Files
|
8
|
Untuk menghapus ruang job dan datanya:
- Pilih ruang job yang akan dihapus.
- Klik menu
Delete
|
---
|
Sesi Jupyter
Menjalankan sesi interaktif Jupyter Lab atau Notebook di [interactive node].
| Langkah Sesi Jupyter |
|
1
|
Login ke web EFIRO ALELEON Supercomputer.
|
2
|
Siapkan conda environment yang akan digunakan.
- Bagi user Mamba, jangan lupa instal package Jupyter di conda env.
|
Untuk sesi Jupyter efektif terkait batasan waktu dan konsumsi Core Hour:
- Disarankan melengkapi instalasi package sebelum sesi Jupyter.
- Hindari instalasi package besar selama sesi Jupyter.
|
3
|
|
Buka pinned apps Jupyter di homepage EFIRO.
|
|
4
|
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 -> interactive node CPU
tilla -> interactive node GPU
|
|
Number of CPU thread(s)
|
Alokasi core CPU, range 2 - 32 untuk torti dan tilla.
|
|
Amount of memory/RAM (GB)
|
Alokasi RAM dalam satuan GB, range 1 - 64 untuk torti dan tilla.
|
|
Number of GPUs
|
Jumlah GPU, isi angka 1 apabila pakai tilla
|
|
Number of hours
|
Waktu maksimal sesi Jupyter, range 1 - 72 untuk torti dan tilla.
|
|
Form CPU, RAM, GPU, dan hours mempunyai limit berdasarkan:
- Sisa Core Hour user dan Fair Usage Limit.
- Spesifikasi sistem dan software komputasi.
Langkah melihat limit:
- Buka menu Clusters > Aleleon Shell Access
$ slimit-python
|
|
Choose how to launch Jupyter
|
Pilih Anaconda/Mamba
|
|
Choose Anaconda/Mamba version
|
Pilih versi yang digunakan untuk membuat conda env user.
|
|
Conda/Mamba environment directory
|
Isi nama conda env user, contoh: skripsi
|
|
Software Modules
|
Memuat modul software diluar conda env user , isi apabila ada.
|
Bagi user yang memilih partition tilla:
|
|
Environment setup
|
Memuat environment variable, isi apabila ada.
|
|
Additional Jupyter arguments
|
Memuat argumen tambahan Jupyter, isi apabila ada.
|
|
Email address
|
Notifikasi email untuk status mulai dan selesainya Jupyter.
|
|
5
|
Klik tombol Launch untuk memulai sesi Jupyter.
- User akan diarahkan ke halaman
My Interactive Sessions .
- Tunggu hingga sesi Jupyter siap diakses.
|
6
|
Apabila status Running, klik tombol Connect to Jupyter .
- Sistem mulai menghitung Core Hour!
- Untuk menghentikan sesi yang sedang running, klik tombol
Cancel
|
7
|
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
|
8
|
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.
Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email:
support@efisonlt.com