Komputasi Python dengan Anaconda: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (→Job Submission Terminal: test) |
WilsonLisan (bicara | kontrib) (→Interactive Job Jupyter: test) |
||
(41 revisi perantara oleh pengguna yang sama tidak ditampilkan) | |||
Baris 16: | Baris 16: | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! | !Membuat Conda Environment | ||
|- | |||
!1 | |||
|- | |- | ||
|Pilih dan aktifkan modul Anaconda yang akan digunakan. | |Pilih dan aktifkan modul Anaconda yang akan digunakan. | ||
<code>''' | <code>$ '''module load ''[nama-modul-anaconda]'''''</code> | ||
{| class="wikitable" | |||
{| class="wikitable | |||
! colspan="2" |Daftar nama modul Anaconda | ! colspan="2" |Daftar nama modul Anaconda | ||
|- | |- | ||
Baris 42: | Baris 41: | ||
|} | |} | ||
|- | |- | ||
| | !2 | ||
|- | |||
|Buat conda env di direktori HOME dan aktifkan dengan perintah: | |Buat conda env di direktori HOME dan aktifkan dengan perintah: | ||
''' | $ '''conda create --name ''[nama-conda-env]'' pip''' | ||
''Contoh nama 'skripsi''' | ''Contoh nama 'skripsi''' | ||
Baris 51: | Baris 51: | ||
|} | |} | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! | !Mengaktifkan Conda Environment dan Instalasi Package | ||
|- | |||
!0 | |||
|- | |- | ||
|''Aktifkan modul Anaconda yang digunakan untuk membuat conda env user.'' | |''Aktifkan modul Anaconda yang digunakan untuk membuat conda env user.'' | ||
|- | |- | ||
| | !1 | ||
|- | |||
|Aktifkan conda env dengan perintah: | |Aktifkan conda env dengan perintah: | ||
''' | $ '''source activate ''[nama-conda-env]''''' | ||
''Contoh mengaktifkan conda env 'skripsi''' | ''Contoh mengaktifkan conda env 'skripsi''' | ||
$ source activate '''skripsi''' | $ source activate '''skripsi''' | ||
|- | |||
!2 | |||
|- | |- | ||
|User dapat melihat daftar conda env yang dibuat sebelumnya dengan: | |User dapat melihat daftar conda env yang dibuat sebelumnya dengan: | ||
<code>$ '''conda env list'''</code> | |||
|- | |||
!3 | |||
|- | |- | ||
|Lakukan instalasi package Python yang dibutuhkan dengan '''<code>pip</code>''' | |Lakukan instalasi package Python yang dibutuhkan dengan '''<code>pip</code>''' | ||
* Contoh [https://pytorch.org/get-started/locally/ instalasi PyTorch dengan pip]. | * Contoh [https://pytorch.org/get-started/locally/ instalasi PyTorch dengan pip]. | ||
* Contoh [https://www.tensorflow.org/install/pip instalasi TensorFlow dengan pip]. | * Contoh [https://www.tensorflow.org/install/pip instalasi TensorFlow dengan pip]. | ||
|- | |- | ||
| | !4 | ||
|- | |||
|Untuk menonaktifkan conda env jalankan perintah: | |Untuk menonaktifkan conda env jalankan perintah: | ||
<code>$ '''conda deactivate'''</code> | |||
|} | |} | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! | !Manajemen Conda Environment | ||
|- | |- | ||
|Deactivate conda env untuk melakukan manajemen ini | |||
|Deactivate conda env untuk melakukan manajemen | |- | ||
!a | |||
|- | |- | ||
|Untuk mengubah nama conda env: | |Untuk mengubah nama conda env: | ||
''' | $ '''conda rename -n ''[nama-saat-ini]'' ''[nama-baru]''''' | ||
''Contoh mengubah nama env skripsi ke tesis'' | ''Contoh mengubah nama env skripsi ke tesis'' | ||
$ conda rename -n skripsi tesis | $ conda rename -n skripsi tesis | ||
|- | |||
!b | |||
|- | |- | ||
|Untuk menghapus conda env: | |Untuk menghapus conda env: | ||
<code>$ '''conda remove -n ''<nama-conda-env>'' --all'''</code> | |||
|} | |} | ||
Baris 107: | Baris 115: | ||
# Tutorial ini mengasumsikan user familiar dengan terminal Linux. | # Tutorial ini mengasumsikan user familiar dengan terminal Linux. | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! | !Langkah Job Submission Terminal | ||
[[Berkas:Sbatch Terminal.png|tepi|400x400px]] | [[Berkas:Sbatch Terminal.png|tepi|400x400px]] | ||
|- | |- | ||
| | !1 | ||
|Lakukan [https: | |- | ||
| Lakukan [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_Terminal#1_ |[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#1_|_Login_SSH '''Login SSH'''] ke ALELEON Supercomputer. | |||
|- | |||
!2 | |||
|- | |- | ||
|Siapkan conda env dan file komputasi yang dibutuhkan. | |Siapkan conda env dan file komputasi yang dibutuhkan. | ||
* User dapat upload / download file dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']]. | * User dapat upload / download file dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']]. | ||
|- | |- | ||
| | !3 | ||
|- | |||
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi. | |Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi. | ||
* Nama file bebas dengan format .sh, contoh '''<code>submit.sh</code>''' | * Nama file bebas dengan format .sh, contoh '''<code>submit.sh</code>''' | ||
|- | |- | ||
| | ! | ||
|- | |||
|Contoh template Submit Script, ikuti petunjuk NOTES didalamnya. | |Contoh template Submit Script, ikuti petunjuk NOTES didalamnya. | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
Baris 244: | Baris 256: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|} | |} | ||
Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']]. | |||
|- | |||
! | |||
|- | |- | ||
| | | | ||
| | {| class="wikitable mw-collapsible mw-collapsed" | ||
!Panduan nilai maksimal alokasi komputasi SBATCH | |||
|- | |||
|Pada akun perseorangan, SLURM akan menahan job apabila: | |||
* ntasks * time (jam) > sisa CPU Core Hour | |||
* gpus * time (jam) > sisa GPU Hour | |||
Cek sisa Core Hour dengan perintah <code>'''sausage'''</code> di terminal. | |||
|- | |||
!'''Limitasi [[Limitasi Fair Usage ALELEON Supercomputer|fair policy usage]] untuk menjaga kualitas layanan''' | |||
{| class="wikitable" | {| class="wikitable" | ||
| | !total ntasks | ||
! | !total mem | ||
!total gpus | |||
!time | |||
|- | |||
|128 | |||
|128GB | |||
|2 | |||
|72:00:00 | |||
|} | |||
|- | |||
|User dapat mengajukan permintaan membuka limitasi melalui [https://efisonlt.com/pelaporan-kendala-aleleon-supercomputer/ '''form ini'''] | |||
|- | |||
! | |||
|- | |- | ||
|''' | |'''Versi CPU dan GPU:''' | ||
{| class="wikitable" | {| class="wikitable" | ||
!Jenis komputasi | |||
!ntasks | !ntasks | ||
!mem | !mem | ||
Baris 258: | Baris 296: | ||
!time | !time | ||
|- | |- | ||
|128 | |CPU normal | ||
| | | rowspan="2" |128 | ||
|240GB | |||
| rowspan="2" | - | |||
| rowspan="3" |72:00:00 | |||
|- | |||
|CPU high-mem* | |||
|500GB | |||
|- | |||
|GPU | |||
|32 | |||
|120GB | |||
|2 | |2 | ||
|} | |} | ||
<nowiki>*</nowiki>Tambahkan parameter <code>'''#SBATCH --nodelist=epyc001'''</code> | |||
|- | |||
! | |||
|- | |- | ||
|'''Versi | |'''Versi MPI (dengan MPI4PY):''' | ||
{| class="wikitable" | |||
!ntasks | |||
!mem | |||
!gpus | |||
!time | |||
|- | |- | ||
| | |384 | ||
|240GB | |||
| - | |||
|72:00:00 | |||
|} | |||
Ketika ntasks lebih dari 128: | |||
* SLURM otomatis menjalankan job pada multi-node. | |||
* Mem mengalokasikan memori RAM per-node. | |||
* Info detail buka laman [[MPI ALELEON Supercomputer|'''MPI ALELEON Supercomputer''']]. | |||
|} | |} | ||
|- | |- | ||
| | !4 | ||
|- | |||
|Jalankan job komputasi dengan perintah: | |Jalankan job komputasi dengan perintah: | ||
''' | $ '''sbatch ''[nama-submit-script]''''' | ||
''Contoh:'' | ''Contoh:'' | ||
$ sbatch submit.sh | $ sbatch submit.sh | ||
|- | |- | ||
| | !5 | ||
|- | |||
|User dapat melihat status jalannya job dengan perintah: | |User dapat melihat status jalannya job dengan perintah: | ||
'''<code>$ squeue -ul $USER</code>''' | '''<code>$ squeue -ul $USER</code>''' | ||
{| class="wikitable mw-collapsible mw-collapsed" | |||
! colspan="2" |Daftar ST (STATE) menunjukkan status jalannya job: | |||
|- | |||
!STATE | |||
!Penjelasan | |||
|- | |||
|R (RUN) | |||
|Job berjalan | |||
|- | |||
|PD (PENDING) | |||
|Job tertahan, lihat [[Daftar Reason NODELIST ALELEON Supercomputer|'''NODELIST(REASON)''']] | |||
|- | |||
|CG (COMPLETING) | |||
|Job selesai dan dalam proses clean-up | |||
|- | |||
|CA (CANCELED) | |||
|Job dibatalkan user | |||
|- | |||
|PR (PREEMPETED) | |||
|Job dibatalkan admin, alasan dikabarkan via email | |||
|- | |||
|S (SUSPENDED) | |||
|Job ditahan admin, alasan dikabarkan via email | |||
|} | |||
|- | |||
! | |||
|- | |||
|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 | |||
|} | |} | ||
Baris 291: | Baris 387: | ||
# Berjalan di Compute Node. | # Berjalan di Compute Node. | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! | !Langkah Job Submission Web EFIRO | ||
[[Berkas:Efirojobcomposer3.png|nirbing|400x400px]] | [[Berkas:Efirojobcomposer3.png|nirbing|400x400px]] | ||
|- | |||
!1 | |||
|- | |||
| [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_|_Login_Web_EFIRO Login ke web EFIRO]''' ALELEON Supercomputer. | |||
|- | |||
!2 | |||
|- | |||
|[[Berkas:Pinnedapps jc.png|nir|jmpl|143x143px|Buka app '''<code>Job Composer</code>''' di Pinned Apps.]][[Berkas:Jcnewjobmarked.png|nir|jmpl|180x180px|Pilih menu '''<code>New Job</code>''' -> '''<code>From Template</code>''']] | |||
|- | |||
!3 | |||
|- | |- | ||
| | | | ||
{| class="wikitable" | |||
! colspan="2" |Pilih template Anaconda Python yang diinginkan | |||
|- | |||
!Nama Template | |||
!Penjelasan | |||
|- | |||
|Anaconda Python (CPU) | |||
|Menjalankan Anaconda Python versi CPU | |||
|- | |||
|Anaconda Python (GPU) | |||
|Menjalankan Anaconda Python versi GPU | |||
|} | |||
Kemudian Isi '''<code>Job Name</code>''' dan klik '''<code>Create New Job</code>''' | |||
[[Berkas:Jctemplate-2.png|nirbing]] | |||
|- | |||
!4 | |||
|- | |||
|Upload dan edit file untuk menjalankan komputasi pada '''<code>Edit Files</code>''' | |||
[[Berkas:Jcjoboption.png|nirbing|400x400px]] | |||
* Untuk upload file tunggal diatas 2GB gunakan [[Upload File dengan Aplikasi FTP|'''software FTP''']]. | |||
* Apabila butuh akses terminal buka <code>'''Open Terminal'''</code>. | |||
|- | |||
!5 | |||
|- | |||
|Lengkapi '''Submit Script''' melalui tombol '''<code>Open Editor</code>'''. | |||
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]] | |||
* Submit script adalah 'formulir' untuk menjalankan job komputasi. | |||
* Ikuti petunjuk NOTES didalamnya | |||
* Klik '''<code>Save</code>''' setiap kali mengubah script. | |||
|- | |||
! | |||
|- | |||
| | | | ||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!Panduan nilai maksimal alokasi komputasi SBATCH | |||
|- | |- | ||
| | |Pada akun perseorangan, SLURM akan menahan job apabila: | ||
| | |||
* ntasks * time (jam) > sisa CPU Core Hour | |||
* gpus * time (jam) > sisa GPU Hour | |||
Cek sisa Core Hour dengan langkah: | |||
# Buka menu <code>'''Open Terminal'''</code> | |||
# Jalankan perintah '''<code>sausage</code>''' | |||
|- | |||
!'''Limitasi [[Limitasi Fair Usage ALELEON Supercomputer|fair policy usage]] untuk menjaga kualitas layanan''' | |||
{| class="wikitable" | |||
!total ntasks | |||
!total mem | |||
!total gpus | |||
!time | |||
|- | |||
|128 | |||
|128GB | |||
|2 | |||
|72:00:00 | |||
|} | |||
|- | |||
|User dapat mengajukan permintaan membuka limitasi melalui [https://efisonlt.com/pelaporan-kendala-aleleon-supercomputer/ '''form ini'''] | |||
|- | |||
! | |||
|- | |||
|'''Versi CPU dan GPU:''' | |||
{| class="wikitable" | |||
!Jenis komputasi | |||
!ntasks | |||
!mem | |||
!gpus | |||
!time | |||
|- | |||
|CPU normal | |||
| rowspan="2" |128 | |||
|240GB | |||
| rowspan="2" | - | |||
| rowspan="3" |72:00:00 | |||
|- | |||
|CPU high-mem* | |||
|500GB | |||
|- | |||
|GPU | |||
|32 | |||
|120GB | |||
|2 | |||
|} | |||
<nowiki>*</nowiki>Tambahkan parameter <code>'''#SBATCH --nodelist=epyc001'''</code> | |||
|- | |||
! | |||
|- | |||
|'''Versi MPI (dengan MPI4PY):''' | |||
{| class="wikitable" | |||
!ntasks | |||
!mem | |||
!gpus | |||
!time | |||
|- | |||
|384 | |||
|240GB | |||
| - | |||
|72:00:00 | |||
|} | |||
Ketika ntasks lebih dari 128: | |||
* SLURM otomatis menjalankan job pada multi-node. | |||
* Mem mengalokasikan memori RAM per-node. | |||
* Info detail buka laman [[MPI ALELEON Supercomputer|'''MPI ALELEON Supercomputer''']]. | |||
|} | |||
|- | |||
!6 | |||
|- | |||
|Jalankan job dengan klik tombol '''<code>Submit</code>'''. | |||
[[Berkas:Jcsubmit2.png|al=|nirbing|400x400px]] | |||
* Pantau kolom status yang menjelaskan status jalannya job. | |||
* Apabila ingin membatalkan job yang berjalan, klik '''<code>Stop</code>'''. | |||
* Job completed dapat dijalankan kembali dengan '''<code>Submit</code>'''. | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
! colspan="2" |Daftar status 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 di tengah jalan, antara error atau di stop user | |||
|- | |||
| colspan="2" |'''Untuk melihat alasan queue:''' | |||
# Buka app '''<code>Active Jobs</code>''' pada homepage EFIRO. | |||
# [[Berkas:Efiroqueueedit.png|nir|jmpl|''Ubah opsi '''<code>Your jobs</code>''' untuk melihat status job user saja. Klik simbol '''>''' untuk melihat status job pending pada kolom '''Reason'''. Arti reason lihat laman '''[[Daftar Reason NODELIST ALELEON Supercomputer]].''''']] | |||
|} | |||
|- | |||
!7 | |||
|- | |- | ||
| | |Lihat output file komputasi pada kolom '''<code>Folder Contents</code>''' | ||
| | *Atau dengan membuka '''<code>Edit Files</code>''' | ||
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>'''.'']] | |||
|} | |} | ||
Baris 310: | Baris 557: | ||
# Berjalan di Interactive Node. | # Berjalan di Interactive Node. | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! | !Langkah Interactive Job Sesi Jupyter | ||
[[Berkas:Efirojupyterlab.png|400x400px]] | [[Berkas:Efirojupyterlab.png|400x400px]] | ||
|- | |- | ||
| | !1 | ||
| | |- | ||
| '''[https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#1_|_Login_Web_EFIRO Login ke web EFIRO]''' ALELEON Supercomputer. | |||
|- | |||
!2 | |||
|- | |||
|[[Berkas:Pinnedapps jupyter.png|nir|jmpl|141x141px|Buka app '''<code>Jupyter</code>''' di Pinned Apps pada homepage EFIRO.]] | |||
|- | |||
!3 | |||
|- | |||
|Isi formulir untuk memulai sesi Jupyter dengan panduan berikut: | |||
* '''Choose Jupyter version''' | |||
** ''pilih sesuai preferensi user, Jupyter Lab atau Notebook'' | |||
* '''Partition''' -> ''pilih sesuai kebutuhan:'' | |||
** torti -> CPU saja | |||
** tilla -> CPU dan GPU | |||
{| class="wikitable" | |||
!Alokasi komputasi | |||
!torti | |||
!tilla | |||
|- | |||
|Number of CPU core(s) | |||
| colspan="2" |1 - 32 | |||
|- | |||
|Amount of memory/RAM | |||
| colspan="2" |1 - 64 | |||
|- | |||
|Number of GPUs | |||
| - | |||
|1 | |||
|- | |||
|Number of hours | |||
| colspan="2" |1 - 72 | |||
|- | |||
| colspan="3" |'''Pada akun perseorangan, sesi Jupyter tidak akan berjalan apabila:''' | |||
* Alokasi CPU * hours > sisa CPU Core Hour | |||
* Alokasi GPU * hours > sisa GPU Hour | |||
Cek sisa Core Hour dengan: | |||
# Buka app '''<code>Aleleon Shell Access</code>''' pada homepage EFIRO | |||
# Jalankan perintah '''<code>sausage</code>''' | |||
|} | |||
* '''Choose how to launch Jupyter''' -> Anaconda | |||
* '''Choose Anaconda version''' | |||
** ''Pilih versi yang digunakan untuk membuat conda env user'' | |||
* '''Conda environment directory''' | |||
** ''Isi nama conda env user yang akan digunakan'' | |||
* '''Software modules''' | |||
** ''Membuat modul software, isi sesuai kebutuhan user'' | |||
** ''Apabila menggunakan tilla, isi modul '''NVIDIA CUDA''' yang sesuai'' | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
|- | |||
! colspan="2" |Daftar Software Modules NVIDIA CUDA | |||
|- | |||
!Nama Software Modules | |||
!Versi | |||
|- | |||
|cuda/11.2-cuDNN8.1.1 | |||
|CUDA 11.2 + cuDNN 8.1.1 | |||
|- | |||
|cuda/11.6-cuDNN8.3.3 | |||
|CUDA 11.6 + cuDNN 8.3.3 | |||
|- | |||
|cuda/11.8-cuDNN8.6.0 | |||
|CUDA 11.8 + cuDNN 8.6.0 | |||
|- | |||
|cuda/12.0-cuDNN8.7.0 | |||
|CUDA 12.0 + cuDNN 8.7.0 | |||
|- | |||
|cuda/12.1-cuDNN8.8.1 | |||
|CUDA 12.1 + cuDNN 8.8.1 | |||
|- | |||
|cuda/12.3-cuDNN8.9.6 | |||
|CUDA 12.3 + cuDNN 8.9.6 | |||
|} | |||
*'''Environment setup''' | |||
** ''Memuat environment variable, isi apabila ada'' | |||
* '''Additional Jupyter arguments''' | |||
** Memuat argument tambahan Jupyter, isi apabila ada | |||
* '''Email address''' | |||
** ''Notifikasi email untuk status mulai dan selesainya sesi Jupyter.'' | |||
** ''Isi apabila berkenan.'' | |||
|- | |||
!4 | |||
|- | |||
|Klik tombol '''<code>Launch</code>''' untuk memulai sesi Jupyter. | |||
*User akan diarahkan ke halaman '''<code>My Interactive Sessions</code>'''. | |||
*Tunggu hingga sesi Jupyter siap diakses. | |||
[[Berkas:Jupyternotebookqueue.png|nir|jmpl|''Status sesi Jupyter mengantri menunggu alokasi hardware'']] | |||
|- | |||
!5 | |||
|- | |||
|Apabila status '''Running''', klik tombol '''<code>Connect to Jupyter</code>'''. | |||
* Sistem mulai menghitung Core Hour! | |||
[[Berkas:Newjupyter120124.png|nir|jmpl|''Sesi Jupyter siap diakses.'']]Untuk menghentikan sesi, klik tombol '''<code>Cancel</code>'''. | |||
|- | |||
!6 | |||
|- | |||
|Pilih Notebook Python 3 untuk memulai sesi notebook Python 3.[[Berkas:Jupyternotebookkernelupdated.png|al=|nir|jmpl|200x200px|''Gunakan Notebook Python 3 untuk menjalankan kernel conda env user di Jupyter Notebook'']][[Berkas:Rjupyterlab.png|nir|jmpl|225x225px|''Gunakan Notebook Python 3 untuk menjalankan kernel conda env user di Jupyter Lab'']] | |||
|- | |- | ||
!7 | |||
|- | |- | ||
| | |User dapat mengunjungi sesi Jupyter yang sedang berjalan pada: | ||
* Menu '''<code>My Interactive Sessions</code>''' pada homepage EFIRO. | |||
* Kolom '''<code>Active interactive sessions</code>''' pada homepage EFIRO. | |||
|} | |} |
Revisi per 5 April 2024 09.04
Halaman ini menjelaskan menjalankan komputasi Python dengan environment Anaconda di ALELEON Supercomputer.
Langkah Menjalankan Komputasi
Terdapat dua langkah utama:
- Membuat dan menyiapkan conda environment untuk komputasi user.
- Memilih metode menjalankan komputasi.
Membuat Conda Environment
Kegiatan ini dilakukan pada terminal:
- Diakses melalui login SSH, atau
- Pada web EFIRO, buka menu Clusters -> Aleleon Shell Access
Membuat Conda Environment | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||
Pilih dan aktifkan modul Anaconda yang akan digunakan.
| ||||||||||||
2 | ||||||||||||
Buat conda env di direktori HOME dan aktifkan dengan perintah:
$ conda create --name [nama-conda-env] pip Contoh nama 'skripsi' $ conda create --name skripsi pip |
Mengaktifkan Conda Environment dan Instalasi Package |
---|
0 |
Aktifkan modul Anaconda yang digunakan untuk membuat conda env user. |
1 |
Aktifkan conda env dengan perintah:
$ source activate [nama-conda-env] Contoh mengaktifkan conda env 'skripsi' $ source activate skripsi |
2 |
User dapat melihat daftar conda env yang dibuat sebelumnya dengan:
|
3 |
Lakukan instalasi package Python yang dibutuhkan dengan pip
|
4 |
Untuk menonaktifkan conda env jalankan perintah:
|
Manajemen Conda Environment |
---|
Deactivate conda env untuk melakukan manajemen ini |
a |
Untuk mengubah nama conda env:
$ conda rename -n [nama-saat-ini] [nama-baru] Contoh mengubah nama env skripsi ke tesis $ conda rename -n skripsi tesis |
b |
Untuk menghapus conda env:
|
Metode Menjalankan Komputasi
User dapat memilih metode menjalankan komputasi sesuai keinginan:
- Job submission di terminal
- Job submission di web EFIRO
- Interactive job Jupyter Lab / Notebook
Job Submission Terminal
Ketentuan:
- Menjalankan file Python di terminal dengan scheduler SLURM.
- File ipynb harus dikonversi ke file Python.
- Berjalan di Compute Node.
- Tutorial ini mengasumsikan user familiar dengan terminal Linux.
Langkah Job Submission Terminal | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||||||||||||||||||||||||||
Login SSH ke ALELEON Supercomputer. | ||||||||||||||||||||||||||||||||||||||||
2 | ||||||||||||||||||||||||||||||||||||||||
Siapkan conda env dan file komputasi yang dibutuhkan.
| ||||||||||||||||||||||||||||||||||||||||
3 | ||||||||||||||||||||||||||||||||||||||||
Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi.
| ||||||||||||||||||||||||||||||||||||||||
Contoh template Submit Script, ikuti petunjuk NOTES didalamnya.
Info script lebih detail lihat Submit Script ALELEON Supercomputer. | ||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||
4 | ||||||||||||||||||||||||||||||||||||||||
Jalankan job komputasi dengan perintah:
$ sbatch [nama-submit-script] Contoh: $ sbatch submit.sh | ||||||||||||||||||||||||||||||||||||||||
5 | ||||||||||||||||||||||||||||||||||||||||
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 |
Job Submission Web EFIRO
Ketentuan:
- Menjalankan file Python di web EFIRO Job Composer dengan scheduler SLURM.
- File ipynb harus dikonversi ke file Python.
- Berjalan di Compute Node.
Langkah Job Submission Web EFIRO | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||||||||||||||||||||||||||
Login ke web EFIRO ALELEON Supercomputer. | ||||||||||||||||||||||||||||||||||||||||
2 | ||||||||||||||||||||||||||||||||||||||||
3 | ||||||||||||||||||||||||||||||||||||||||
Kemudian Isi | ||||||||||||||||||||||||||||||||||||||||
4 | ||||||||||||||||||||||||||||||||||||||||
Upload dan edit file untuk menjalankan komputasi pada Edit Files
| ||||||||||||||||||||||||||||||||||||||||
5 | ||||||||||||||||||||||||||||||||||||||||
Lengkapi Submit Script melalui tombol Open Editor .
| ||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||
6 | ||||||||||||||||||||||||||||||||||||||||
Jalankan job dengan klik tombol Submit .
| ||||||||||||||||||||||||||||||||||||||||
7 | ||||||||||||||||||||||||||||||||||||||||
Lihat output file komputasi pada kolom Folder Contents
|
Interactive Job Jupyter
Ketentuan:
- Menjalankan sesi interaktif Jupyter Lab atau Notebook.
- Berjalan di Interactive Node.
Langkah Interactive Job Sesi Jupyter | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||||||||||||||||||||
Login ke web EFIRO ALELEON Supercomputer. | ||||||||||||||||||||||||||||||||||
2 | ||||||||||||||||||||||||||||||||||
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 .
Cancel .
| ||||||||||||||||||||||||||||||||||
6 | ||||||||||||||||||||||||||||||||||
Pilih Notebook Python 3 untuk memulai sesi notebook Python 3. | ||||||||||||||||||||||||||||||||||
7 | ||||||||||||||||||||||||||||||||||
User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:
|