Anaconda Python (depreciated): Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (test overhaul) |
WilsonLisan (bicara | kontrib) (overhaul hingga membuat conda env) |
||
Baris 1: | Baris 1: | ||
[[Berkas:Pythonanaconda.png|al=|nirbing|500x500px]] | [[Berkas:Pythonanaconda.png|al=|nirbing|500x500px]] | ||
[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''. | ||
== ''Masa Perbaikan Wiki'' == | |||
Wiki halaman ini sedang dalam proses perbaikan penulisan. | |||
* Sesi perbaikan selesai ditandai dengan hilangnya pesan ini. | |||
== '''Modul Anaconda Python''' == | == '''Modul Anaconda Python''' == | ||
Berikut adalah detail versi Anaconda yang tersedia secara global di ALELEON Supercomputer | Berikut adalah detail versi Anaconda yang tersedia secara global di ALELEON Supercomputer dimana menggunakan Python 3 sebagai standar. | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Modul Anaconda | |+Modul Anaconda | ||
Baris 33: | Baris 38: | ||
|- | |- | ||
|Anaconda 3 2022.05 | |Anaconda 3 2022.05 | ||
|Anaconda3/2022.05 | |Anaconda3/2022.05 | ||
''atau'' Anaconda3 | |||
|3.9.12 | |3.9.12 | ||
|} | |} | ||
Baris 42: | Baris 48: | ||
=='''Alternatif Menjalankan Anaconda Python di ALELEON Supercomputer'''== | =='''Alternatif Menjalankan Anaconda Python di ALELEON Supercomputer'''== | ||
ALELEON Supercomputer menawarkan user untuk menjalankan Anaconda Python dengan pilihan skema: | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
|''' | ![[Berkas:Efirojobcomposer3.png|pus|nirbing|300x300px]]--- | ||
*Menjalankan file | '''Menjalankan Anaconda Python melalui Job Submission''' | ||
|- | |||
*Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer# | | | ||
*Menjalankan file Python siap jalan melalui scheduler SLURM. | |||
*Tidak dapat menjalankan file ipynb dimana harus dikonversi ke file Python. | |||
*Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Compute_Node '''Compute Node''']: | |||
**CPU epyc dengan spesifikasi hingga CPU 128 core dan RAM 500GB | |||
***Python versi MPI (RMPI) dapat berjalan paralel hingga CPU 384 core. | |||
**GPU ampere dengan spesifikasi CPU 32 core, RAM 120GB, dan 2 GPU. | |||
|- | |||
![[Berkas:Rjupyterlab.png|pus|nirbing|225x225px]]--- | |||
'''Menjalankan Anaconda Python dengan sesi interaktif Jupyter''' | |||
|- | |- | ||
| | | | ||
*Menjalankan | *Menjalankan R melalui sesi interaktif via Jupyter Notebook atau Lab. | ||
*Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer# | *Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Interactive_Node '''Interactive Node''']: | ||
**Torti dengan spesifikasi CPU 32 core dan RAM 64GB. | |||
**Tilla dengan spesifikasi CPU 32 core, RAM 64GB, dan 1 GPU. | |||
|} | |} | ||
=='''Membuat Conda Environment'''== | =='''Membuat Conda Environment'''== | ||
Berikut adalah langkah | Dalam menggunakan Anaconda Python, ALELEON Supercomputer mensyaratkan user membuat '''Conda Environment''' untuk isolasi instalasi package Python per user. | ||
* 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: | |||
{| class="wikitable" | {| class="wikitable" | ||
! colspan="2" | | ! colspan="2" | | ||
=== Membuat Conda Environment === | === Membuat Conda Environment === | ||
|- | |- | ||
|''' | |'''0''' | ||
|Instalasi package dilakukan melalui '''terminal'''. | |Instalasi package dilakukan melalui '''terminal'''.*Bagi user yang login ke web EFIRO, buka menu '''<code>Clusters</code> > <code>Aleleon Shell Access</code>'''. | ||
[[Berkas:Shellaccess.png|nirbing|200x200px]] | [[Berkas:Shellaccess.png|nirbing|200x200px]] | ||
|- | |- | ||
|'''1''' | |'''1''' | ||
|Aktifkan modul Anaconda, tim admin EFISON menyarankan | |Aktifkan modul Anaconda, tim admin EFISON menyarankan menggunakan Anaconda terbaru: | ||
$ module load '''Anaconda3''' | $ module load '''Anaconda3''' | ||
Apabila | Apabila ingin menggunakan versi Anaconda lainnya, lihat '''[[Python#Modul Anaconda|subbab Modul Anaconda]]'''. | ||
|- | |- | ||
|'''2''' | |'''2''' | ||
Baris 82: | Baris 95: | ||
''Contoh:'' | ''Contoh:'' | ||
''$ conda create --name'' '' | ''$ conda create --name'' ''kerjaanskripsi'' | ||
|- | |- | ||
|'''3''' | |'''3''' | ||
| | |Aktifkan Conda Environment dengan format berikut: | ||
$ source activate $CONDA/'''''<nama-conda-environment''''' | |||
''Contoh:'' | ''Contoh:'' | ||
''$ source activate $CONDA/ | ''$ source activate $CONDA/kerjaanskripsi'' | ||
Conda Environment aktif ditandai dengan tulisan nama env pada bash terminal seperti ini: | |||
''(kerjaanskripsi)'' [wololo@login ~]$ | |||
|- | |- | ||
|''' | |'''3''' | ||
| | | | ||
=== Instalasi Package Python melalui pip === | ==== Instalasi Package Python melalui pip ==== | ||
Lakukan instalasi package Python (seperti Tensorflow, PyTorch, Numpy, dll) yang dibutuhkan dengan '''<code>pip</code>''' . | |||
* Sebelumya lakukan instalasi pip dengan <code>'''conda'''</code>: | |||
$ conda install pip | $ conda install pip | ||
Kemudian user dapat melakukan instalasi package melalui ''' | |||
* Kemudian user dapat melakukan instalasi package melalui '''<code>pip install</code>:''' | |||
$ pip install '''''<nama-package>''''' | $ pip install '''''<nama-package>''''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
=== '''Mengakses Kembali Conda Environment User''' === | ==== '''Mengakses Kembali Conda Environment User''' ==== | ||
User dapat kembali mengakses Conda Environment yang dibuat dengan langkah '''<code>1 dan 3:</code>''' | |||
$ module load Anaconda3 | $ module load Anaconda3 | ||
$ source activate $CONDA/'''''<nama-conda-environment>''''' | $ source activate $CONDA/'''''<nama-conda-environment>''''' | ||
User dapat melihat daftar nama Conda Environment yang sebelumnya dibuat dengan perintah | |||
$ conda-env list | $ conda-env list | ||
=== Menghapus Conda Environment === | ==== Menghapus Conda Environment ==== | ||
User dapat menghapus Conda Environment dengan format perintah: | |||
$ conda remove -n '''''<nama-conda-environment>''''' --all | $ conda remove -n '''''<nama-conda-environment>''''' --all | ||
|} | |} |
Revisi per 23 Oktober 2023 11.06
Anaconda adalah suite katalog packages Python dan R untuk komputasi data science dan machine learning.
Masa Perbaikan Wiki
Wiki halaman ini sedang dalam proses perbaikan penulisan.
- Sesi perbaikan selesai ditandai dengan hilangnya pesan ini.
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)
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
Dalam menggunakan Anaconda Python, ALELEON Supercomputer mensyaratkan user membuat Conda Environment untuk isolasi instalasi package Python per user.
- 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.*Bagi user yang login ke web EFIRO, buka menu Clusters > Aleleon Shell Access .
|
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 | Buat Conda Environment secara default di direktori HOME dengan format perintah:
$ conda create --name <nama-conda-environment> Contoh: $ conda create --name kerjaanskripsi |
3 | Aktifkan 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 ~]$
|
3 |
Instalasi Package Python melalui pipLakukan instalasi package Python (seperti Tensorflow, PyTorch, Numpy, dll) yang dibutuhkan dengan
$ conda install pip
$ pip install <nama-package> |
Mengakses Kembali Conda Environment UserUser dapat kembali mengakses Conda Environment yang dibuat dengan langkah $ 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 Python Melalui Job Submission
User dapat menjalankan Python melalui job submission dengan pilihan cara menjalankan komputasi:
EFIRO Job Composer
Menjalankan komputasi dengan tampilan grafis pada formulir job submission EFIRO Job Composer. Berikut adalah pilihan template Python yang tersedia:
Nama Template | Penjelasan |
---|---|
Python Anaconda (CPU) | Menjalankan Python di Compute Node CPU (Partisi epyc) |
Python Anaconda (GPU) | Menjalankan Python di Compute Node GPU (Partisi ampere) |
SLURM sbatch via Terminal
Menjalankan komputasi pada terminal melalui job submission SLURM sbatch. Berikut adalah contoh referensi Submit Script untuk menjalankan Python baik di Compute Node CPU maupun GPU. Perhatikan bahwa Submit Script memuat nama Conda Environment yang digunakan untuk menjalankan komputasi Python user.
Contoh SLURM Submit Script Python di Compute Node CPU |
---|
#!/bin/bash # ------------------------------------------------------------------------ # | Template SLURM Submit Script # | Software : Python - Anaconda (CPU) # | Versi : tergantung input user # | Update script r: 17/05/2023 # | # | NOTES: # | 1. Isi bagian yang ditandai 4 garing (////). # | 2. Template ini adalah referensi - user dapat mengubah bagian yang # | sekiranya perlu diubah. # | 3. Panduan mengisi alokasi komputasi (SBATCH) menurut spesifikasi # | ALELEON Supercomputer lihat: # | https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer # ------------------------------------------------------------------------ # -------------------------------------------------- # Alokasi komputasi, modul software, dan file input # -------------------------------------------------- # Alokasi jumlah 1 compute node #SBATCH --nodes=1 # 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 #SBATCH --output=result-%j.txt # Definisi file untuk menampung output error log #SBATCH --error=error-%j.txt # Nama Conda Environment yang digunakan untuk komputasi ini CONDA_ENV_NAME='////' # Nama input file Python dengan format file-nya INPUT_FILE='////.py' # ------------------------------------------------- # RUN SCRIPT # ------------------------------------------------- # Mengaktifkan Conda Environment module load Anaconda3 source activate $CONDA/$CONDA_ENV_NAME # Perintah menjalankan Python python $INPUT_FILE |
Contoh SLURM Submit Script Python di Compute Node GPU |
---|
#!/bin/bash # ------------------------------------------------------------------------ # | Template SLURM Submit Script # | Software : Python - Anaconda (GPU) # | Versi : tergantung input user # | Update script r: 17/05/2023 # | # | NOTES: # | 1. Isi bagian yang ditandai 4 garing (////). # | 2. Template ini adalah referensi - user dapat mengubah bagian yang # | sekiranya perlu diubah. # | 3. Panduan mengisi alokasi komputasi (SBATCH) menurut spesifikasi # | ALELEON Supercomputer lihat: # | https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer # ------------------------------------------------------------------------ # -------------------------------------------------- # Alokasi komputasi, modul software, dan file input # -------------------------------------------------- # Menjalankan komputasi di Partisi ampere #SBATCH --partition=ampere # Alokasi jumlah GPU #SBATCH --gpus=//// # 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 #SBATCH --output=result-%j.txt # Definisi file untuk menampung output error log #SBATCH --error=error-%j.txt # Nama Conda Environment yang digunakan untuk komputasi ini CONDA_ENV_NAME='////' # Nama input file Python dengan format file-nya INPUT_FILE='////.py' # Memuat modul NVIDIA CUDA default atau terbaru module load cuda # Apabila membutuhkan CUDA versi lain, lihat daftar modul CUDA: # #Daftar Modul NVIDIA CUDA Toolkit # ------------------------------------------------- # RUN SCRIPT # ------------------------------------------------- # Mengaktifkan Conda Environment module load Anaconda3 source activate $CONDA/$CONDA_ENV_NAME # Perintah menjakankan Python python $INPUT_FILE |
Notifikasi Status Jalannya Job Submission via email
SLURM ALELEON Supercomputer dapat mengirim notifikasi email kepada user untuk mengabarkan apabila job user sudah berjalan atau selesai. SLURM ALELEON Supercomputer menggunakan nama email Jojo untuk mengirim notifikasi email.
Silahkan tambahan SBATCH berikut pada SLURM Submit Script (dapat ditambahkan setelah SBATCH error) apabila user ingin menerima notifikasi email dari SLURM:
#SBATCH --mail-user=<alamat-email-user> #SBATCH --mail-type=begin #SBATCH --mail-type=end
- mail-user
- Alamat email user untuk menerima notifikasi SLURM
- mail-type=begin
- Notifikasi email yang menginfokan job sudah berjalan.
- mail-type=end
- Notifikasi email yang menginfokan job sudah selesai.
- Sekaligus memberikan cuplikan 20 baris terakhir dari file output SBATCH output dan error job user.
Menjalankan Python dengan Sesi Interaktif Jupyter
Berikut adalah langkah untuk memulai sesi Jupyter dengan Conda Environment yang dibuat user:
Memulai Sesi Interaktif Jupyter | |||||
---|---|---|---|---|---|
0A | Login ke EFIRO untuk mengakses sesi interaktif Jupyter:
| ||||
0B | Pastikan user sudah membuat Conda Environment dengan package Jupyter Notebook dan Lab didalamnya. | ||||
1 | Buka menu Interactive Apps kemudian user bebas memilih menggunakan Jupyter Notebook atau Lab.
| ||||
2 | User mengisi formulir untuk memulai sesi Jupyter Notebook. Terdapat dua pilihan pengisian formulir yaitu menggunakan Partisi Torti (CPU) atau Partisi Tilla (dengan akselerasi GPU).
| ||||
3 | Apabila formulir sudah terisi, klik tombol Launch untuk memulai sesi Jupyter. User akan diarahkan ke halaman My Interactive Sessions . Tunggu hingga sesi Jupyter user siap diakses.
| ||||
4A | Apabila status menunjukkan Running atau kolom berwarna hijau, klik Connect to Jupyter . Perlu diperhatikan bahwa sistem mulai menghitung Kredit Core Hour saat status Jupyter menunjukkan Running.
Menghentikan Sesi Interaktif JupyterUser dapat menghentikan sesi Jupyter yang sedang berjalan dengan klik tombol | ||||
4B | User dapat kembali mengunjungi halaman sesi My Interactive Sessions melalui menu di dasboard EFIRO.
|
Daftar Modul NVIDIA CUDA Toolkit
User membutuhkan modul NVIDIA CUDA Toolkit untuk menjalankan Python dengan akselerasi GPU NVIDIA di ALELEON Supercomputer. Praktek pada umumnya adalah selalu menggunakan CUDA Toolkit versi terbaru atau modul default di ALELEON Supercomputer dengan nama cuda
.
Akan tetapi terkadang ada package Python yang membutuhkan versi CUDA spesifik. Berikut adalah daftar lengkap modul CUDA di ALELEON Supercomputer untuk memenuhi kebutuhan tersebut:
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 [DEFAULT] | cuda/12.1-cuDNN8.8.1 |
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.