Trial Testing: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (→Membuat Conda Environment untuk Instalasi BoltzTraP2: update dengan metode load CMake) |
WilsonLisan (bicara | kontrib) (menambah subbab conda env BoltzTraP2 siap pakai) |
||
Baris 192: | Baris 192: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== '''Instalasi | == '''''Instalasi BoltzTraP2''''' == | ||
Ini adalah pengujian instalasi | Ini adalah pengujian instalasi '''[[https://boltztrap2y.readthedocs.io/en/latest/BoltzTraP2.html BoltzTraP2]]''' yang merupakan implementasi modern berbasis Python untuk ''smoothed Fourier interpolation algorithm'' berdasarkan BoltzTraP versi 1.2.5. Instalasi ini menggunakan conda environment dan ditujukan untuk '''user yang hendak menginstal BoltzTraP secara mandiri.''' | ||
=== Instalasi dengan Conda Environment === | === Instalasi dengan Conda Environment === | ||
Baris 199: | Baris 199: | ||
# Instalasi package Python dilakukan oleh user karena umumnya membutuhkan jenis dan versi spesifik per skenario komputasi. | # Instalasi package Python dilakukan oleh user karena umumnya membutuhkan jenis dan versi spesifik per skenario komputasi. | ||
# Instalasi dilakukan pada conda environment dimana adalah "ruang isolasi" untuk menampung instalasi package Python. Conda environment adalah praktik terbaik dalam manajemen package Python untuk mencegah konflik | # Instalasi dilakukan pada conda environment dimana adalah "ruang isolasi" untuk menampung instalasi package Python. Conda environment adalah praktik terbaik dalam manajemen package Python untuk mencegah konflik package. | ||
# Praktik yang sehat adalah setiap conda environment menjalankan satu jenis komputasi dimana pada contoh ini spesifik menjalankan BoltzTraP2. | # Praktik yang sehat adalah setiap conda environment menjalankan satu jenis komputasi dimana pada contoh ini spesifik menjalankan BoltzTraP2. | ||
Baris 206: | Baris 206: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
!Langkah Instalasi Environment BoltzTraP2 | !- Langkah Instalasi Environment BoltzTraP2 - | ||
|- | |- | ||
!1 | !<big><nowiki>---| 1 |---</nowiki></big> | ||
|- | |- | ||
|Muat modul | |Muat modul Anaconda dan cmake: | ||
$ '''ml | $ '''ml Anaconda3/2024.02-1 CMake''' | ||
|- | |- | ||
!2 | !<big><nowiki>---| 2 |---</nowiki></big> | ||
|- | |- | ||
|Buat conda env kosong dimana tutorial ini | |Buat conda env kosong dimana pada tutorial ini: | ||
$ ''' | |||
* Menggunakan Python 3.11 | |||
* Env bernama '''boltztrap2''' ''(bisa diganti)'' | |||
$ '''conda create -n boltztrap2 python=3.11''' | |||
|- | |- | ||
!3 | !<big><nowiki>---| 3 |---</nowiki></big> | ||
|- | |- | ||
|Aktifkan dengan perintah '''source''' untuk masuk ke conda env tsb: | |Aktifkan dengan perintah '''source''' untuk masuk ke conda env tsb: | ||
$ '''source activate boltztrap2''' | $ '''source activate boltztrap2''' | ||
|- | |- | ||
!4 | !<big><nowiki>---| 4 |---</nowiki></big> | ||
|- | |- | ||
|Instal package BoltzTraP2 beserta pendukungnya: | |Instal package BoltzTraP2 beserta pendukungnya: | ||
* Package jupyter opsional apabila ingin pakai sesi Jupyter. | |||
<small>(boltztrap2)$</small> '''pip install numpy cython setuptools''' | <small>(boltztrap2)$</small> '''pip install numpy cython setuptools''' | ||
<small>(boltztrap2)</small>$ '''pip install BoltzTraP2 --no-build-isolation''' | <small>(boltztrap2)</small>$ '''pip install BoltzTraP2 --no-build-isolation''' | ||
<small>(boltztrap2)$</small> '''pip install jupyter jupyterlab''' | |||
Package BoltzTraP2 telah terinstal dan siap digunakan. | Package BoltzTraP2 telah terinstal dan siap digunakan. | ||
|} | |||
=== Menggunakan Conda Environment boltztrap2 === | |||
Lihat subbab '''''Menggunakan Conda Env BoltzTraP2 siap pakai''''' di bawah ini dengan menyesuaikan nama conda env yang dibuat user (contoh apabila mengikuti tutorial diatas, ganti nama <code>'''$CONDAENV/boltztrap2-25.3.1'''</code> menjadi <code>'''boltztrap2'''</code> | |||
== '''''Menggunakan Conda Environment BoltzTraP2 Siap Pakai''''' == | |||
'''[[https://boltztrap2y.readthedocs.io/en/latest/BoltzTraP2.html BoltzTraP2]]''' merupakan implementasi modern BoltzTraP 1.2.5 berupa package Python untuk ''smoothed Fourier interpolation algorithm''. Pada ALELEON Supercomputer, package Python diinstal dan dijalankan melalui '''conda environment''' (yaitu "ruang isolasi" instalasi package Python untuk mencegah konflik package). Normalnya user membuat sendiri conda enviroment beserta instalasi package-nya namun kali ini ALELEON Supercomputer dapat menyediakan conda env siap pakai yang dapat digunakan global. | |||
=== Spesifikasi Conda Env BoltzTraP2 === | |||
Berikut daftar dan spesifikasi conda env global BoltzTraP2 di ALELEON Supercomputer | |||
{| class="wikitable" | |||
! rowspan="2" |Nama Conda Env | |||
! rowspan="2" |Package Utama | |||
! rowspan="2" |Platform Package Manager | |||
! rowspan="2" |Versi Python | |||
! rowspan="2" |Package Manager | |||
! colspan="4" |Dukungan Komputasi | |||
|- | |- | ||
! | !CPU | ||
!GPU | |||
!Batch Job | |||
!Sesi Jupyter | |||
|- | |- | ||
| | |<code>'''$CONDAENV/boltztrap2-25.3.1'''</code> | ||
|BoltzTraP2 25.3.1 | |||
|<code>Anaconda3/2024-02.1</code> | |||
|3.11.3 | |||
|<code>pip</code> | |||
|V | |||
|X | |||
|V | |||
|V | |||
|} | |} | ||
=== | === Mengaktifkan Conda Env di Login Node === | ||
User dapat mengaktifkan conda env tersebut di login node untuk ''pre-processing'' dan ''post-processing'' data. Perhatikan login node tidak untuk menjalankan komputasi karena mempunyai spesifikasi terbatas, dapat mengganggu user lainnya, dan berpotensi dihentikan oleh admin. Apabila akan digunakan untuk komputasi berat, lihat subbab berikut ini. | |||
--- Mengaktifkan conda env | |||
$ '''ml Anaconda3/2024-02.1''' | |||
$ '''source activate $CONDAENV/boltztrap2-25.3.1''' | |||
--- Mengecek kelengkapan package | |||
$ '''pip list''' | |||
<small>atau</small> | |||
$ '''pip list | grep ''[nama package yang dibutuhkan]''''' | |||
''<small>Hubungi tim admin apabila ada package yang kurang</small>'' | |||
--- Menonaktifkan conda env | |||
$ '''conda deactivate''' | |||
=== Menggunakan Conda Env untuk Job di Compute Node === | |||
Conda env ini dapat digunakan untuk '''batch job''' dan '''sesi Jupyter Notebook / Lab'''. Silahkan pilih sesuai kebutuhan. | |||
===== Batch Job ===== | |||
Menjalankan script Python siap jalan yang tidak membutuhkan interaksi user melalui manajemen Slurm di '''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|compute node]]].''' | |||
*[[Berkas:GMB warning wololo.png|nirbing|50x50px]]Perhatikan '''file <code>.ipynb</code>''' harus dikonversi ke '''file <code>.py</code>'''. | |||
*Tersedia dua pilihan tampilan yaitu terminal dan web EFIRO. Pilih sesuai keinginan. | |||
''<small><code>(klik expand / kembangkan)</code></small>'' | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!- Langkah Batch Job di Terminal - | |||
[[Berkas:Sbatch terminal display rev2.png|tepi|400x400px]] | |||
|- | |||
!''Tutorial ini mengasumsikan user familiar dengan terminal Linux'' | |||
|- | |||
|[[Berkas:EOD Apps Shell full.png|kiri|nirbing|101x101px]]'''''Menggunakan terminal!''''' | |||
*''User EFIRO klik app '''<code>Aleleon Shell Access</code>''''' | |||
*''atau menu '''<code>Apps > Aleleon Shell Access</code>''''' | |||
|- | |||
!<big><nowiki>---| 1 |---</nowiki></big> | |||
|- | |||
!Lakukan persiapan: | |||
|- | |||
|'''Pastikan package lengkap pada conda env yang akan digunakan:''' | |||
*Package tidak lengkap akan menyebabkan job gagal berjalan. | |||
'''Siapkan file komputasi yang dibutuhkan:''' | |||
*Upload / download file lihat '''[[https://wiki.efisonlt.com/wiki/Manajemen_File_di_ALELEON_Supercomputer#Upload_dan_Download_File Upload / Dow][https://wiki.efisonlt.com/wiki/Manajemen_File_di_ALELEON_Supercomputer#Upload_dan_Download_File nload File HOME]]''' | |||
'''[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Untuk mencegah batch job mengacu site-packages yang salah:''' | |||
1 - ''Apabila'' conda env aktif, keluar: | |||
<small>(env)</small>$ '''conda deactivate''' | |||
2 - Menonaktifkan modul Package Python: | |||
$ '''ml unload Anaconda''' | |||
<small>Apabila ada pesan ini, abaikan: | |||
'''''the module ... cannot be unloaded because it was not loaded'''''</small> | |||
|- | |||
!<big><nowiki>---| 2 |---</nowiki></big> | |||
|- | |||
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi: | |||
*Nama file bebas dengan format .sh, contoh '''<code>submit.sh</code>''' | |||
*''Biasanya submit script berada satu folder dengan file komputasi.'' | |||
$ '''nano submit.sh''' | |||
''<small>atau vim</small>'' | |||
|- | |||
! | |||
|- | |||
|Contoh template Submit Script: | |||
*Ikuti petunjuk '''NOTES dan alur script''' di dalamnya. | |||
''<small><code>Klik expand / kembangkan</code></small>'' | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!- Template submit script Conda Env BoltzTraP2 siap pakai - | |||
[[Berkas:GMB CPU icon.png|nirbing|80x80px]] | |||
|- | |||
|<syntaxhighlight lang="bash" line="1"> | |||
#!/bin/bash | |||
# ----------------------------------------------------- | |||
# Template SLURM Submit Script | |||
# BoltzTraP2 25.3.1 (conda env prebuild) | rev.210125 | |||
# | |||
# NOTES: | |||
# 1. Isi bagian yang ditandai 4 garing (////). | |||
# 2. Template ini bersifat referensi. | |||
# User dapat mengubah bagian yang perlu diubah. | |||
# 3. Pastikan user sudah melengkapi conda environment. | |||
# ----------------------------------------------------- | |||
# ----------------------------------------------------- | |||
# Alokasi komputasi SBATCH dan file input | |||
# ----------------------------------------------------- | |||
# 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 program | |||
#SBATCH --output=result-%j.txt | |||
# Definisi file untuk menampung output error log | |||
#SBATCH --error=error-%j.txt | |||
# ---------------------------------------------------- | |||
# Script jalannya program | |||
# ---------------------------------------------------- | |||
# Mengaktifkan Conda Env prebuild BoltzTraP2 25.3.1 | |||
ml Anaconda3/2024.02-1 | |||
source activate /comp/condaenv/boltztrap2-25.3.1 | |||
# Tuliskan perintah menjalankan BoltzTraP2 | |||
* | //// | ||
</syntaxhighlight> | |||
|} | |||
|- | |||
| | |||
|- | |||
! | |||
|- | |||
| | |||
*''Detail Submit Script lihat '''[<nowiki/>[[Submit Script ALELEON Supercomputer|Subm]][[Submit Script ALELEON Supercomputer|it Script ALELEON Supercomputer]]]''''' | |||
*''Untuk SBATCH notifikasi email status jalannya job lihat '''[[https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM Slurm Jojo]]''''' | |||
Apabila | |- | ||
!<big><nowiki>---| 3 |---</nowiki></big> | |||
|- | |||
|Jalankan job dengan perintah: | |||
$ '''sbatch ''[nama-submit-script]''''' | |||
''Contoh:'' | |||
$ sbatch submit.sh | |||
|- | |||
!<big><nowiki>---| 4 |---</nowiki></big> | |||
|- | |||
|User dapat melihat status jalannya job dengan perintah: | |||
$ '''squeue -ul $USER''' | |||
*''Apabila tidak ada di squeue artinya job bersangkutan telah berakhir.'' | |||
*''Job berakhir ketika:'' | |||
**''Komputasi selesai atau ada error sehingga selesai prematur.'' | |||
**''Job menyentuh walltime yang didefinisikan user di SBATCH time.'' | |||
{| class="wikitable" | {| class="wikitable" | ||
! | |+Kolom ST atau STATE menunjukkan status jalannya job: | ||
|- | |||
!STATE | |||
!Penjelasan | |||
|- | |||
|<code>'''R (RUN)'''</code> | |||
|Job berjalan | |||
|- | |||
|<code>'''PD (PENDING)'''</code> | |||
|Job tertahan, lihat '''[<nowiki/>[[Daftar Job Reason ALELEON Supercomputer|Daftar Job Reason]]]''' | |||
|- | |||
|<code>'''CG (COMPLETING)'''</code> | |||
|Job selesai dan dalam proses clean-up | |||
|- | |||
|<code>'''CA (CANCELED)'''</code> | |||
|Job dibatalkan user | |||
|- | |||
|<code>'''PR (PREEMPETED)'''</code> | |||
|Job dibatalkan admin, alasan dikabarkan via email | |||
|- | |||
|<code>'''S (SUSPENDED)'''</code> | |||
|Job ditahan admin, alasan dikabarkan via email | |||
|} | |||
|- | |||
!<big><nowiki>---| 5 |---</nowiki></big> | |||
|- | |||
|User dapat memantau file output dengan perintah Unix seperti: | |||
*'''<code>ls</code>''', '''<code>cat</code>''', '''<code>more</code>''', '''<code>tail</code>''', dll | |||
|- | |||
!<big><nowiki>---| 6 |---</nowiki></big> | |||
|- | |||
|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''' | |||
|- | |||
!--- | |||
|} | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!- Langkah Batch Job di web EFIRO - | |||
[[Berkas:Efiro jobcomposer display.png|nirbing|400x400px]] | |||
|- | |- | ||
! | !<big><nowiki>---| 1 |---</nowiki></big> | ||
! | |- | ||
| [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_ |'''[[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO Login ke web EFIRO]]''' ALELEON Supercomputer. | |||
|- | |||
!<big><nowiki>---| 2 |---</nowiki></big> | |||
|- | |- | ||
| | | | ||
{| class="wikitable" | |||
|[[Berkas:EOD Apps Job Composer full.png|nirbing|126x126px]] | |||
|Klik app '''<code><big>Job Composer</big></code>''' di homepage EFIRO. | |||
*''atau'' menu '''<big><code>Apps > Job Composer</code></big>''' | |||
|} | |||
|- | |||
|[[Berkas:Jcnewjobmarked.png|nirbing|170x170px]]Pilih menu <big>'''<code>New Job > From Template</code>'''</big> | |||
|- | |||
!<big><nowiki>---| 3 |---</nowiki></big> | |||
|- | |||
!Buat ruang job untuk menjalankan komputasi: | |||
|- | |- | ||
| | | | ||
{| class="wikitable" | |||
|+Pilih template Anaconda Python yang diinginkan: | |||
|- | |||
!Nama Template | |||
!Penjelasan | |||
|- | |||
|BolzTraP2 25.3.1 | |||
|Menjalankan conda env BoltzTraP 25.3.1 | |||
|}Kemudian Isi '''Job Name''' dan klik '''<code><big>Create New Job</big></code>''' | |||
[[Berkas:Jctemplate-2.png|nirbing]] | |||
|- | |- | ||
| | !<big><nowiki>---| 4 |---</nowiki></big> | ||
|- | |- | ||
| | !Lakukan persiapan: | ||
|- | |||
|'''Pastikan package lengkap pada conda env yang akan digunakan:''' | |||
*Package tidak lengkap akan menyebabkan job gagal berjalan. | |||
*Akses terminal apabila butuh via menu '''<code><big>Open Terminal</big></code>''' | |||
'''Siapkan file komputasi yang dibutuhkan di ruang job:''' | |||
*''Pastikan ruang job yang dipilih adalah yang akan digunakan.'' | |||
* Pilih sesuai preferensi, | *Upload / download / edit file via menu <code>'''<big>Edit Files</big>'''</code> | ||
* | *Upload / download file tunggal diatas 2GB gunakan '''[[https://wiki.efisonlt.com/wiki/Manajemen_File_di_ALELEON_Supercomputer#Upload_/_Download_Ruang_Job_Composer software FTP]]''' | ||
[[Berkas:JC job menu.png|nirbing|500x500px]] | |||
|- | |||
!<big><nowiki>---| 5 |---</nowiki></big> | |||
|- | |||
|Lengkapi '''Submit Script''' melalui tombol '''<code><big>Open Editor</big></code>''' | |||
*Submit script adalah 'formulir' untuk menjalankan job komputasi. | |||
*Ikuti petunjuk '''NOTES dan alur script''' di dalamnya. | |||
*Klik '''<code><big>Save</big></code>''' setiap kali mengubah script. | |||
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]] | |||
|- | |||
! | |||
|- | |||
| | |||
*''Detail Submit Script lihat '''[<nowiki/>[[Submit Script ALELEON Supercomputer|Subm]][[Submit Script ALELEON Supercomputer|it Script ALELEON Supercomputer]]]''''' | |||
*''Untuk SBATCH notifikasi email status jalannya job lihat '''[[https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM Slurm Jojo]]''''' | |||
|- | |||
!<big><nowiki>---| 6 |---</nowiki></big> | |||
|- | |||
|Jalankan job dengan klik tombol '''<code><big>Submit</big></code>''' | |||
[[Berkas:JC job runstop.png|al=|nirbing|400x400px]] | |||
*''Job berakhir '''(Status completed)''' ketika:'' | |||
**''Komputasi selesai atau ada error sehingga selesai prematur.'' | |||
**''Job menyentuh walltime yang didefinisikan user di SBATCH time.'' | |||
{| class="wikitable" | |||
|+Kolom Status menunjukkan status jalannya job: | |||
|- | |||
!Status | |||
!Arti | |||
|- | |||
|'''Not Submitted''' | |||
|Job belum pernah dijalankan. | |||
|- | |||
|'''Running''' | |||
|Job berjalan. | |||
|- | |||
|'''Queue''' | |||
|Job mengantri dan belum berjalan. | |||
|- | |||
|'''Completed''' | |||
|Job selesai berjalan. | |||
|- | |||
|'''Failed''' | |||
|Job berhenti karena error atau di stop user. | |||
|- | |||
! colspan="2" |'''Melihat alasan job yang queue:''' | |||
|- | |||
| colspan="2" |[[Berkas:Active Jobs detail.png|nir|jmpl|300x300px|''Buka menu '''Apps >''' '''Active Jobs''' di homepage EFIRO. Ubah opsi All jobs ke '''Your Jobs'''. Klik simbol '''>''' untuk melihat status job yang pending pada kolom Reason. Arti reason lihat laman '''[[Daftar Job Reason ALELEON Supercomputer]]''''']] | |||
|} | |||
|- | |||
!<big><nowiki>---| 7 |---</nowiki></big> | |||
|- | |||
|Lihat output file komputasi pada kolom '''Folder Contents''' | |||
*Atau dengan membuka menu '''<code><big>Edit Files</big></code>''' | |||
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>''''']] | |||
|- | |||
!<big><nowiki>---| 8 |---</nowiki></big> | |||
|- | |||
|Apabila user ingin menghentikan job yang berjalan, klik '''<code><big>Stop</big></code>''' | |||
|- | |||
!<big><nowiki>---| 9 |---</nowiki></big> | |||
|- | |||
|Untuk menghapus ruang job dan datanya: | |||
*Pilih ruang job yang akan dihapus. | |||
*Perhatikan opsi ini juga '''menghapus data di ruang job tersebut.''' | |||
*Klik menu '''<code><big>Delete</big></code>''' | |||
[[Berkas:JC delete menu.png|nirbing|400x400px]] | |||
|- | |||
!--- | |||
|} | |||
==== Sesi Jupyter ==== | |||
Menjalankan sesi interaktif Jupyter Lab atau Notebook di '''[<nowiki/>[[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Interactive%20Node|interactive node]]].''' | |||
''<small><code>(klik expand / kembangkan)</code></small>'' | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!- Langkah Sesi Jupyter - | |||
[[Berkas:Efiro jupyter display.png|400x400px]] | |||
|- | |||
!<big><nowiki>---| 1 |---</nowiki></big> | |||
|- | |||
| '''[https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_ |'''[[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO Login ke web EFIRO]]''' ALELEON Supercomputer. | |||
|- | |||
!<big><nowiki>---| 2 |---</nowiki></big> | |||
|- | |||
!Lakukan persiapan sebelum sesi Jupyter: | |||
|- | |||
|'''Untuk efisiensi sesi terkait batasan waktu dan konsumsi Core Hour:''' | |||
*Pastikan kelengkapan instalasi package pada conda env. | |||
*Upload file besar lihat '''[[https://wiki.efisonlt.com/wiki/Manajemen_File_di_ALELEON_Supercomputer Upload / Download File HOME]]''' | |||
**Direktori standar sesi Jupyter adalah $HOME user. | |||
|- | |||
!<big><nowiki>---| 3 |---</nowiki></big> | |||
|- | |||
| | |||
{| class="wikitable" | |||
|[[Berkas:New Pinnedapps jupyter.png|nirbing|116x116px]] | |||
|Klik app '''<code><big>Jupyter</big></code>''' di homepage EFIRO. | |||
*''atau'' menu '''<big><code>Apps > Jupyter</code></big>''' | |||
|} | |||
|- | |||
!<big><nowiki>---| 4 |---</nowiki></big> | |||
|- | |||
|Isi formulir untuk memulai sesi Jupyter dengan panduan berikut: | |||
{| class="wikitable" | |||
!<code>''<big>Choose Jupyter version</big>''</code> | |||
|- | |||
|Pilih sesuai preferensi user, <code>Jupyter Lab</code> atau <code>Notebook</code> | |||
|- | |||
! | |||
|- | |||
!''<code><big>Partition</big></code>'' | |||
|- | |||
|Pilih<code>'''torti'''</code> (interactive node CPU [[Berkas:GMB CPU icon.png|nirbing|60x60px]]) | |||
|- | |||
! | |||
|- | |||
!<code>''<big>Number of CPU thread(s)</big>''</code> | |||
|- | |||
|Alokasi core CPU, range <code><big>'''2 - 32'''</big></code> | |||
|- | |||
! | |||
|- | |||
!<code>''<big>Amount of memory/RAM (GB)</big>''</code> | |||
|- | |||
|Alokasi RAM dalam satuan GB, range <code><big>'''1 - 55'''</big></code> | |||
|- | |||
! | |||
|- | |||
!''<code><big>Number of hours</big></code>'' | |||
|- | |||
|Waktu maksimal sesi Jupyter, range <code><big>'''1 - 72'''</big></code> | |||
|- | |||
![[Berkas:GMB warning wololo.png|nirbing|50x50px]] Apakah bisa menjalankan sesi Jupyter? | |||
|- | |||
| | |||
*Ketentuan sesi Jupyter dapat berjalan: | |||
sisa CCH > number of CPU threads X number of hours | |||
sisa GH > number of GPU X number of hours | |||
|- | |||
! | |||
|- | |||
!''<code><big>Choose how to launch Jupyter</big></code>'' | |||
|- | |||
|Pilih <code>'''Anaconda/Mamba'''</code> | |||
|- | |||
! | |||
|- | |||
!''<code><big>Choose Anaconda/Mamba version</big></code>'' | |||
|- | |||
|Pilih <code>'''Anaconda3/2024-02.1'''</code> | |||
|- | |||
! | |||
|- | |||
!''<code><big>Conda/Mamba environment directory</big></code>'' | |||
|- | |||
|Isi <code>'''$CONDAENV/boltztrap2-25.3.1'''</code> | |||
|- | |||
! | |||
|- | |||
!''<code><big>Software Modules</big></code>'' | |||
|- | |||
|''Kosongkan'' | |||
|- | |||
! | |||
|- | |||
!''<code><big>Environment setup</big></code>'' | |||
|- | |||
|Memuat environment variable, ''isi apabila ada''. | |||
|- | |||
! | |||
|- | |||
!''<code><big>Additional Jupyter arguments</big></code>'' | |||
|- | |||
|Memuat argumen tambahan Jupyter, ''isi apabila ada''. | |||
|- | |||
! | |||
|- | |||
!''<code><big>Email address</big></code>'' | |||
|- | |||
|Notifikasi email untuk status mulai dan selesainya Jupyter. | |||
*''Isi apabila berkenan.'' | |||
|} | |||
* | |||
|- | |||
!<big><nowiki>---| 5 |---</nowiki></big> | |||
|- | |||
|Klik tombol '''<code><big>Launch</big></code>''' untuk memulai sesi Jupyter: | |||
*User akan diarahkan ke halaman '''<code><big>My Interactive Sessions</big></code>''' | |||
*Tunggu hingga sesi Jupyter siap diakses. | |||
[[Berkas:Jupyternotebookqueue.png|nirbing|500x500px]] | |||
|- | |||
!<big><nowiki>---| 6 |---</nowiki></big> | |||
|- | |||
|Apabila status '''Running''', klik tombol '''<code><big>Connect to Jupyter</big></code>''' | |||
*[[Berkas:GMB warning wololo.png|nirbing|50x50px]] Sistem mulai menghitung Core Hour! | |||
*Sesi akan terus berjalan selama '''waktu sesi masih ada'''. | |||
*Untuk menghentikan sesi yang running, klik tombol '''<code><big>Cancel</big></code>''' | |||
[[Berkas:Newjupyter120124.png|nirbing|500x500px]] | |||
|- | |||
!<big><nowiki>---| 7 |---</nowiki></big> | |||
|- | |||
|Gunakan kernel '''Python 3 (ipykernel)''' untuk sesi Jupyter. | |||
|- | |||
!<big><nowiki>---| 8 |---</nowiki></big> | |||
|- | |||
|'''Sesi Jupyter tidak terputus ketika:''' | |||
*Koneksi user terputus saat sesi Jupyter. | |||
*User keluar / log out dari sesi Jupyter dan web EFIRO. | |||
'''User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:''' | |||
*Menu '''<code><big>My Interactive Sessions</big></code>''' | |||
*Kolom '''<code><big>Active interactive sessions</big></code>''' di homepage EFIRO. | |||
[[Berkas:GMB warning wololo.png|nirbing|50x50px]] '''Ketika user keluar saat ada cell berjalan dan kembali masuk:''' | |||
*Bisa jadi cell tersebut tidak menampilkan proses jalannya komputasi. | |||
*Lihat cell berikutnya apakah belum / sedang / selesai berjalan. | |||
|- | |||
!--- | |||
|} | |} |
Revisi per 23 Juni 2025 11.26
Halaman ini menjabarkan tutorial untuk pengujian software komputasi dan hardware di ALELEON Supercomputer. Silahkan lihat contents / daftar isi (apabila ada) untuk menjalankan pengujian yang diinginkan.
Selain akun testing, sistem tetap menghitung Core Hour untuk pengujian yang menjalankan komputasi! |
---|
Komputasi AI AMD RDNA3 dan ROCm 6
Ini adalah pengujian GPU AMD RDNA3 dan ROCm 6 untuk komputasi AI dengan environment:
- Berjalan di compute node trial dengan spesifikasi CPU AMD Ryzen 3300X 4 core / 8 thread, GPU AMD Radeon 7900XT 20GB GDDR6, dan RAM efektif 60GB.
- Sesi interaktif Jupyter dengan container Apptainer. Tim admin menyediakan image siap pakai untuk pengujian ini:
Daftar image siap pakai | |
---|---|
Nama Image | Isi Package |
rocm/pytorch2.1.2_jupyter_rocm6.1.3.sif | PyTorch 2.1.2 dengan Jupyter dan ROCm 6.1.3 |
rocm/pytorch2.3.0_jupyter_rocm6.2.sif | PyTorch 2.3.0 dengan Jupyter dan ROCm 6.2 |
rocm/tensorflow2.15_rocm6.1_py3.10_dev.sif | TensorFlow 2.15 dengan Jupyter dan ROCm 6.1 |
Memulai Sesi Jupyter
Langkah Interactive Job Sesi Jupyter dengan Container |
---|
1 |
Login ke web EFIRO ALELEON Supercomputer. |
2 |
Buka pinned apps Jupyter ![]() |
3 |
Isi formulir untuk memulai sesi Jupyter dengan panduan berikut:
|
4 |
Klik tombol Launch untuk memulai sesi Jupyter.
|
5 |
Apabila status Running, klik tombol Connect to Jupyter .Untuk menghentikan sesi, klik tombol Cancel .
|
6 |
Pilih Notebook Python 3 untuk memulai sesi notebook Python 3. |
Note perintah penting pada cell Jupyter |
Apabila membutuhkan tambahan library Python selain isi Image:
!pip install [nama-package] Untuk menunjukkan status GPU, jalankan perintah berikut: !rocm-smi |
7 |
User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:
|
Instalasi dan Menjalankan gmx_MMPBSA
Ini adalah pengujian instalasi dan menjalankan gmx_MMPBSA yang merupakan tool berdasarkan MMPBSA.py dari AMBER untuk kalkulasi end-state free energy dengan file GROMACS.
Instalasi gmx_MMPBSA dengan Conda Environment
gmx_MMPBSA menggunakan library Python spesifik sehingga instalasi dilakukan oleh user melalui Mamba dan ditampung pada conda environment.
Langkah membuat conda environment gmxMMPBSA | ||
---|---|---|
1 | ||
Muat modul berikut:
$ ml Mamba/23.11.0-0 OpenMPI/4.1.1-GCC-11.2.0 | ||
2 | ||
Buat conda environment:
$ mamba env create -f /comp/condaenv_yml/gmxMMPBSA.yml
| ||
3 | ||
Aktifkan conda env gmxMMPBSA dan instal package gmx_MMPBSA:
$ source activate gmxMMPBSA $ python -m pip install gmx_MMPBSA |
Mengaktifkan Conda Environment gmxMMPBSA
Berikut langkah mengaktifkan conda environment gmxMMPBSA apabila dibutuhkan untuk pre-processing di Login Node:
$ ml Mamba/23.11.0-0 $ source activate gmxMMPBSA Untuk menonaktifkan conda env: $ conda deactivate
Template Submit Script gmx_MMPBSA
Gunakan template submit script berikut untuk job submission gmx_MMPBSA. Saat ini diketahui gmx_MMPBSA hanya dapat menggunakan CPU.
#!/bin/bash
# -----------------------------------------------------
# Template SLURM Submit Script [TESTING]
# gmx_MMPBSA | rev.221124
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
# User dapat mengubah bagian yang perlu diubah.
# -----------------------------------------------------
# -----------------------------------------------------
# Alokasi komputasi SBATCH, input, dan module
# -----------------------------------------------------
# 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 program
#SBATCH --output=result-%j.txt
# Definisi file untuk menampung output error log
#SBATCH --error=error-%j.txt
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------
# Mengaktifkan conda env gmxMMPBSA
ml Mamba/23.11.0-0
source activate gmxMMPBSA
# Perintah menjalankan gmx_MMPBSA
////
Instalasi BoltzTraP2
Ini adalah pengujian instalasi [BoltzTraP2] yang merupakan implementasi modern berbasis Python untuk smoothed Fourier interpolation algorithm berdasarkan BoltzTraP versi 1.2.5. Instalasi ini menggunakan conda environment dan ditujukan untuk user yang hendak menginstal BoltzTraP secara mandiri.
Instalasi dengan Conda Environment
Bagi user yang pertama kali menggunakan package Python:
- Instalasi package Python dilakukan oleh user karena umumnya membutuhkan jenis dan versi spesifik per skenario komputasi.
- Instalasi dilakukan pada conda environment dimana adalah "ruang isolasi" untuk menampung instalasi package Python. Conda environment adalah praktik terbaik dalam manajemen package Python untuk mencegah konflik package.
- Praktik yang sehat adalah setiap conda environment menjalankan satu jenis komputasi dimana pada contoh ini spesifik menjalankan BoltzTraP2.
Membuat Conda Environment untuk Instalasi BoltzTraP2
Karena BoltzTraP2 berbasis package Python maka instalasi dilakukan oleh user di direktori HOME melalui environment. Tutorial ini menggunakan conda environment dari package manager Mamba.
- Langkah Instalasi Environment BoltzTraP2 - |
---|
---| 1 |--- |
Muat modul Anaconda dan cmake:
$ ml Anaconda3/2024.02-1 CMake |
---| 2 |--- |
Buat conda env kosong dimana pada tutorial ini:
$ conda create -n boltztrap2 python=3.11 |
---| 3 |--- |
Aktifkan dengan perintah source untuk masuk ke conda env tsb:
$ source activate boltztrap2 |
---| 4 |--- |
Instal package BoltzTraP2 beserta pendukungnya:
(boltztrap2)$ pip install numpy cython setuptools (boltztrap2)$ pip install BoltzTraP2 --no-build-isolation (boltztrap2)$ pip install jupyter jupyterlab Package BoltzTraP2 telah terinstal dan siap digunakan. |
Menggunakan Conda Environment boltztrap2
Lihat subbab Menggunakan Conda Env BoltzTraP2 siap pakai di bawah ini dengan menyesuaikan nama conda env yang dibuat user (contoh apabila mengikuti tutorial diatas, ganti nama $CONDAENV/boltztrap2-25.3.1
menjadi boltztrap2
Menggunakan Conda Environment BoltzTraP2 Siap Pakai
[BoltzTraP2] merupakan implementasi modern BoltzTraP 1.2.5 berupa package Python untuk smoothed Fourier interpolation algorithm. Pada ALELEON Supercomputer, package Python diinstal dan dijalankan melalui conda environment (yaitu "ruang isolasi" instalasi package Python untuk mencegah konflik package). Normalnya user membuat sendiri conda enviroment beserta instalasi package-nya namun kali ini ALELEON Supercomputer dapat menyediakan conda env siap pakai yang dapat digunakan global.
Spesifikasi Conda Env BoltzTraP2
Berikut daftar dan spesifikasi conda env global BoltzTraP2 di ALELEON Supercomputer
Nama Conda Env | Package Utama | Platform Package Manager | Versi Python | Package Manager | Dukungan Komputasi | |||
---|---|---|---|---|---|---|---|---|
CPU | GPU | Batch Job | Sesi Jupyter | |||||
$CONDAENV/boltztrap2-25.3.1
|
BoltzTraP2 25.3.1 | Anaconda3/2024-02.1
|
3.11.3 | pip
|
V | X | V | V |
Mengaktifkan Conda Env di Login Node
User dapat mengaktifkan conda env tersebut di login node untuk pre-processing dan post-processing data. Perhatikan login node tidak untuk menjalankan komputasi karena mempunyai spesifikasi terbatas, dapat mengganggu user lainnya, dan berpotensi dihentikan oleh admin. Apabila akan digunakan untuk komputasi berat, lihat subbab berikut ini.
--- Mengaktifkan conda env $ ml Anaconda3/2024-02.1 $ source activate $CONDAENV/boltztrap2-25.3.1 --- Mengecek kelengkapan package $ pip list atau $ pip list | grep [nama package yang dibutuhkan] Hubungi tim admin apabila ada package yang kurang --- Menonaktifkan conda env $ conda deactivate
Menggunakan Conda Env untuk Job di Compute Node
Conda env ini dapat digunakan untuk batch job dan sesi Jupyter Notebook / Lab. Silahkan pilih sesuai kebutuhan.
Batch Job
Menjalankan script Python siap jalan yang tidak membutuhkan interaksi user melalui manajemen Slurm di [compute node].
Perhatikan file
.ipynb
harus dikonversi ke file.py
.- Tersedia dua pilihan tampilan yaitu terminal dan web EFIRO. Pilih sesuai keinginan.
(klik expand / kembangkan)
- Langkah Batch Job di Terminal - | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tutorial ini mengasumsikan user familiar dengan terminal Linux | ||||||||||||||
Menggunakan terminal!
| ||||||||||||||
---| 1 |--- | ||||||||||||||
Lakukan persiapan: | ||||||||||||||
Pastikan package lengkap pada conda env yang akan digunakan:
Siapkan file komputasi yang dibutuhkan:
1 - Apabila conda env aktif, keluar: (env)$ conda deactivate 2 - Menonaktifkan modul Package Python: $ ml unload Anaconda Apabila ada pesan ini, abaikan: the module ... cannot be unloaded because it was not loaded | ||||||||||||||
---| 2 |--- | ||||||||||||||
Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi:
$ nano submit.sh atau vim | ||||||||||||||
Contoh template Submit Script:
| ||||||||||||||
| ||||||||||||||
---| 3 |--- | ||||||||||||||
Jalankan job dengan perintah:
$ sbatch [nama-submit-script] Contoh: $ sbatch submit.sh | ||||||||||||||
---| 4 |--- | ||||||||||||||
User dapat melihat status jalannya job dengan perintah:
$ squeue -ul $USER
| ||||||||||||||
---| 5 |--- | ||||||||||||||
User dapat memantau file output dengan perintah Unix seperti:
| ||||||||||||||
---| 6 |--- | ||||||||||||||
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 Batch Job di web EFIRO - | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
---| 1 |--- | ||||||||||||||||
[Login ke web EFIRO] ALELEON Supercomputer. | ||||||||||||||||
---| 2 |--- | ||||||||||||||||
| ||||||||||||||||
![]() New Job > From Template
| ||||||||||||||||
---| 3 |--- | ||||||||||||||||
Buat ruang job untuk menjalankan komputasi: | ||||||||||||||||
Create New Job
| ||||||||||||||||
---| 4 |--- | ||||||||||||||||
Lakukan persiapan: | ||||||||||||||||
Pastikan package lengkap pada conda env yang akan digunakan:
Siapkan file komputasi yang dibutuhkan di ruang job:
| ||||||||||||||||
---| 5 |--- | ||||||||||||||||
Lengkapi Submit Script melalui tombol Open Editor
| ||||||||||||||||
| ||||||||||||||||
---| 6 |--- | ||||||||||||||||
Jalankan job dengan klik tombol Submit
| ||||||||||||||||
---| 7 |--- | ||||||||||||||||
Lihat output file komputasi pada kolom Folder Contents
| ||||||||||||||||
---| 8 |--- | ||||||||||||||||
Apabila user ingin menghentikan job yang berjalan, klik Stop
| ||||||||||||||||
---| 9 |--- | ||||||||||||||||
Untuk menghapus ruang job dan datanya:
| ||||||||||||||||
--- |
Sesi Jupyter
Menjalankan sesi interaktif Jupyter Lab atau Notebook di [interactive node].
(klik expand / kembangkan)
- Langkah Sesi Jupyter - | ||
---|---|---|
---| 1 |--- | ||
[Login ke web EFIRO] ALELEON Supercomputer. | ||
---| 2 |--- | ||
Lakukan persiapan sebelum sesi Jupyter: | ||
Untuk efisiensi sesi 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 |--- | ||
Gunakan kernel Python 3 (ipykernel) untuk sesi Jupyter. | ||
---| 8 |--- | ||
Sesi Jupyter tidak terputus ketika:
User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:
| ||
--- |