Komputasi Python dengan Conda Environment: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (revisi info lib CUDA conda env dengan grep cuda) |
WilsonLisan (bicara | kontrib) (→Instalasi Package di Conda Environment: percobaan sign attention (wololo!)) |
||
Baris 175: | Baris 175: | ||
=== Instalasi Package di Conda Environment === | === Instalasi Package di Conda Environment === | ||
'''Note:''' | [[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Note:''' | ||
# Ada baiknya user melengkapi instalasi package sebelum menjalankan komputasi: | # Ada baiknya user melengkapi instalasi package sebelum menjalankan komputasi: | ||
Baris 226: | Baris 226: | ||
|- | |- | ||
| colspan="2" |Tersedia dua versi TensorFlow, pilih sesuai kebutuhan: | | colspan="2" |Tersedia dua versi TensorFlow, pilih sesuai kebutuhan: | ||
* Versi CPU - berjalan di CPU. | * Versi CPU - berjalan di CPU. | ||
*Versi GPU - berjalan dengan akselerasi GPU NVIDIA dan lib. CUDA. | *Versi GPU - berjalan dengan akselerasi GPU NVIDIA dan lib. CUDA. | ||
|- | |- | ||
!Versi | !Versi | ||
!Perintah pip | !Perintah pip | ||
|- | |- | ||
|CPU | |CPU [[Berkas:GMB CPU icon.png|nirbing|60x60px]] | ||
| <code><small>(env-user)$</small> '''python3 -m pip install tensorflow'''</code> | | <code><small>(env-user)$</small> '''python3 -m pip install tensorflow'''</code> | ||
|- | |- | ||
|GPU | |GPU [[Berkas:GMB GPU icon.png|nirbing|80x80px]] | ||
|<code><small>(env-user)$</small> '''python3 -m pip install 'tensorflow[and-cuda]''''</code> | |<code><small>(env-user)$</small> '''python3 -m pip install 'tensorflow[and-cuda]''''</code> | ||
|- | |- | ||
Baris 246: | Baris 246: | ||
|- | |- | ||
| colspan="2" |Tersedia dua versi PyTorch, pilih sesuai kebutuhan: | | colspan="2" |Tersedia dua versi PyTorch, pilih sesuai kebutuhan: | ||
*Versi CPU - berjalan di CPU. | *Versi CPU - berjalan di CPU. | ||
*Versi GPU - berjalan dengan akselerasi GPU NVIDIA dan lib. CUDA. | *Versi GPU - berjalan dengan akselerasi GPU NVIDIA dan lib. CUDA. | ||
|- | |- | ||
!Versi | !Versi | ||
!Perintah pip | !Perintah pip | ||
|- | |- | ||
|CPU | |CPU [[Berkas:GMB CPU icon.png|nirbing|60x60px]] | ||
|<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio --index-url <nowiki>https://download.pytorch.org/whl/cpu</nowiki>'''</code> | |<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio --index-url <nowiki>https://download.pytorch.org/whl/cpu</nowiki>'''</code> | ||
|- | |- | ||
| GPU - CUDA 11.8 | | GPU - CUDA 11.8 [[Berkas:GMB GPU icon.png|nirbing|80x80px]] | ||
|<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio --index-url <nowiki>https://download.pytorch.org/whl/cu118</nowiki>'''</code> | |<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio --index-url <nowiki>https://download.pytorch.org/whl/cu118</nowiki>'''</code> | ||
|- | |- | ||
|GPU - CUDA 12.1 | |GPU - CUDA 12.1 [[Berkas:GMB GPU icon.png|nirbing|80x80px]] | ||
|<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio --index-url <nowiki>https://download.pytorch.org/whl/cu121</nowiki>'''</code> | |<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio --index-url <nowiki>https://download.pytorch.org/whl/cu121</nowiki>'''</code> | ||
|- | |- | ||
|GPU - CUDA 12.4 | |GPU - CUDA 12.4 [[Berkas:GMB GPU icon.png|nirbing|80x80px]] | ||
|<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio'''</code> | |<code><small>(env-user)$</small> '''pip3 install torch torchvision torchaudio'''</code> | ||
|- | |- | ||
Baris 301: | Baris 301: | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! colspan="2" |Daftar modul software CUDA ALELEON | ! colspan="2" |<nowiki>| Daftar modul software CUDA ALELEON |</nowiki> | ||
[[Berkas:Logo CUDA ALELEON tp.png|nirbing|150x150px]] | [[Berkas:Logo CUDA ALELEON tp.png|nirbing|150x150px]] | ||
|- | |- | ||
Baris 357: | Baris 357: | ||
=== Batch Job === | === Batch Job === | ||
Menjalankan script Python siap jalan tanpa interaksi user melalui manajemen Slurm di '''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|compute node]]].''' | Menjalankan script Python siap jalan tanpa interaksi user melalui manajemen Slurm di '''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|compute node]]].''' | ||
*Perhatikan untuk '''file <code>.ipynb</code>''' harus dikonversi ke '''file <code>.py</code>'''. | *[[Berkas:GMB warning wololo.png|nirbing|50x50px]]Perhatikan untuk '''file <code>.ipynb</code>''' harus dikonversi ke '''file <code>.py</code>'''. | ||
*Tersedia dua pilihan tampilan yaitu terminal dan web EFIRO. Pilih sesuai keinginan. | *Tersedia dua pilihan tampilan yaitu terminal dan web EFIRO. Pilih sesuai keinginan. | ||
''<small><code>(klik expand / kembangkan)</code></small>'' | ''<small><code>(klik expand / kembangkan)</code></small>'' | ||
Baris 451: | Baris 451: | ||
[[Berkas:GMB GPU icon.png|nirbing|100x100px]] | [[Berkas:GMB GPU icon.png|nirbing|100x100px]] | ||
|- | |- | ||
|'''Note:''' | |[[Berkas:GMB warning wololo.png|nirbing|50x50px]]'''Note:''' | ||
* | * Perhatikan apakah perlu memuat modul CUDA. | ||
* Info detail lihat '''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Menjalankan_Conda_Env_dengan_GPU? Menjalankan Conda Env dengan GPU]]'''. | |||
|- | |- | ||
|<syntaxhighlight lang="bash" line="1"> | |<syntaxhighlight lang="bash" line="1"> | ||
Baris 580: | Baris 581: | ||
|} | |} | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
!Langkah Job Submission Slurm di web EFIRO | !<nowiki>| Langkah Job Submission Slurm di web EFIRO |</nowiki> | ||
[[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]] | [[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]] | ||
|- | |- | ||
Baris 627: | Baris 628: | ||
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]] | [[Berkas:Jceditor3.png|al=|nirbing|400x400px]] | ||
|- | |- | ||
|'''Bagi yang memilih template GPU | |[[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Bagi yang memilih template GPU:''' | ||
* | * Perhatikan apakah perlu memuat modul CUDA. | ||
* Info detail lihat '''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Menjalankan_Conda_Env_dengan_GPU? Menjalankan Conda Env dengan GPU]]'''. | |||
|- | |- | ||
| | | | ||
Baris 701: | Baris 704: | ||
|- | |- | ||
|Siapkan '''conda environment''' yang akan digunakan. | |Siapkan '''conda environment''' yang akan digunakan. | ||
* | *Bagi user Mamba, jangan lupa instal package Jupyter di conda env. | ||
|- | |- | ||
|Untuk sesi Jupyter efektif terkait batasan waktu dan konsumsi Core Hour: | |Untuk sesi Jupyter efektif terkait batasan waktu dan konsumsi Core Hour: | ||
Baris 790: | Baris 793: | ||
|Memuat modul software diluar conda env user , ''isi apabila ada''. | |Memuat modul software diluar conda env user , ''isi apabila ada''. | ||
|- | |- | ||
|Bagi user yang memilih '''partition tilla''': | |[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Bagi user yang memilih '''partition tilla''': | ||
* | * Perhatikan apakah perlu memuat modul CUDA. | ||
* Info detail lihat '''[[https://wiki.efisonlt.com/wiki/Komputasi_Python_dengan_Conda_Environment#Menjalankan_Conda_Env_dengan_GPU? Menjalankan Conda Env dengan GPU]]'''. | |||
* Kosongkan apabila conda env mempunyai library CUDA. | * Kosongkan apabila conda env mempunyai library CUDA. | ||
|- | |- |
Revisi per 21 Maret 2025 08.49
Halaman ini menjelaskan menjalankan komputasi Python dengan conda environment di ALELEON Supercomputer.
Laman ini merupakan bagian laman -> Komputasi Python |
---|
Langkah Menjalankan Komputasi
Terdapat dua langkah utama:
- Membuat conda environment dan instal package yang diperlukan di dalamnya.
- Menjalankan komputasi dengan conda env tersebut.
Membangun Conda Environment
ALELEON Supercomputer menyediakan pilihan package manager Python untuk membuat conda environment. Pilih sesuai preferensi user:
![]() |
![]() |
---|---|
|
|
Membuat dan Manajemen Conda Environment
Menggunakan terminal!
| ||||||||||||||||||||||||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||||||||||||||||||||||||
Pilih skenario berikut yang sesuai dengan kebutuhan user:
|
Instalasi Package di Conda Environment
- Ada baiknya user melengkapi instalasi package sebelum menjalankan komputasi:
- Batch job -> supaya script Python berjalan tanpa error missing package.
- Sesi Jupyter -> untuk efisiensi penggunaan sesi karena terkadang package besar membutuhkan waktu lama untuk instalasi.
- Instalasi ini berjalan di login node sehingga tidak mengkonsumsi Core Hour.
Menjalankan Conda Env dengan GPU?
ALELEON Supercomputer menggunakan GPU NVIDIA sehingga untuk menjalankan conda env di GPU membutuhkan:
- Instalasi package Python versi CUDA. Lihat subbab diatas.
- Library NVIDIA CUDA dan pendukungnya sesuai kebutuhan package.
Apakah Conda Env Mempunyai Library CUDA?
Biasanya instalasi package Python versi CUDA termasuk instalasi library CUDA yang diperlukan. Setelah instalasi package, user dapat mengecek ketersediaan library CUDA di conda env dengan:
- Apabila instal package dengan pip (env-user)$ pip list | grep cuda - Apabila instal package dengan conda (env-user)$ conda list | grep cuda
Apabila ada output, berarti conda env siap menjalankan package GPU dan user dapat menggunakan partisi GPU (lihat subbab Pilihan Menjalankan Komputasi) tanpa perlu memuat modul CUDA.
Conda Env Tidak Mempunyai Library CUDA
Apabila tidak ada output maka user harus memuat modul CUDA sebelum menjalankan komputasi dengan ketentuan:
- Perhatikan versi CUDA yang dibutuhkan. Lihat dokumentasi package tersebut.
- Tutorial memuat dan daftar modul sofware lihat:
| Daftar modul software CUDA ALELEON | | |
---|---|
Bagi yang menjalankan conda env dengan batch job:
... # Memuat modul module load ${PM} module load [nama-modul-CUDA] ... | |
Bagi yang menjalankan conda env dengan sesi Jupyter:
| |
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:
| |
--- |
Pilihan Menjalankan Komputasi
User dapat menjalankan komputasi dengan conda env melalui pilihan berikut, pilih sesuai kebutuhan:
Batch Job
Menjalankan script Python siap jalan tanpa interaksi user melalui manajemen Slurm di [compute node].
Perhatikan untuk file
.ipynb
harus dikonversi ke file.py
.- Tersedia dua pilihan tampilan yaitu terminal dan web EFIRO. Pilih sesuai keinginan.
(klik expand / kembangkan)
| Langkah Job Submission Slurm di Terminal | | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Menggunakan terminal!
| ||||||||||||||||
1 | ||||||||||||||||
Siapkan conda env dan file komputasi yang dibutuhkan.
| ||||||||||||||||
2A | ||||||||||||||||
Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi.
| ||||||||||||||||
Contoh template Submit Script
| ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||
2B | ||||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
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:
| ||||||||||||||||
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 Job Submission Slurm di web EFIRO | | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||
Login ke web EFIRO ALELEON Supercomputer. | ||||||||||||||||
2 | ||||||||||||||||
![]() Pilih menu | ||||||||||||||||
3 | ||||||||||||||||
Job Name dan klik Create New Job
| ||||||||||||||||
4 | ||||||||||||||||
Siapkan file komputasi dan conda env yang dibutuhkan:
| ||||||||||||||||
5A | ||||||||||||||||
Lengkapi Submit Script melalui tombol Open Editor:
| ||||||||||||||||
![]()
| ||||||||||||||||
| ||||||||||||||||
5B | ||||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
Untuk melihat limit, jalankan perintah ini via menu $ slimit-python | ||||||||||||||||
6 | ||||||||||||||||
Jalankan job dengan klik tombol Submit .
| ||||||||||||||||
7 | ||||||||||||||||
Lihat output file komputasi pada kolom Folder Contents
| ||||||||||||||||
8 | ||||||||||||||||
Untuk menghapus ruang job dan datanya:
| ||||||||||||||||
--- |
Sesi Jupyter
Menjalankan sesi interaktif Jupyter Lab atau Notebook di [interactive node].
| Langkah Sesi Jupyter | | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | |||||||||||||||||||||||||||||||||||||||||
Login ke web EFIRO ALELEON Supercomputer. | |||||||||||||||||||||||||||||||||||||||||
2 | |||||||||||||||||||||||||||||||||||||||||
Siapkan conda environment yang akan digunakan.
| |||||||||||||||||||||||||||||||||||||||||
Untuk sesi Jupyter efektif terkait batasan waktu dan konsumsi Core Hour:
| |||||||||||||||||||||||||||||||||||||||||
3 | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
4 | |||||||||||||||||||||||||||||||||||||||||
Isi formulir untuk memulai sesi Jupyter dengan panduan berikut:
| |||||||||||||||||||||||||||||||||||||||||
5 | |||||||||||||||||||||||||||||||||||||||||
Klik tombol Launch untuk memulai sesi Jupyter.
| |||||||||||||||||||||||||||||||||||||||||
6 | |||||||||||||||||||||||||||||||||||||||||
Apabila status Running, klik tombol Connect to Jupyter .
| |||||||||||||||||||||||||||||||||||||||||
7 | |||||||||||||||||||||||||||||||||||||||||
Pilih Notebook Python 3 untuk memulai sesi notebook Python 3. | |||||||||||||||||||||||||||||||||||||||||
8 | |||||||||||||||||||||||||||||||||||||||||
User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:
| |||||||||||||||||||||||||||||||||||||||||
--- |
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