Anaconda Python: Perbedaan antara revisi

Dari ALELEON by EFISON
k (WilsonLisan memindahkan halaman Python Anaconda menggunakan Jupyter Notebook ke Python tanpa membuat pengalihan: Menyatukan Python batch dan interactive)
(Rewrite halaman Python)
Baris 1: Baris 1:
[[Berkas:Pythonanaconda.png|al=|nirbing|500x500px]]
[[Berkas:Pythonanaconda.png|al=|nirbing|500x500px]]


ALELEON Supercomputer menggunakan suite Anaconda untuk komputasi yang membutuhkan environment Python. [https://www.anaconda.com/ '''Anaconda'''] adalah suite katalog packages Python dan R untuk komputasi ''data science'' dan ''machine learning''.  
ALELEON Supercomputer menggunakan '''suite Anaconda dan Conda Environment''' untuk komputasi yang membutuhkan environment Python. [https://www.anaconda.com/ '''Anaconda'''] adalah suite katalog packages Python dan R untuk komputasi ''data science'' dan ''machine learning''.  


== '''Versi yang Tersedia''' ==
== '''W00t!''' ==
''Halaman ini sedang dalam proses penulisan ulang. Penulisan selesai ketika user tidak melihat W00t! ini.''
 
== '''Modul Anaconda''' ==
Berikut adalah detail versi Anaconda yang tersedia secara global di ALELEON Supercomputer:
{| class="wikitable"
{| class="wikitable"
!Versi
|+Modul Anaconda
!Dukungan  
! rowspan="2" |Versi
MPI
! rowspan="2" |Nama modul
!Dukungan
! rowspan="2" |Modul
Hardware
DEFAULT
! colspan="4" |Dukungan hardware
|-
!CPU
!GPU
!OMP
Threading
!MPI
multi-node
|-
|-
| Anaconda3 2020.11
|Anaconda 3 2020.11
|Anaconda3/2020.11
| -
|V
|V
|V
| -
| -
| rowspan="2" |default: CPU dan GPU, single-node
<nowiki>*</nowiki>multi-node dengan coding dan library yang tepat
|-
|-
|Anaconda3 2021.05
|Anaconda 3 2021.05
|Anaconda3/2021.05
| -
| -
|V
|V
|V
| -
|-
|Anaconda 3 2022.05
|Anaconda3/2022.05
|V
|V
|V
|V
| -
|}
=='''Alternatif Menjalankan Python di ALELEON Supercomputer'''==
Sebelum melakukan komputasi Python di ALELEON Supercomputer, user harus membuat '''Conda Environment''' supaya dapat mengisolasi dan mengatur instalasi package Python di dalamnya.
{| class="wikitable"
|'''Note:'''''Instalasi package Python '''tidak''' mengurangi Kredit Core Hour user.''
|}
|}
== '''Komputasi Python di Job Composer VS Interactive Apps'''==
Kemudian, ALELEON Supercomputer menawarkan user untuk menjalankan komputasi Python melalui Conda Environment dengan skema '''job submission''' melalui scheduler atau '''''interaktif''''' melalui sesi Jupyter Notebook / Lab dengan detail penjelasan berikut:
ALELEON Supercomputer dapat menjalankan komputasi Python via Job Composer dan Interactive Apps Jupyter Notebook.
{| class="wikitable"
{| class="wikitable mw-collapsible mw-collapsed"
!Menjalankan komputasi Python di Job Composer VS Interactive Apps Jupyter Notebook
|-
|'''Melalui Job Composer:'''
*User menjalankan komputasi Python sesuai cara kerja '''[https://wiki.efisonlt.com/wiki/Daftar_Software_Komputasi_dan_Tutorial_Penggunaan#Job_Composer_dan_Interactive_Apps Job Composer].'''
*Untuk file Python (.py) siap jalan.
* Job Composer tidak dapat menjalankan file ipynb.
*Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Hardware:_Compute_Node '''Compute Node'''] dengan alokasi hardware besar:
|-
|-
|'''Melalui interaktif Jupyter Notebook:'''
|'''Menjalankan Python melalui Job Submission:'''
*Untuk komputasi Python secara interaktif via Jupyter Notebook
*Menjalankan file python siap jalan melalui scheduler dan script dengan skema [[Menggunakan ALELEON Supercomputer via EFIRO#3A%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20Job%20Composer|'''EFIRO Job Composer''']] (tampilan GUI via EFIRO) atau [[Menggunakan ALELEON Supercomputer via Terminal#3%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20SLURM|'''SLURM sbatch via Terminal''']].
*Dapat menjalankan file ipynb.
**Tidak dapat menjalankan file ipynb.
*Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Hardware:_Interactive_Node '''Interactive Node'''].
*Dapat berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Compute_Node_CPU_(Partisi_epyc) '''Compute Node CPU Partisi epyc'''] atau [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Compute_Node_GPU_(Partisi_ampere) '''Compute Node GPU Partisi ampere'''].
|-
|-
|'''Saran admin:'''
|'''Menjalankan R dengan sesi interaktif Jupyter:'''
*Jalankan komputasi Python di Job Composer untuk beban komputasi yang besar.
*Menjalankan R melalui sesi interaktif via Jupyter Notebook atau Lab.
*Jalankan komputasi Python di Interactive Apps untuk beban komputasi yang sesuai dengan spesifikasi Interactive Node.
*Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Interactive_Node_CPU_(Partisi_torti) '''Interactive Node Partisi Torti (CPU)'''] atau [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Interactive_Node_GPU_(Partisi_tilla) '''Interactive Node Partisi Tilla (GPU)''']
|}Halaman ini untuk menjalankan komputasi Python via Interactive Apps Jupyter Notebook. Apabila ingin menjalankan komputasi Python via Job Composer, klik:
{| class="wikitable"
|
=== [[TensorFlow menggunakan Job Composer|Python Anaconda menggunakan Job Composer]]===
|}
|}
=='''Membuat Conda Environment dan Instalasi Jupyter''' ==
=='''Membuat Conda Environment'''==
Untuk praktek yang baik dalam menjalankan komputasi Python di ALELEON Supercomputer, user harus membuat '''Conda Environment''' supaya dapat mengisolasi dan secara bebas mengatur instalasi package Python di dalamnya. '''Perlu diketahui kegiatan instalasi berikut tidak mengurangi Kredit Core Hour user.'''
Berikut adalah langkah untuk membuat Conda Environment di ALELEON Supercomputer:
{| class="wikitable"
{| class="wikitable"
|'''1'''
|+Membuat Conda Environment
|Buka terminal melalui dashboard EFIRO menu Clusters > Aleleon Shell Access.
|'''0A'''
 
|Instalasi package dilakukan melalui '''terminal'''.
[[Berkas:Shellaccess.png|nirbing|200x200px|pra=https://wiki.efisonlt.com/wiki/Berkas:Shellaccess.png]]
|-
|'''0B'''
|Bagi user EFIRO, buka terminal melalui dashboard EFIRO menu '''Clusters > Aleleon Shell Access'''.
[[Berkas:Shellaccess.png|nirbing|200x200px]]
|-
|-
|'''2'''
|1
|Aktifkan modul Anaconda, tim admin EFISON menyarankan menggunakan Anaconda3 terbaru. Untuk versi lainnya lihat [https://wiki.efisonlt.com/wiki/Katalog_Software_ALELEON_Supercomputer#Daftar_Software_Python_dan_Anaconda '''Daftar Software Python dan Anaconda ALELEON Supercomputer'''].
|Aktifkan modul Anaconda, tim admin EFISON menyarankan menggunakan Anaconda3 terbaru. Untuk versi lainnya lihat '''subbab Modul Anaconda'''.  
  $ module load '''Anaconda3/2021.05'''
  $ module load '''Anaconda3'''
|-
|-
|'''3'''
|2
|Buat Conda Environment secara default di direktori HOME dengan format perintah:
|Buat Conda Environment secara default di direktori HOME dengan format perintah:
  $ conda create --name '''''<nama-conda-environment>'''''
  $ conda create --name '''''<nama-conda-environment>'''''
Baris 61: Baris 85:
  '''''$ conda create --name <u>tensortest</u>'''''
  '''''$ conda create --name <u>tensortest</u>'''''
|-
|-
|'''4'''
|3
|Admin EFISON merekomendasikan user untuk mengaktifkan Conda Environment melalui perintah '''source activate:'''
|Admin EFISON merekomendasikan user untuk mengaktifkan Conda Environment melalui perintah '''source activate:'''
  $ source activate $HOME/.conda/envs/'''''<nama-conda-environment>'''''
  $ source activate $CONDA/'''''<nama-conda-environment>'''''
  ''Contoh:''
  ''Contoh:''
  '''''$ source activate $HOME/.conda/envs/<u>tensortest</u>'''''
  '''''$ source activate $CONDA/<u>tensortest</u>'''''
*Pada contoh di atas, Conda Environment <code>tensortest</code> aktif ditandai dengan munculnya tulisan <code>tensortest</code> pada bash terminal user:
*Pada contoh di atas, Conda Environment <code>tensortest</code> aktif ditandai dengan munculnya tulisan <code>tensortest</code> pada bash terminal user:
  '''''(tensortest)''''' [wololo@login ~]$
  '''''(tensortest)''''' [wololo@login ~]$
|-
|-
|'''5'''
|4A
|Instal pip Anaconda kemudian instal Jupyter melalui pip:
|Tim admin menyarankan user untuk melakukan instalasi package Python (seperti Tensorflow, PyTorch, Numpy, dll) yang dibutuhkan melalui [https://docs.conda.io/projects/conda/en/latest/commands/install.html '''pip install''']. Sebelumya lakukan instalasi pip dengan conda:
'''''(tensortest)''''' $ conda install pip
  $ conda install pip
  '''''(tensortest)''''' $ pip install jupyter
Kemudian user dapat melakukan instalasi package melalui '''[https://pip.pypa.io/en/stable/cli/pip_install/ pip install]:'''
Dengan demikian, user siap menggunakan Jupyter Notebook dengan Conda Environment yang barusan dibuat.
$ pip install '''''<nama-package>'''''
|-
|6
|User juga dapat melakukan instalasi package yang dibutuhkan pada Conda Environment tersebut, seperti contoh instalasi TensorFlow, numpy, dll:
'''''(tensortest)''''' $ pip install tensorflow
'''''(tensortest)''''' $ pip install numpy
''(dan lain-lain sesuai kebutuhan user)''
|-
|-
| colspan="2" |
| colspan="2" |
=== '''Mengakses Kembali Conda Environment User''' ===
=== '''Mengakses Kembali Conda Environment User''' ===
Ketika user ingin kembali mengakses Conda Environment yang dibuat untuk instalasi package, lakukan langkah '''<code>1 > 2 > 4 > 6</code>.'''  
Ketika user ingin kembali mengakses Conda Environment yang dibuat lakukan langkah '''<code>1 dan 3</code>.'''  


Lupa dengan nama dan direktori Conda Environment user? User dapat melihat semua Conda Environment yang dibuat dengan perintah
Apabila lupa dengan nama dan direktori Conda Environment, user dapat melihat semua Conda Environment yang dibuat dengan perintah
  $ conda-env list
  $ conda-env list
|}
|}


=='''Membuat Sesi Jupyter Notebook untuk TensorFlow'''==
=='''Menjalankan Python dengan Sesi Interaktif Jupyter'''==
{| class="wikitable"
{| class="wikitable"
|'''1'''
|'''1'''

Revisi per 17 Mei 2023 10.38

ALELEON Supercomputer menggunakan suite Anaconda dan Conda Environment untuk komputasi yang membutuhkan environment Python. Anaconda adalah suite katalog packages Python dan R untuk komputasi data science dan machine learning.

W00t!

Halaman ini sedang dalam proses penulisan ulang. Penulisan selesai ketika user tidak melihat W00t! ini.

Modul Anaconda

Berikut adalah detail versi Anaconda yang tersedia secara global di ALELEON Supercomputer:

Modul Anaconda
Versi Nama modul Modul

DEFAULT

Dukungan hardware
CPU GPU OMP

Threading

MPI

multi-node

Anaconda 3 2020.11 Anaconda3/2020.11 - V V V -
Anaconda 3 2021.05 Anaconda3/2021.05 - V V V -
Anaconda 3 2022.05 Anaconda3/2022.05 V V V V -

Alternatif Menjalankan Python di ALELEON Supercomputer

Sebelum melakukan komputasi Python di ALELEON Supercomputer, user harus membuat Conda Environment supaya dapat mengisolasi dan mengatur instalasi package Python di dalamnya.

Note:Instalasi package Python tidak mengurangi Kredit Core Hour user.

Kemudian, ALELEON Supercomputer menawarkan user untuk menjalankan komputasi Python melalui Conda Environment dengan skema job submission melalui scheduler atau interaktif melalui sesi Jupyter Notebook / Lab dengan detail penjelasan berikut:

Menjalankan Python melalui Job Submission:
Menjalankan R dengan sesi interaktif Jupyter:

Membuat Conda Environment

Berikut adalah langkah untuk membuat Conda Environment di ALELEON Supercomputer:

Membuat Conda Environment
0A Instalasi package dilakukan melalui terminal.
0B Bagi user EFIRO, buka terminal melalui dashboard EFIRO menu Clusters > Aleleon Shell Access.

Shellaccess.png

1 Aktifkan modul Anaconda, tim admin EFISON menyarankan menggunakan Anaconda3 terbaru. Untuk versi lainnya lihat subbab Modul Anaconda.
$ module load Anaconda3
2 Buat Conda Environment secara default di direktori HOME dengan format perintah:
$ conda create --name <nama-conda-environment>
Contoh:
$ conda create --name tensortest
3 Admin EFISON merekomendasikan user untuk mengaktifkan Conda Environment melalui perintah source activate:
$ source activate $CONDA/<nama-conda-environment>
Contoh:
$ source activate $CONDA/tensortest
  • Pada contoh di atas, Conda Environment tensortest aktif ditandai dengan munculnya tulisan tensortest pada bash terminal user:
(tensortest) [wololo@login ~]$
4A Tim admin menyarankan user untuk melakukan instalasi package Python (seperti Tensorflow, PyTorch, Numpy, dll) yang dibutuhkan melalui pip install. Sebelumya lakukan instalasi pip dengan conda:
$ conda install pip

Kemudian user dapat melakukan instalasi package melalui pip install:

$ pip install <nama-package>

Mengakses Kembali Conda Environment User

Ketika user ingin kembali mengakses Conda Environment yang dibuat lakukan langkah 1 dan 3.

Apabila lupa dengan nama dan direktori Conda Environment, user dapat melihat semua Conda Environment yang dibuat dengan perintah

$ conda-env list

Menjalankan Python dengan Sesi Interaktif Jupyter

1 Buka menu dashboard EFIRO Interactive Apps > Jupyter Notebook

Interactive apps JN.png

2 User mengisi formulir untuk memulai sesi Jupyter Notebook. Terdapat dua skenario pengisian formulir untuk menjalankan komputasi Python yaitu dengan CPU atau plus akselerasi GPU.
Panduan Formulir Menjalankan Jupyter Notebook CPU
  • Partition
    • Pilih torti
    • Alokasi hardware maksimal 16 core CPU (dengan RAM 30GB)
  • Number of CPU Cores
    • Alokasi jumlah core CPU yang akan digunakan, isi sesuai keinginan user
    • Minimal: 1
    • Maksimal: 16
  • Number of GPUs
    • kosongkan
  • Number of hours
    • Durasi sesi Jupyter Notebook dalam satuan jam, isi sesuai keinginan user
    • Minimal: 1
    • Maksimal: 336
  • Anaconda Selection
    • Bebas pilih versi apapun
    • atau pilih versi Anaconda yang digunakan saat membuat Conda Environment user
  • Conda Environment Directory
    • Isi dengan alamat direktori Conda Environment user yang sudah terinstal Jupyter.
    • Contoh: $HOME/.conda/envs/skripsi
  • Software Modules
    • kosongkan
  • Environment Setup
    • kosongkan
  • Email Address
    • Sistem akan mengirim notifikasi ke email user saat sesi Jupyter Notebook sudah siap diakses.
    • Apabila membutuhkan, isi dengan email user
User dapat menghitung penggunaan kredit CPU Core Hour dengan rumus:
  • CPU Core Hour terpakai = Number of CPU Cores * Number of hours
Panduan Formulir Menjalankan Jupyter Notebook GPU
  • Partition
    • Pilih tilla
    • Alokasi hardware maksimal 12 core CPU dan 1 GPU (dengan RAM 64GB)
  • Number of CPU Cores
    • Alokasi jumlah core CPU yang akan digunakan, isi sesuai keinginan user
    • Minimal: 1
    • Maksimal: 12
  • Number of GPUs
    • Isi: 1
  • Number of hours
    • Durasi sesi Jupyter Notebook dalam satuan jam, isi sesuai keinginan user
    • Minimal: 1
    • Maksimal: 336
  • Anaconda Selection
    • Bebas pilih versi apapun
    • atau pilih versi Anaconda yang digunakan saat membuat Conda Environment user
  • Conda Environment Directory
    • Isi dengan alamat direktori Conda Environment user yang sudah terinstal Jupyter.
    • Contoh: $HOME/.conda/envs/skripsi
  • Software Modules
    • Isi: cuda/11.2-cuDNN8.1.1
  • Environment Setup
    • kosongkan
  • Email Address
    • Sistem akan mengirim notifikasi ke email user saat sesi Jupyter Notebook sudah siap diakses.
    • Apabila membutuhkan, isi dengan email user
User dapat menghitung penggunaan kredit CPU Core Hour dan GPU Hour dengan rumus:
  • CPU Core Hour terpakai = Number of CPU Cores * Number of hours
  • GPU Hour terpakai = Number of GPUs * Number of hours
3 Apabila formulir sudah terisi, klik tombol Launch untuk memulai sesi Jupyter Notebook. User akan diarahkan ke halaman My Interactive Sessions. Tunggu hingga sesi Jupyter Notebook user siap diakses.
Status sesi Jupyter Notebook mengantri menunggu alokasi hardware
4

Memulai Sesi Jupyter Notebook

Apabila status menunjukkan Running atau kolom berwarna hijau Klik Connect to Jupyter.
Sesi Jupyter Notebook siap diakses. Klik tombol Connect to Jupyter.
Note:
  • Perlu diketahui bahwa sistem menghitung Kredit Core Hour saat sesi Jupyter Notebook berjalan.
5

Menghentikan (Stop / Cancel) Sesi Jupyter Notebook

User dapat menghentikan sesi Jupyter Notebook yang sedang berjalan melalui menu dashboard EFIRO Jobs > Active Jobs.

---

User dapat mengunjungi halaman My Interactive Sessions melalui menu di dasboard EFIRO.

Interactivesession.png

Default Notebook untuk Python

User dapat menjalankan komputasi Python pada Notebook default yaitu Python 3 (ipykernel).

  • User juga dapat melakukan instalasi package (via pip atau conda) di Notebook.
  • Package akan terinstal di dalam Conda Environment user yang digunakan pada sesi Jupyter Notebook tersebut.
Python 3 adalah kernel default Notebook di Jupyter ALELEON Supercomputer.

Upload Data ke Jupyter

User dapat melakukan upload data di Jupyter, akan tetapi dengan limit ukuran upload 2GB per file. Gunakan aplikasi FTP apabila user hendak mengupload file tunggal diatas 2GB.

  • Jupyter pada ALELEON Supercomputer berada di direktori HOME user (dengan asumsi user membuat Conda Environment di direktori HOME).
  • Apabila mengggunakan aplikasi FTP, upload data ke direktori HOME user.