Anaconda Python: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (menyelesaikan overhaul) |
WilsonLisan (bicara | kontrib) (menambah linking modul CUDA) |
||
Baris 61: | Baris 61: | ||
|cuda/12.0-cuDNN8.7.0 | |cuda/12.0-cuDNN8.7.0 | ||
|- | |- | ||
|CUDA 12.1 dengan cuDNN 8.8.1 | |||
|cuda/12.1-cuDNN8.8.1 | |cuda/12.1-cuDNN8.8.1 | ||
''atau'' cuda | |||
|}Apabila user membutuhkan CUDA versi spesifik yang belum ada pada daftar diatas, hubungi tim admin melalui '''support@efisonlt.com''' untuk permintaan instalasi. Layanan ini bebas biaya dan akan dilakukan pada hari dan jam kerja EFISON. | |}Apabila user membutuhkan CUDA versi spesifik yang belum ada pada daftar diatas, hubungi tim admin melalui '''support@efisonlt.com''' untuk permintaan instalasi. Layanan ini bebas biaya dan akan dilakukan pada hari dan jam kerja EFISON. | ||
=='''Alternatif Menjalankan Anaconda Python di ALELEON Supercomputer'''== | =='''Alternatif Menjalankan Anaconda Python di ALELEON Supercomputer'''== | ||
Baris 192: | Baris 191: | ||
|- | |- | ||
|'''2''' | |'''2''' | ||
|Siapkan file yang dibutuhkan untuk menjalankan komputasi user.*[[Upload File dengan Aplikasi FTP|'''User dapat melakukan upload / download file dengan bantuan aplikasi FTP''']] | |Siapkan file yang dibutuhkan untuk menjalankan komputasi user. | ||
* [[Upload File dengan Aplikasi FTP|'''User dapat melakukan upload / download file dengan bantuan aplikasi FTP''']] | |||
|- | |- | ||
| rowspan="2" |'''3''' | | rowspan="2" |'''3''' | ||
Baris 376: | Baris 377: | ||
|}'''''Keterangan:''''' | |}'''''Keterangan:''''' | ||
#Info SBATCH lebih detail lihat laman [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']] | #Info SBATCH lebih detail lihat laman [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']] | ||
#Limitasi fair policy usage untuk menjaga kualitas layanan ALELEON Supercomputer.#*User dapat mengajukan permintaan membuka limitasi apabila job membutuhkan alokasi lebih. | #Limitasi fair policy usage untuk menjaga kualitas layanan ALELEON Supercomputer. | ||
#*User dapat mengajukan permintaan membuka limitasi apabila job membutuhkan alokasi lebih. | |||
#*Info lebih detail lihat laman [[Limitasi Fair Usage ALELEON Supercomputer|'''Limitasi Fair Usage ALELEON Supercomputer''']] | #*Info lebih detail lihat laman [[Limitasi Fair Usage ALELEON Supercomputer|'''Limitasi Fair Usage ALELEON Supercomputer''']] | ||
#Python versi MPI (MPI4PY) mendukung komputasi paralel MPI untuk berjalan ''multi-node'' : | #Python versi MPI (MPI4PY) mendukung komputasi paralel MPI untuk berjalan ''multi-node'' : | ||
Baris 382: | Baris 384: | ||
#*Dalam kaitan ini, parameter mem adalah alokasi memori RAM per-node. | #*Dalam kaitan ini, parameter mem adalah alokasi memori RAM per-node. | ||
#*Info lebih detail lihat laman [[MPI ALELEON Supercomputer|'''MPI ALELEON Supercomputer''']]. | #*Info lebih detail lihat laman [[MPI ALELEON Supercomputer|'''MPI ALELEON Supercomputer''']]. | ||
# User dapat mengalokasikan RAM hingga 500GB di high-mem node epyc.#*Tambahkan parameter <code>'''#SBATCH --nodelist=epyc001'''</code> | # User dapat mengalokasikan RAM hingga 500GB di high-mem node epyc.# | ||
#* Tambahkan parameter <code>'''#SBATCH --nodelist=epyc001'''</code> | |||
|- | |- | ||
|'''4''' | |'''4''' | ||
Baris 424: | Baris 427: | ||
|SUSPENDED | |SUSPENDED | ||
| Job ditahan oleh admin EFISON | | Job ditahan oleh admin EFISON | ||
|}'''''Keterangan:''''' | |}'''''Keterangan:''''' | ||
* Kunjungi laman [[Daftar Reason NODELIST ALELEON Supercomputer|'''Daftar Reason NODELIST ALELEON Supercomputer''']]. | |||
|- | |- | ||
|'''5B''' | |'''5B''' | ||
Baris 543: | Baris 547: | ||
'''''Keterangan:''''' | '''''Keterangan:''''' | ||
#Info SBATCH lebih detail lihat laman [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']] | #Info SBATCH lebih detail lihat laman [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']] | ||
#Limitasi fair policy usage untuk menjaga kualitas layanan ALELEON Supercomputer.#*User dapat mengajukan permintaan membuka limitasi apabila job membutuhkan alokasi lebih. | #Limitasi fair policy usage untuk menjaga kualitas layanan ALELEON Supercomputer. | ||
#*User dapat mengajukan permintaan membuka limitasi apabila job membutuhkan alokasi lebih. | |||
#*Info lebih detail lihat laman [[Limitasi Fair Usage ALELEON Supercomputer|'''Limitasi Fair Usage ALELEON Supercomputer''']] | #*Info lebih detail lihat laman [[Limitasi Fair Usage ALELEON Supercomputer|'''Limitasi Fair Usage ALELEON Supercomputer''']] | ||
#Python versi MPI (MPI4PY) mendukung komputasi paralel MPI untuk berjalan ''multi-node'' : | #Python versi MPI (MPI4PY) mendukung komputasi paralel MPI untuk berjalan ''multi-node'' : | ||
Baris 549: | Baris 554: | ||
#*Dalam kaitan ini, parameter mem adalah alokasi memori RAM per-node. | #*Dalam kaitan ini, parameter mem adalah alokasi memori RAM per-node. | ||
#*Info lebih detail lihat laman [[MPI ALELEON Supercomputer|'''MPI ALELEON Supercomputer''']]. | #*Info lebih detail lihat laman [[MPI ALELEON Supercomputer|'''MPI ALELEON Supercomputer''']]. | ||
# User dapat mengalokasikan RAM hingga 500GB di high-mem node epyc.#*Tambahkan parameter <code>'''#SBATCH --nodelist=epyc001'''</code> | # User dapat mengalokasikan RAM hingga 500GB di high-mem node epyc. | ||
#* Tambahkan parameter <code>'''#SBATCH --nodelist=epyc001'''</code> | |||
|- | |- | ||
|'''7A''' | |'''7A''' | ||
Baris 571: | Baris 577: | ||
*Ubah opsi ke <code>'''Your Jobs'''</code> sesuai gambar dibawah ini. | *Ubah opsi ke <code>'''Your Jobs'''</code> sesuai gambar dibawah ini. | ||
*Klik simbol '''>''' untuk melihat detail job submission. | *Klik simbol '''>''' untuk melihat detail job submission. | ||
*Lihat isi kolom '''Reason'''.**Arti Reason lihat laman '''[[Daftar Reason NODELIST ALELEON Supercomputer]].''' | *Lihat isi kolom '''Reason'''. | ||
**Arti Reason lihat laman '''[[Daftar Reason NODELIST ALELEON Supercomputer]].''' | |||
[[Berkas:Efiroqueueedit.png|al=|jmpl|''Halaman Active Jobs. Ubah opsi '''<code>Your jobs</code>''' untuk melihat status job user saja. Klik simbol '''>''' untuk melihat detail job submission.''|kiri]] | [[Berkas:Efiroqueueedit.png|al=|jmpl|''Halaman Active Jobs. Ubah opsi '''<code>Your jobs</code>''' untuk melihat status job user saja. Klik simbol '''>''' untuk melihat detail job submission.''|kiri]] | ||
|- | |- | ||
Baris 705: | Baris 712: | ||
***Mengisi nama modul CUDA versi terbaru yaitu '''<code>cuda</code>''' | ***Mengisi nama modul CUDA versi terbaru yaitu '''<code>cuda</code>''' | ||
***Memilih modul CUDA versi lainnya apabila dibutuhkan oleh package Python user. | ***Memilih modul CUDA versi lainnya apabila dibutuhkan oleh package Python user. | ||
****Daftar modul CUDA lihat subbab '''Daftar Modul NVIDIA CUDA Toolkit'''. | ****Daftar modul CUDA lihat subbab '''[https://wiki.efisonlt.com/wiki/Anaconda_Python#Modul_NVIDIA_CUDA_Toolkit Daftar Modul NVIDIA CUDA Toolkit]'''. | ||
*'''Environment Setup''' | *'''Environment Setup''' |
Revisi per 24 Oktober 2023 04.14
Anaconda adalah suite katalog packages Python dan R untuk komputasi data science dan machine learning.
Modul Anaconda Python
Berikut adalah detail versi Anaconda yang tersedia secara global di ALELEON Supercomputer dimana menggunakan Python 3 sebagai standar.
Versi | Nama modul | Versi Python
default |
Dukungan hardware | |||
---|---|---|---|---|---|---|
CPU | GPU | OMP
Threading |
MPI
multi-node | |||
Anaconda 3 2020.11 | Anaconda3/2020.11 | 3.8.5 | V | V | V1 | V2 |
Anaconda 3 2021.05 | Anaconda3/2021.05 | 3.8.8 | ||||
Anaconda 3 2022.05 | Anaconda3/2022.05
atau Anaconda3 |
3.9.12 |
Keterangan:
- Melalui package Python yang mendukung OpenMP seperti Cython, Numba, Pythran, PyPy, dll.
- Melalui MPI for Python (MPI4PY)
Modul NVIDIA CUDA Toolkit
User membutuhkan modul NVIDIA CUDA Toolkit untuk menjalankan Python dengan akselerasi GPU NVIDIA di ALELEON Supercomputer. Berikut adalah detail versi NVIDIA CUDA Toolkit yang tersedia secara global di ALELEON Supercomputer.
Nama dan Versi | Nama Modul |
---|---|
CUDA 11.2 dengan cuDNN 8.1.1 | cuda/11.2-cuDNN8.1.1 |
CUDA 11.6 dengan cuDNN 8.3.3 | cuda/11.6-cuDNN8.3.3 |
CUDA 11.8 dengan cuDNN 8.6.0 | cuda/11.8-cuDNN8.6.0 |
CUDA 12.0 dengan cuDNN 8.7.0 | cuda/12.0-cuDNN8.7.0 |
CUDA 12.1 dengan cuDNN 8.8.1 | cuda/12.1-cuDNN8.8.1
atau cuda |
Apabila user membutuhkan CUDA versi spesifik yang belum ada pada daftar diatas, hubungi tim admin melalui support@efisonlt.com untuk permintaan instalasi. Layanan ini bebas biaya dan akan dilakukan pada hari dan jam kerja EFISON.
Alternatif Menjalankan Anaconda Python di ALELEON Supercomputer
ALELEON Supercomputer menawarkan user untuk menjalankan Anaconda Python dengan pilihan skema:
---
Menjalankan Anaconda Python melalui Job Submission |
---|
|
---
Menjalankan Anaconda Python dengan sesi interaktif Jupyter |
|
Membuat Conda Environment dan Instalasi Package Python
ALELEON Supercomputer mensyaratkan user membuat Conda Environment untuk menjalankan komputasi Python via Anaconda.
- Conda Environment adalah 'ruang isolasi' untuk menampung instalasi package Python masing-masing user.
- User membuat Conda Environment dan melakukan instalasi package Python secara mandiri.
- Kegiatan membuat Conda Env dan instalasi dilakukan pada Login Node sehingga tidak mengurangi Kredit Core Hour user.
Berikut adalah langkah membuat Conda Environment di ALELEON Supercomputer:
Membuat Conda Environment | |
---|---|
0 | Instalasi package dilakukan melalui terminal.
|
1 | Aktifkan modul Anaconda, tim admin EFISON menyarankan menggunakan Anaconda terbaru:
$ module load Anaconda3 Apabila ingin menggunakan versi Anaconda lainnya, lihat subbab Modul Anaconda. |
2 |
Membuat Conda EnvironmentBuat Conda Environment secara default di direktori HOME dengan format perintah: $ conda create --name <nama-conda-environment> pip Contoh: $ conda create --name kerjaanskripsi pip |
3 |
Mengaktifkan Conda EnvironmentAktifkan Conda Environment dengan format $ source activate $CONDA/<nama-conda-environment Contoh: $ source activate $CONDA/kerjaanskripsi Conda Environment aktif ditandai dengan tulisan nama env pada bash terminal seperti ini: (kerjaanskripsi) [wololo@login ~]$ |
4 |
Instalasi Package Python melalui pipLakukan instalasi package Python (seperti Tensorflow, PyTorch, Numpy, dll) yang dibutuhkan dengan
$ pip install <nama-package-Python> |
5 |
Menonaktifkan Conda EnvironmentUser dapat menonaktifkan Conda Environment yang sedang aktif dengan perintah: $ conda deactivate |
Mengaktifkan Kembali Conda Environment UserUser dapat kembali mengaktifkan Conda Environment yang dibuat dengan langkah 1 dan 3 diatas: $ module load Anaconda3 $ source activate $CONDA/<nama-conda-environment> User dapat melihat daftar nama Conda Environment yang sebelumnya dibuat dengan perintah $ conda-env list Menghapus Conda EnvironmentUser dapat menghapus Conda Environment dengan format perintah: $ conda remove -n <nama-conda-environment> --all |
Menjalankan Anaconda Python Melalui Job Submission
User dapat menjalankan Anaconda Python melalui job submission dengan pilihan cara melalui tampilan terminal atau GUI web EFIRO.
---
Mengecek Kredit Core Hour bagi Akun Perseorangan
User dengan akun perseorangan disarankan untuk selalu mengecek sisa Kredit Core Hour sebelum melakukan job submission dengan menjalankan perintah pada terminal:
$ sausage
Bagi yang login ke web EFIRO, buka terminal pada menu Clusters
> Aleleon Shell Access
---
Opsi menggunakan terminal - SLURM sbatch
Menjalankan komputasi pada terminal melalui job submission SLURM sbatch (klik expand atau kembangkan).
Langkah Menjalankan Anaconda Python via SLURM sbatch | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Sebelum login, user harus terhubung ke jaringan VPN ALELEON Supercomputer. | |||||||||||||||||||||||||||||||||||||||||
Login dengan SSH:
| ||||||||||||||||||||||||||||||||||||||||||
1 | Siapkan Conda Environment dan package Python yang akan digunakan untuk komputasi Python user | |||||||||||||||||||||||||||||||||||||||||
2 | Siapkan file yang dibutuhkan untuk menjalankan komputasi user. | |||||||||||||||||||||||||||||||||||||||||
3 | Buat SLURM Submit Script yaitu 'formulir' untuk menjalankan job komputasi dengan panduan berikut:
| |||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||
4 | Jalankan job dengan perintah sbatch.
$ sbatch <nama-SLURM-Submit-script> Contoh menjalankan nama script $ sbatch my_job_submission.sh | |||||||||||||||||||||||||||||||||||||||||
5A | User dapat melihat status jalannya job dengan perintah squeue berikut.
$ squeue -ul $USER Berikut adalah daftar STATE (ST) dari squeue yang menunjukkan status berjalannya job:
| |||||||||||||||||||||||||||||||||||||||||
5B | Apabila user ingin membatalkan job yang sedang berjalan, gunakan perintah scancel berdasarkan job ID.
$ scancel <job-ID-submission-user> Contoh user membatalkan job submission milik user dengan ID 231. $ scancel 231 |
---
Opsi menggunakan GUI Web - EFIRO Job Composer
Menjalankan komputasi dengan tampilan grafis pada formulir job submission EFIRO Job Composer (klik expand atau kembangkan).
Langkah Menjalankan Anaconda Python via EFIRO Job Composer | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Sebelum login, user harus terhubung ke jaringan VPN ALELEON Supercomputer. | |||||||||||||||||||||||||||||||||||||||||
Buka alamat web http://aleleon.ood kemudian masukkan username dan password user.
| ||||||||||||||||||||||||||||||||||||||||||
1 | Siapkan Conda Environment dan package Python yang akan digunakan untuk komputasi Python user | |||||||||||||||||||||||||||||||||||||||||
2 | Buka menu dashboard EFIRO Jobs > Jobs Composer
| |||||||||||||||||||||||||||||||||||||||||
3 | Pilih New Jobs > From Template
| |||||||||||||||||||||||||||||||||||||||||
4 |
| |||||||||||||||||||||||||||||||||||||||||
5 |
Gunakan menu
Gunakan menu | |||||||||||||||||||||||||||||||||||||||||
6 |
Melalui
| |||||||||||||||||||||||||||||||||||||||||
Keterangan:
| ||||||||||||||||||||||||||||||||||||||||||
7A | Jalankan job dengan klik tombol Submit .
Berikut penjelasan kolom
| |||||||||||||||||||||||||||||||||||||||||
7B | Apabila ingin menghentikan job yang tengah berjalan, klik tombol Stop .
| |||||||||||||||||||||||||||||||||||||||||
8A | Hasil output job dapat dilihat pada kolom Folder Contents atau membuka halaman Edit Files .
| |||||||||||||||||||||||||||||||||||||||||
8B | User dapat menjalankan ulang ruang job yang sama dengan mengklik kembali tombol Submit .
|
---
Notifikasi Status Jalannya Komputasi via email
SLURM ALELEON Supercomputer dapat mengirim notifikasi email kepada user dengan nama "Jojo" untuk mengabarkan status berjalannya job komputasi user. Silahkan tambahan SBATCH berikut pada Submit Script apabila user ingin menerima notifikasi email dari SLURM:
#SBATCH --mail-user=<alamat-email-user>
#SBATCH --mail-type=BEGIN,END,FAIL
SBATCH mail-type mengatur konten email notifikasi SLURM dengan pilihan opsi yang sekiranya berguna untuk user:
- BEGIN -> notifikasi job sudah mulai
- END -> notifikasi job sudah selesai beserta cuplikan 20 baris terakhir dari file SBATCH output dan error.
- FAIL -> notifikasi apabila job gagal berjalan atau berhenti tidak sewajarnya.
- TIME_LIMIT_50 -> job telah berjalan dengan durasi waktu 50% time limit.
- TIME_LIMIT_80 -> job telah berjalan dengan durasi waktu 80% time limit.
Menjalankan Anaconda Python dengan Sesi Interaktif Jupyter
Terdapat 2 langkah untuk menjalankan sesi interaktif Jupyter dengan Conda Environment User yaitu:
- Melakukan instalasi pip Jupyter pada Conda Environment yang akan digunakan untuk sesi Jupyter.
- Memulai sesi interaktif Jupyter Notebook atau Lab pada web EFIRO.
---
Instalasi pip Jupyter pada Conda Environment
Berikut adalah langkah instalasi pip Jupyter pada Conda Environment user (klik expand atau kembangkan).
Langkah Instalasi pip Jupyter pada Conda Environment User | |
---|---|
0 | Instalasi package dilakukan melalui terminal.
|
1 | Aktifkan Conda Environment yang akan digunakan untuk sesi Jupyter
$ module load Anaconda3 $ source activate $CONDA/<nama-conda-environment> |
2 | Lakukan pip install jupyter dan jupyterlab
$ pip install jupyter $ pip install jupyterlab |
---
Memulai Sesi Jupyter
Berikut adalah langkah untuk memulai sesi Jupyter dengan Conda Environment yang dibuat user:
Memulai Sesi Interaktif Jupyter dengan Conda Environment User | ||||||
---|---|---|---|---|---|---|
0 | Sebelum login, user harus terhubung ke jaringan VPN ALELEON Supercomputer. | |||||
Buka alamat web http://aleleon.ood kemudian masukkan username dan password user.
| ||||||
1 | Bagi akun perseorangan, disarankan untuk mengecek sisa CPU Core Hour sebelum memulai sesi Jupyter ini.
$ sausage | |||||
2 | Buka menu Interactive Apps
| |||||
3 | Isi formulir untuk memulai sesi Jupyter sesuai pilihan panduan berikut (klik expand atau kembangkan):
| |||||
4 | Apabila formulir sudah terisi, klik tombol Launch untuk memulai sesi Jupyter.
| |||||
5 | Apabila status menunjukkan Running atau kolom berwarna hijau, klik Connect to Jupyter .
| |||||
6 | Pilih Notebook Python 3 untuk memulai sesi notebook Python 3 baik di Jupyter Notebook dan Lab. | |||||
7A | User dapat menghentikan sesi Jupyter yang sedang berjalan dengan klik tombol Delete
| |||||
7B | User dapat kembali mengunjungi halaman My Interactive Sessions melalui dasboard EFIRO.
|