Anaconda Python: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (fix typo formatting dan menambah status queue di job composer) |
WilsonLisan (bicara | kontrib) (mengganti link subbab modul nvidia) |
||
(13 revisi perantara oleh pengguna yang sama tidak ditampilkan) | |||
Baris 3: | Baris 3: | ||
[https://www.anaconda.com/ '''Anaconda'''] adalah suite katalog packages Python dan R untuk komputasi ''data science'' dan ''machine learning''. | [https://www.anaconda.com/ '''Anaconda'''] adalah suite katalog packages Python dan R untuk komputasi ''data science'' dan ''machine learning''. | ||
== '''Modul Anaconda Python''' == | == '''Modul Anaconda Python dan NVIDIA CUDA Toolkit''' == | ||
Berikut adalah detail versi Anaconda yang tersedia secara global di ALELEON Supercomputer dimana menggunakan Python 3 sebagai standar. | Berikut adalah detail versi Anaconda yang tersedia secara global di ALELEON Supercomputer dimana menggunakan Python 3 sebagai standar. Sementara itu User membutuhkan modul NVIDIA CUDA Toolkit untuk menjalankan Python dengan akselerasi GPU NVIDIA. Detail versi NVIDIA CUDA disertakan dalam tabel berikut. ''(klik expand atau kembangkan'') | ||
{| class="wikitable" | {| class="wikitable mw-collapsible mw-collapsed" | ||
| | ! colspan="7" |Modul Anaconda dan NVIDIA CUDA Toolkit | ||
|- | |||
! colspan="7" |Modul Anaconda | |||
|- | |||
! rowspan="2" |Versi | ! rowspan="2" |Versi | ||
! rowspan="2" |Nama modul | ! rowspan="2" |Nama modul | ||
Baris 23: | Baris 26: | ||
|Anaconda3/2020.11 | |Anaconda3/2020.11 | ||
|3.8.5 | |3.8.5 | ||
| rowspan=" | | rowspan="4" |V | ||
| rowspan=" | | rowspan="4" |V | ||
| rowspan=" | | rowspan="4" |V''<sup>1</sup>'' | ||
| rowspan=" | | rowspan="4" | V''<sup>2</sup>'' | ||
|- | |- | ||
|Anaconda 3 2021.05 | |Anaconda 3 2021.05 | ||
Baris 34: | Baris 37: | ||
|Anaconda 3 2022.05 | |Anaconda 3 2022.05 | ||
|Anaconda3/2022.05 | |Anaconda3/2022.05 | ||
|3.9.12 | |||
|- | |||
|Anaconda 3 2023.07-2 | |||
|Anaconda3/2023.07-2 | |||
''atau'' Anaconda3 | ''atau'' Anaconda3 | ||
|3. | |3.11.4 | ||
| | |- | ||
! colspan="7" |Modul NVIDIA CUDA Toolkit | |||
| | |||
|- | |- | ||
|CUDA 11.2 dengan cuDNN 8.1.1 | |CUDA 11.2 dengan cuDNN 8.1.1 | ||
| cuda/11.2-cuDNN8.1.1 | |cuda/11.2-cuDNN8.1.1 | ||
| colspan="5" rowspan="6" | | |||
|- | |- | ||
|CUDA 11.6 dengan cuDNN 8.3.3 | |CUDA 11.6 dengan cuDNN 8.3.3 | ||
Baris 61: | Baris 59: | ||
|cuda/12.0-cuDNN8.7.0 | |cuda/12.0-cuDNN8.7.0 | ||
|- | |- | ||
|CUDA 12.1 dengan cuDNN 8.8.1 | |CUDA 12.1 dengan cuDNN 8.8.1 | ||
|cuda/12.1-cuDNN8.8.1 | |cuda/12.1-cuDNN8.8.1 | ||
|- | |||
|CUDA 12.3 dengan cuDNN 8.9.6 | |||
|cuda/12.3-cuDNN8.9.6 | |||
''atau'' cuda | ''atau'' cuda | ||
|} | |} | ||
'''''Keterangan:''''' | |||
# Melalui package Python yang mendukung OpenMP seperti [https://cython.org/ '''Cython'''], [https://numba.pydata.org/ '''Numba'''], [https://pythran.readthedocs.io/en/latest/ '''Pythran'''], [https://www.pypy.org/ '''PyPy'''], dll. | |||
# Melalui [https://mpi4py.readthedocs.io/en/stable/ '''MPI for Python (MPI4PY)'''] | |||
=='''Membuat Conda Environment dan Instalasi Package Python'''== | =='''Membuat Conda Environment dan Instalasi Package Python'''== | ||
ALELEON Supercomputer mensyaratkan user membuat '''Conda Environment''' | Sebelum menjalankan komputasi, ALELEON Supercomputer mensyaratkan user membuat '''Conda Environment''' yaitu 'ruang isolasi' untuk instalasi package Python masing-masing user. | ||
{| class="wikitable" | {| class="wikitable" | ||
! colspan="2" |Membuat Conda Environment | ! colspan="2" |Langkah Membuat Conda Environment di ALELEON Supercomputer | ||
''*tidak menkonsumsi Kredit Core Hour'' | |||
|- | |- | ||
|'''0''' | |'''0''' | ||
Baris 176: | Baris 176: | ||
*Membuat '''SLURM Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi. | *Membuat '''SLURM Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi. | ||
**Nama script bebas dengan format file .sh (bash), contoh ''<code>my_job_submission.sh</code>'' | **Nama script bebas dengan format file .sh (bash), contoh ''<code>my_job_submission.sh</code>'' | ||
|- | |- | ||
| rowspan="2" |'''2''' | | rowspan="2" |'''2''' | ||
Baris 307: | Baris 302: | ||
|- | |- | ||
| | | | ||
===== Panduan Nilai Maksimal SBATCH ===== | ===== Panduan Nilai Maksimal SBATCH untuk Anaconda Python ===== | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! colspan="5" |Panduan Nilai Maksimal SBATCH ntasks, mem, gpus, time | ! colspan="5" |Panduan Nilai Maksimal SBATCH ntasks, mem, gpus, time | ||
Baris 443: | Baris 438: | ||
*Buka menu '''<code>Jobs</code>''' > '''<code>Jobs Composer</code>''' pada dashboard EFIRO. | *Buka menu '''<code>Jobs</code>''' > '''<code>Jobs Composer</code>''' pada dashboard EFIRO. | ||
*Pilih '''<code>New Job</code>''' > '''<code>From Template</code>''' | *Pilih '''<code>New Job</code>''' > '''<code>From Template</code>''' | ||
[[Berkas:Efirojobcomposermenu.png|nir|jmpl|Menu '''<code>Jobs</code> > <code>Jobs Composer</code>''']][[Berkas:Jcnewjobmarked.png|al=|nir|jmpl|220x220px|Menu '''<code>New Jobs</code>''' > '''<code>From Template</code>''']] | [[Berkas:Efirojobcomposermenu.png|nir|jmpl|''Menu '''<code>Jobs</code> > <code>Jobs Composer</code>''''']][[Berkas:Jcnewjobmarked.png|al=|nir|jmpl|220x220px|''Menu '''<code>New Jobs</code>''' > '''<code>From Template</code>''''']] | ||
|- | |- | ||
|'''2''' | |'''2''' | ||
Baris 483: | Baris 478: | ||
|- | |- | ||
| | | | ||
=====Panduan Nilai Maksimal SBATCH===== | =====Panduan Nilai Maksimal SBATCH untuk Anaconda Python===== | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! colspan="5" | Panduan Nilai Maksimal SBATCH ntasks, mem, gpus, time | ! colspan="5" | Panduan Nilai Maksimal SBATCH ntasks, mem, gpus, time | ||
Baris 590: | Baris 585: | ||
User dapat melihat output file komputasi pada kolom '''<code>Folder Contents</code>''' | User dapat melihat output file komputasi pada kolom '''<code>Folder Contents</code>''' | ||
*Atau dengan membuka '''<code>Edit Files</code>''' | *Atau dengan membuka '''<code>Edit Files</code>''' | ||
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|Kolom '''<code>Folder Contents</code>'''.]] | [[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>'''.'']] | ||
|- | |- | ||
|'''6B''' | |'''6B''' | ||
Baris 607: | Baris 602: | ||
=='''Menjalankan Anaconda Python dengan Sesi Interaktif Jupyter'''== | =='''Menjalankan Anaconda Python dengan Sesi Interaktif Jupyter'''== | ||
Berikut adalah langkah untuk memulai sesi Jupyter dengan Conda Environment yang dibuat user ''(klik expand atau kembangkan)'': | Berikut adalah langkah untuk memulai sesi Jupyter dengan Conda Environment yang dibuat user ''(klik expand atau kembangkan)'': | ||
{| class="wikitable | {| class="wikitable" | ||
! colspan="2" |Langkah Memulai Sesi Interaktif Jupyter | ! colspan="2" |Langkah Memulai Sesi Interaktif Jupyter | ||
[[Berkas:Efirojupyterlab.png|nirbing|400x400px]] | [[Berkas:Efirojupyterlab.png|nirbing|400x400px]] | ||
Baris 667: | Baris 662: | ||
**Masukkan nama modul NVIDIA CUDA. Terdapat dua alternatif: | **Masukkan nama modul NVIDIA CUDA. Terdapat dua alternatif: | ||
***Menggunakan modul CUDA versi terbaru: '''<code>cuda</code>''' | ***Menggunakan modul CUDA versi terbaru: '''<code>cuda</code>''' | ||
***Memilih modul CUDA lainnya. lihat '''[https://wiki.efisonlt.com/wiki/Anaconda_Python# | ***Memilih modul CUDA lainnya. lihat '''[https://wiki.efisonlt.com/wiki/Anaconda_Python#Modul_Anaconda_Python_dan_NVIDIA_CUDA_Toolkit Daftar Modul NVIDIA CUDA Toolkit]'''. | ||
*'''Environment Setup''' -> ''kosongkan'' | *'''Environment Setup''' -> ''kosongkan'' | ||
Baris 675: | Baris 670: | ||
|} | |} | ||
{| class="wikitable" | {| class="wikitable" | ||
| | !Perhatikan sisa Kredit Core Hour user! | ||
|- | |||
|Bagi akun perseorangan, sesi Jupyter tidak akan berjalan apabila: | |||
*Number of CPU cores * Number of Hour lebih besar dari sisa CPU Core Hour user. | *Number of CPU cores * Number of Hour lebih besar dari sisa CPU Core Hour user. | ||
*Number of GPUs * Number of Hour lebih besar dari sisa GPU Hour user. | *Number of GPUs * Number of Hour lebih besar dari sisa GPU Hour user. | ||
Baris 694: | Baris 691: | ||
*User akan diarahkan ke halaman '''<code>My Interactive Sessions</code>'''. | *User akan diarahkan ke halaman '''<code>My Interactive Sessions</code>'''. | ||
*Tunggu hingga sesi Jupyter siap diakses. | *Tunggu hingga sesi Jupyter siap diakses. | ||
[[Berkas: | [[Berkas:Jupyternotebookqueue.png|nir|jmpl|''Status sesi Jupyter mengantri menunggu alokasi hardware'']] | ||
|- | |- | ||
|'''5''' | |'''5''' | ||
Baris 700: | Baris 697: | ||
* ''Sistem mulai menghitung Core Hour saat status sesi Jupyter menunjukkan running.'' | * ''Sistem mulai menghitung Core Hour saat status sesi Jupyter menunjukkan running.'' | ||
[[Berkas:Newjupyter120124.png|nir|jmpl|''Sesi Jupyter siap diakses.'']] | |||
[[Berkas: | |||
|- | |- | ||
|'''6''' | |'''6''' | ||
|Pilih Notebook Python 3 untuk memulai sesi notebook Python 3 baik di Jupyter Notebook dan Lab.[[Berkas: | |Pilih Notebook Python 3 untuk memulai sesi notebook Python 3 baik di Jupyter Notebook dan Lab.[[Berkas:Jupyternotebookkernelupdated.png|al=|nir|jmpl|200x200px|''Gunakan Notebook Python 3 untuk menjalankan kernel Conda Environment user di Jupyter Notebook'']][[Berkas:Rjupyterlab.png|nir|jmpl|225x225px|''Gunakan Notebook Python 3 untuk menjalankan kernel Conda Environment user di Jupyter Lab'']] | ||
|- | |- | ||
|'''7A''' | |'''7A''' | ||
Baris 716: | Baris 712: | ||
| | | | ||
==== Menghentikan Sesi Interaktif Jupyter ==== | ==== Menghentikan Sesi Interaktif Jupyter ==== | ||
User dapat menghentikan sesi Jupyter yang sedang berjalan dengan klik tombol '''<code>Delete</code>'''[[Berkas: | User dapat menghentikan sesi Jupyter yang sedang berjalan dengan klik tombol '''<code>Delete</code>'''[[Berkas:Newjupyter120124.png|nir|jmpl|''Klik tombol '''<code>Cancel</code>''' untuk menghentikan sesi Jupyter yang sedang berjalan'']] | ||
|} | |} | ||
== '''Pelaporan Kendala dan Support'''== | == '''Pelaporan Kendala dan Support'''== |
Revisi terkini sejak 15 Januari 2024 10.17
Anaconda adalah suite katalog packages Python dan R untuk komputasi data science dan machine learning.
Modul Anaconda Python dan NVIDIA CUDA Toolkit
Berikut adalah detail versi Anaconda yang tersedia secara global di ALELEON Supercomputer dimana menggunakan Python 3 sebagai standar. Sementara itu User membutuhkan modul NVIDIA CUDA Toolkit untuk menjalankan Python dengan akselerasi GPU NVIDIA. Detail versi NVIDIA CUDA disertakan dalam tabel berikut. (klik expand atau kembangkan)
Modul Anaconda dan NVIDIA CUDA Toolkit | ||||||
---|---|---|---|---|---|---|
Modul Anaconda | ||||||
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 | 3.9.12 | ||||
Anaconda 3 2023.07-2 | Anaconda3/2023.07-2
atau Anaconda3 |
3.11.4 | ||||
Modul NVIDIA CUDA Toolkit | ||||||
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 | |||||
CUDA 12.3 dengan cuDNN 8.9.6 | cuda/12.3-cuDNN8.9.6
atau cuda |
Keterangan:
- Melalui package Python yang mendukung OpenMP seperti Cython, Numba, Pythran, PyPy, dll.
- Melalui MPI for Python (MPI4PY)
Membuat Conda Environment dan Instalasi Package Python
Sebelum menjalankan komputasi, ALELEON Supercomputer mensyaratkan user membuat Conda Environment yaitu 'ruang isolasi' untuk instalasi package Python masing-masing user.
Langkah Membuat Conda Environment di ALELEON Supercomputer
*tidak menkonsumsi Kredit Core Hour | |
---|---|
0 | Instalasi package dilakukan melalui terminal.
|
1 | Aktifkan modul Anaconda, disarankan 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 |
3A |
Mengaktifkan Conda Environment dan Instalasi Package PythonAktifkan Conda Environment dengan format berikut: $ 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 ~]$ Lakukan instalasi package Python (contoh Tensorflow, PyTorch) yang dibutuhkan dengan (kerjaanskripsi) $ pip install <nama-package-Python> |
3B |
Instalasi Package JupyterInstal package jupyter bagi user yang ingin menggunakan sesi interaktif Jupyter (kerjaanskripsi) $ pip install jupyter (kerjaanskripsi) $ pip install jupyterlab |
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 |
Alternatif Menjalankan Anaconda Python di ALELEON Supercomputer
ALELEON Supercomputer menawarkan user untuk menjalankan Anaconda Python dengan pilihan skema:
--- |
---|
|
|
Menjalankan Anaconda Python Melalui Job Submission
User dapat menjalankan komputasi dengan pilihan cara melalui tampilan terminal atau website EFIRO (klik expand atau kembangkan).
Opsi Menggunakan terminal (SLURM sbatch)
Langkah Menjalankan Anaconda Python di Terminal | ||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 |
Login SSHTatacara login SSH lihat laman Login SSH ALELEON Supercomputer. | |||||||||||||||||||||||||||||||||||||||||||||
1 |
Menyiapkan File KomputasiSiapkan file yang dibutuhkan untuk komputasi user, rekomendasi dalam satu folder per job:
| |||||||||||||||||||||||||||||||||||||||||||||
2 |
Template SLURM Submit Script Anaconda PythonIkuti panduan template berikut dan petunjuk NOTES di dalamnya.
| |||||||||||||||||||||||||||||||||||||||||||||
Panduan Nilai Maksimal SBATCH untuk Anaconda Python
| ||||||||||||||||||||||||||||||||||||||||||||||
3 |
Menjalankan Job KomputasiJalankan job dengan perintah sbatch. $ sbatch <nama-SLURM-Submit-script> Contoh menjalankan nama script $ sbatch my_job_submission.sh | |||||||||||||||||||||||||||||||||||||||||||||
4A | 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:
| |||||||||||||||||||||||||||||||||||||||||||||
4B |
Menghentikan Job KomputasiApabila user ingin membatalkan job, 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 Web EFIRO (EFIRO Job Composer)
Langkah Menjalankan Anaconda Python di Web EFIRO | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 |
Login Web EFIRO
| ||||||||||||||||||||||||||||||||||||||||
1 |
Membuka Job Composer dan Memilih Template Job
| ||||||||||||||||||||||||||||||||||||||||
2 |
| ||||||||||||||||||||||||||||||||||||||||
3 |
Menyiapkan File KomputasiGunakan menu
| ||||||||||||||||||||||||||||||||||||||||
4 |
Melengkapi Submit ScriptSubmit Script adalah "formulir" untuk menjalankan job komputasi user.
| ||||||||||||||||||||||||||||||||||||||||
Panduan Nilai Maksimal SBATCH untuk Anaconda Python
| |||||||||||||||||||||||||||||||||||||||||
5 |
Menjalankan Job KomputasiJalankan job dengan klik tombol
Menghentikan Job KomputasiUntuk menghentikan job yang tengah berjalan, klik tombol | ||||||||||||||||||||||||||||||||||||||||
6A |
Melihat Output KomputasiUser dapat melihat output file komputasi pada kolom
| ||||||||||||||||||||||||||||||||||||||||
6B | 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
Berikut adalah langkah untuk memulai sesi Jupyter dengan Conda Environment yang dibuat user (klik expand atau kembangkan):
Langkah Memulai Sesi Interaktif Jupyter | |||||||
---|---|---|---|---|---|---|---|
0 |
Login Web EFIRO
| ||||||
1 | Pastikan Conda Environment yang akan dipakai sudah terinstal package Jupyter.
| ||||||
2 | Buka menu Interactive Apps
| ||||||
3 |
Mengisi Formulir Sesi Interaktif JupyterIsi formulir untuk memulai sesi Jupyter dengan panduan berikut:
| ||||||
4 |
Memulai Sesi Interaktif JupyterApabila formulir sudah terisi, klik tombol
| ||||||
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 |
Mengakses Kembali Sesi Interaktif Jupyter yang BerjalanUser dapat mengunjungi sesi Jupyter yang sedang berjalan di | ||||||
7B |
Menghentikan Sesi Interaktif JupyterUser dapat menghentikan sesi Jupyter yang sedang berjalan dengan klik tombolDelete
|
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