Halaman ini menjelaskan menjalankan komputasi / aplikasi Python dengan conda environment di ALELEON Supercomputer.
Langkah Menjalankan Komputasi
Terdapat tiga langkah utama:
- Buat conda environment untuk menampung instalasi package.
- Instal package Python yang diperlukan di conda env tersebut.
- Menggunakan conda env tersebut untuk menjalankan komputasi.
Spesifikasi
Tutorial ini memandu membuat conda environment dengan site-packages terisolasi di dalamnya.
Keterangan simbol perintah terminal
|
$ -> perintah ketika conda env tidak aktif
|
(env)$ -> perintah ketika conda env aktif
|
Membuat Conda Environment
ALELEON Supercomputer menyediakan pilihan Python Package Manager (PPM) berikut untuk membuat conda environment. Pilih sesuai preferensi user:
- Anaconda: PPM Python paling banyak digunakan dimana saat ini menjadi standar industri.
- Mamba: PPM Python alternatif Anaconda versi open-source yang dikembangkan komunitas.
(klik expand / kembangkan)
- Membuat conda env dengan Anaconda -
|
0
|
Menggunakan terminal!
- User web EFIRO buka app
Aleleon Shell Access .
|
1
|
Pilih dan aktifkan modul Anaconda untuk membuat conda env:
- Ingat atau catat modul Anaconda yang dipakai.
- Kedepannya digunakan untuk mengaktifkan conda env ini.
$ 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
|
Package apa yang akan diinstal user di conda env ini?
- Beberapa package membutuhkan Python versi spesifik
- Gunakan opsi 3B untuk membuat conda env.
Update 29 April 2025
|
3
|
Buat conda env dengan opsi:
|
3A - Conda env kosong dengan Python 3 versi terbaru (3.13):
$ conda create -n [nama-conda-env] pip
Contoh dengan nama 'skripsi'
$ conda create -n skripsi pip
|
|
3B - Conda env kosong dengan Python versi tertentu:
$ conda create -n [nama-conda-env] python=[versi]
Contoh dengan Python 3.10
$ conda create -n skripsi python=3.10
|
Saran
|
Pilih nama conda env yang mengandung unsur nama modul:
- Untuk mengingat modul yang digunakan membuat conda env.
- Contoh user memilih modul Anaconda3/2024-02-1
- Gunakan nama conda env seperti
A2024-skripsi
|
---
|
- Membuat conda env dengan Mamba -
|
0
|
Menggunakan terminal!
- User web EFIRO buka app
Aleleon Shell Access .
|
1
|
Pilih dan aktifkan modul Mamba untuk membuat conda env:
- Ingat atau catat modul Mamba yang dipakai.
- Kedepannya digunakan untuk mengaktifkan conda env ini.
$ 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
|
Package apa yang akan diinstal user di conda env ini?
- Beberapa package membutuhkan Python versi spesifik
- Gunakan opsi 3B untuk membuat conda env.
Update 29 April 2025
|
3
|
Buat conda env dengan opsi:
|
3A - Conda env kosong dengan Python 3 versi terbaru (3.13):
$ mamba create -n [nama-conda-env] pip
Contoh dengan nama 'skripsi'
$ mamba create -n skripsi pip
|
|
3B - Conda env kosong dengan Python versi tertentu:
$ mamba create -n [nama-conda-env] python=[versi]
Contoh dengan Python 3.10
$ mamba create -n skripsi python=3.10
|
Saran
|
Pilih nama conda env yang mengandung unsur nama modul:
- Untuk mengingat modul yang digunakan membuat conda env.
- Contoh user memilih modul Mamba/23.11.0-0
- Gunakan nama conda env seperti
M23-skripsi
|
---
|
Mengaktifkan Conda Env dan Instalasi Package
Ada baiknya user melengkapi instalasi package sebelum menjalankan komputasi karena:
- Batch job -> supaya script Python berjalan tanpa error missing package.
- Sesi Jupyter -> untuk efisiensi penggunaan karena terkadang ada package yang membutuhkan waktu lama untuk instalasi.
Instalasi ini berjalan di login node sehingga tidak mengkonsumsi Core Hour.
Mengaktifkan Conda Environment
|
0
|
Menggunakan terminal!
- User web EFIRO buka app
Aleleon Shell Access .
|
1
|
Muat modul PPM yang digunakan untuk membuat conda env
$ module load [Anaconda-atau-Mamba ....]
Apabila lupa dengan nama conda env, cari dengan:
$ conda env list
|
2
|
Aktifkan conda env dengan perintah source:
$ source activate [nama-conda-env]
|
3
|
Pilih panduan instalasi package yang dibutuhkan
|
Lihat laman wiki [Daftar Instalasi Package Python].
- Halaman terpisah karena daftar terlalu panjang ._.
|
4
|
Apabila hendak menonaktfkan conda env:
(env)$ conda deactivate
|
Pilihan Menjalankan Komputasi
Berikut opsi menjalankan komputasi Python dengan conda env, pilih sesuai kebutuhan:
- [Batch job] -> menjalankan script Python siap jalan yang tidak membutuhkan interaksi user melalui manajemen Slurm di [compute node].
- [Sesi Jupyter] -> menjalankan sesi interaktif Jupyter Lab atau Notebook di [interactive node].
---
Menjalankan Package Python versi GPU?
Perhatikan hal berikut apabila user menginstal package Python versi CUDA dan hendak menggunakan compute / interactive node GPU:
- Package membutuhkan jenis dan versi library NVIDIA sesuai seperti CUDA, cuDNN untuk dapat berjalan di GPU NVIDIA.
- Umumnya (walau tidak semua) package Python CUDA saat ini juga menginstal package NVIDIA yang dibutuhkan.
- Berikut metode mengecek dan melengkapi library NVIDIA yang dibutuhkan package:
Mengecek Kelengkapan Package NVIDIA
|
0
|
Menggunakan terminal!
- User web EFIRO buka app
Aleleon Shell Access .
|
1
|
Aktifkan conda env yang akan digunakan.
|
2
|
Cek ketersediaan library CUDA di conda env tersebut:
- Apabila instal package dengan pip
(env)$ pip list | grep cuda
- Apabila instal package dengan conda
(env)$ conda list | grep cuda
|
3A
|
Apabila ada output:
|
Conda env siap digunakan.
- User tidak perlu memuat modul CUDA.
|
3B
|
Apabila tidak ada output:
|
User harus memuat modul CUDA dengan ketentuan:
- Perhatikan versi CUDA yang dibutuhkan package.
- Lihat dokumentasi package tersebut.
(klik expand / kembangkan)
- Tutorial memuat dan daftar modul CUDA -
|
Opsi Komputasi Batch Job
|
Tambah perintah berikut pada submit script:
...
# Memuat modul
module load ${PM}
module load [Nama-modul-CUDA]
...
|
Opsi Komputasi Jupyter
|
Isi nama modul pada kolom Software Modules
|
|
DAFTAR MODUL CUDA ALELEON
|
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
|
---
|
|
---
|
---
Batch Job
menjalankan script Python siap jalan yang tidak membutuhkan interaksi user melalui manajemen Slurm di [compute node].
Perhatikan file .ipynb
harus dikonversi ke file .py
.
- Tersedia dua pilihan tampilan yaitu terminal dan web EFIRO. Pilih sesuai keinginan.
(klik expand / kembangkan)
- Langkah Batch Job di Terminal -
|
Menggunakan terminal!
- User web EFIRO buka app
Aleleon Shell Access .
|
1
|
Lakukan persiapan sebelum batch job:
|
Pastikan package lengkap pada conda env yang akan digunakan.
- Package tidak lengkap akan menyebabkan job gagal berjalan.
|
Apabila butuh upload file untuk job:
- Upload / download file dengan [software FTP]
- Atau melalui web EFIRO di menu
Apps > 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:
...
module load ${PM}
module load [Nama-modul-CUDA]
...
|
#!/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
|
|
5
|
User dapat memantau file output dengan perintah Unix seperti:
|
6
|
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 Batch Job di web EFIRO -
|
1
|
[Login ke web EFIRO] ALELEON Supercomputer.
|
2
|
Lakukan persiapan sebelum batch job:
|
Pastikan package lengkap pada conda env yang akan digunakan.
- Package tidak lengkap akan menyebabkan job gagal berjalan.
|
Upload file komputasi lihat langkah 5.
|
3
|
Buka pinned apps Job Composer di homepage EFIRO.
Pilih menu New Job -> From Template
|
4
|
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
|
5
|
Siapkan file komputasi yang dibutuhkan:
- Upload / download / edit file via menu
Edit Files
- Akses terminal apabila butuh via menu
Open Terminal
|
6A
|
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?
...
module load ${PM}
module load [Nama-modul-CUDA]
...
|
|
|
6B
|
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
|
7
|
Jalankan job dengan klik tombol Submit .
Pantau kolom Status yang menjelaskan status jalannya 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.
|
|
8
|
Lihat output file komputasi pada kolom Folder Contents
- Atau dengan membuka menu
Edit Files
|
9
|
Apabila user ingin menghentikan job yang berjalan, klik Stop .
|
10
|
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].
(klik expand / kembangkan)
- Langkah Sesi Jupyter -
|
1
|
Login ke web EFIRO ALELEON Supercomputer.
|
2
|
Lakukan persiapan sebelum sesi Jupyter:
|
User PPM Mamba harus instal package Jupyter:
- Muat modul Mamba yang digunakan untuk membuat conda env.
- Aktifkan conda env yang akan digunakan.
- Instal package Jupyter:
(env)$ pip install jupyter jupyterlab
|
Untuk efisiensi sesi terkait batasan waktu dan konsumsi Core Hour:
- Lengkapi instalasi package pada conda env yang akan dipakai.
- Upload file besar gunakan menu
Apps > Home Directory
|
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
|
|
Amount of memory/RAM (GB)
|
Alokasi RAM dalam satuan GB, range 1 - 64
|
|
Number of GPUs (apabila pilih partition tilla)
|
Jumlah GPU, isi angka 1
|
|
Number of hours
|
Waktu maksimal sesi Jupyter, range 1 - 72
|
|
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 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