R: Perbedaan antara revisi

Dari ALELEON by EFISON
(menambah info sbatch email dan support)
 
(41 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 6: Baris 6:
Berikut adalah detail versi R yang tersedia secara global di ALELEON Supercomputer:
Berikut adalah detail versi R yang tersedia secara global di ALELEON Supercomputer:
{| class="wikitable"
{| class="wikitable"
|+Modul R
! rowspan="2" |Versi
! rowspan="2" |Versi
! rowspan="2" |Nama modul
! rowspan="2" |Nama modul R
! rowspan="2" |Modul
DEFAULT
! colspan="4" |Dukungan hardware
! colspan="4" |Dukungan hardware
|-
|-
Baris 16: Baris 13:
!GPU
!GPU
!OMP
!OMP
Threading
threading
!MPI
!MPI
multi-node
multi-node
Baris 22: Baris 19:
|4.3.0 "Already Tomorrow"
|4.3.0 "Already Tomorrow"
|R/4.3.0-GCC11.3-MKL
|R/4.3.0-GCC11.3-MKL
|V
|V
|V
| -
| -
Baris 32: Baris 28:
# RMPI dapat dicapai dengan pemrograman R dari pihak user menggunakan wrapper Rmpi.
# RMPI dapat dicapai dengan pemrograman R dari pihak user menggunakan wrapper Rmpi.


== '''Alternatif Menjalankan R di ALELEON Supercomputer''' ==
== '''Langkah Menjalankan Komputasi''' ==
ALELEON Supercomputer menawarkan user untuk menjalankan R dengan pilihan skema:
Terdapat 2 langkah utama:  
{| class="wikitable"
 
|-
# Memlilih modul R yang akan digunakan dan instalasi library package R apabila dibutuhkan.
|'''[https://wiki.efisonlt.com/wiki/R#Menjalankan_R_Melalui_Job_Submission Menjalankan R melalui Job Submission]'''
# Memilih metode menjalankan komputasi -> job submission atau sesi interaktif Jupyter.
* Menjalankan file R siap jalan melalui scheduler SLURM.
 
* Berjalan di Compute Node CPU epyc dengan spesifikasi hingga CPU 128 core dan RAM 500GB
== '''Instalasi Library Package R''' ==
** R versi MPI (RMPI) dapat berjalan paralel hingga CPU 384 core.  
|-
|'''[https://wiki.efisonlt.com/wiki/R#Menjalankan_R_dengan_Sesi_Interaktif_Jupyter Menjalankan R dengan sesi interaktif Jupyter]'''
* Menjalankan R melalui sesi interaktif via Jupyter Notebook atau Lab.
* Berjalan di Interactive Node Torti dengan spesifikasi CPU 32 core dan RAM 64GB.  
|}
=='''Instalasi Library Package R'''==
Instalasi library R pada ALELEON Supercomputer dapat dilakukan dengan dua alternatif cara:   
Instalasi library R pada ALELEON Supercomputer dapat dilakukan dengan dua alternatif cara:   


Baris 51: Baris 40:
# Melakukan instalasi mandiri di Login Node dengan langkah berikut:
# Melakukan instalasi mandiri di Login Node dengan langkah berikut:


{| class="wikitable"
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |Panduan instalasi mandiri Library Package R di Login Node
!Langkah instalasi mandiri Library Package R di Login Node
'''''*Instalasi package R di Login Node tidak mengurangi Kredit Core Hour user.'''''
|-
|-
|'''0A'''
!1
|Instalasi package dilakukan melalui '''terminal'''.
|-
|-
|'''0B'''
|Masuk ke terminal melalui '''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#Login_SSH Login SSH]''' atau
|Bagi user EFIRO, buka terminal melalui menu '''Clusters > Aleleon Shell Access'''.
{| class="wikitable"
[[Berkas:Shellaccess.png|nirbing|200x200px]]
| [[Berkas:Pinnedapps terminal.png|nirbing|129x129px]]
|
*[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO '''Login ke web EFIRO'''];
* Buka pinned apps '''<code>Aleleon Shell Access</code>'''
|}Kegiatan ini tidak mengurangi Core Hour user.
|-
|-
|'''1'''
!2
|Aktifkan R dengan memuat modul versi R yang akan digunakan.
{| class="wikitable"
!Versi
!Perintah Terminal
|-
|-
|4.3.0
|Aktifkan R dengan memuat modul versi R yang akan digunakan:
|<code>$ module load R/4.3.0-GCC11.3-MKL</code>
<code>'''$ module load ''[nama-modul-R]'''''</code>
|}


* ''Lihat subbab Modul R di atas.''
|-
!3
|-
|-
|'''2A'''
|Jalankan R dan lakukan instalasi package dengan format perintah standar:
|Jalankan R dan lakukan instalasi package dengan format perintah standar:
  $ R  
  $ R  
Baris 79: Baris 67:
Package akan terinstal di direktori '''HOME user'''.  
Package akan terinstal di direktori '''HOME user'''.  
|-
|-
|'''2B'''
!'''''Bagi user yang pertama kali melakukan instalasi package R:'''''
|'''''Bagi user yang pertama kali melakukan instalasi package R:'''''  
|-
Akan terdapat prompt untuk instalasi package di personal library, jawab '''yes'''.
|Akan ada prompt untuk mengarahkan instalasi ke personal library, jawab '''yes'''.
  Warning in install.packages("benchmarkme") :
  Warning in install.packages("benchmarkme") :
   'lib = "/comp/R/4.1.2-GCC10-MKL/lib64/R/library"' is not writable
   'lib = "/comp/R/4.1.2-GCC10-MKL/lib64/R/library"' is not writable
  Would you like to use a personal library instead? (yes/No/cancel) '''yes'''
  Would you like to use a personal library instead? (yes/No/cancel) '''yes'''
R akan meminta izin untuk menginstal package R di direktori HOME user. Jawab '''yes'''.
Kemudian R akan meminta izin untuk membuat personal library di HOME user. Jawab '''yes'''.
  Would you like to create a personal library
  Would you like to create a personal library
  ‘~/R/x86_64-pc-linux-gnu-library/4.1’
  ‘~/R/x86_64-pc-linux-gnu-library/4.1’
Baris 91: Baris 79:
|}
|}


== '''Menjalankan R Melalui Job Submission''' ==
== '''Metode Menjalankan Komputasi''' ==
User dapat menjalankan R melalui job submission dengan pilihan cara melalui tampilan terminal atau GUI web EFIRO.
User dapat memilih metode menjalankan komputasi sesuai keinginan: 
===Mengecek Kredit Core Hour bagi Akun Perseorangan===
*'''Job submission terminal'''
User dengan akun perseorangan disarankan untuk selalu mengecek sisa Kredit Core Hour sebelum melakukan job submission dengan menjalankan perintah pada terminal:
** ''Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Compute_Node compute node] melalui manajemen Slurm.''
$ '''sausage'''
**''Hanya untuk file R, file ipynb harus diubah ke R.''
Bagi yang login ke web EFIRO, buka terminal pada menu '''<code>Clusters</code> > <code>Aleleon Shell Access</code>'''
* '''Job submission web EFIRO'''
===Terminal - SLURM sbatch===
**''Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Compute_Node compute node] melalui manajemen Slurm via web EFIRO.''
[[Berkas:Sbatch Terminal.png|nirbing|500x500px]]
**''Hanya untuk file R, file ipynb harus diubah ke R.''
*'''Interactive job Jupyter'''
**''Sesi IDE Jupyter Lab atau Notebook.''
**''Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Interactive_Node interactive node].''


Menjalankan komputasi pada terminal melalui job submission SLURM sbatch.
=== '''Job Submission Terminal''' ===
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |Langkah Menjalankan R via SLURM sbatch
!Langkah Job Submission Terminal
[[Berkas:Sbatch Terminal.png|400x400px]]
|-
!1
|-
|'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#Login_SSH Login SSH]''' ke ALELEON Supercomputer.
|-
!2
|-
|Siapkan file komputasi dan instalasi package R yang dibutuhkan.
*User dapat upload / download file dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']].
|-
|-
| rowspan="2" |'''0'''
!3A
|Sebelum login, [[Koneksi VPN ALELEON Supercomputer|'''user harus terhubung ke jaringan VPN ALELEON Supercomputer''']].
|-
|-
|Login dengan SSH:
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi.
*User OS Windows dan MacOS -> <code>'''$ ssh <''username''>@aleleon.hpc'''</code>
* Nama file bebas dengan format .sh, contoh '''<code>submit.sh</code>'''
*User OS Linux -> <code>'''$ ssh <''username''>@10.192.50.10'''</code>
|-
|-
|'''1'''
!
|Siapkan file yang dibutuhkan untuk menjalankan komputasi user.
*[[Upload File dengan Aplikasi FTP|'''User dapat melakukan upload / download file dengan bantuan aplikasi FTP''']]
|-
|-
|'''2'''
|Contoh template Submit Script, ikuti petunjuk NOTES didalamnya.
| Buat '''SLURM Submit Script''' yaitu 'formulir' untuk menjalankan job dengan panduan berikut:
*''<small>Klik expand / kembangkan</small>''
*Nama script dibebaskan dengan format file .sh (bash), contoh ''<code>my_job_submission.sh</code>''
*Buat script pada direktori yang sama dengan file komputasi yang akan dijalankan.
*Ikuti panduan template berikut dan petunjuk pada NOTES di dalamnya.
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
!Template SLURM Submit Script untuk R
!Template R  
|-
|-
|<syntaxhighlight lang="bash" line="1">
|<syntaxhighlight lang="bash" line="1">
#!/bin/bash
#!/bin/bash


# -------------------------------------------------------------
# -----------------------------------------------------
# | Template SLURM Submit Script
# Template SLURM Submit Script
# | Software        : R
# R | rev.080124
# | Update script  : 06/10/2023
#  
# |
# NOTES:  
# | NOTES:  
# 1. Isi bagian yang ditandai 4 garing (////).
# | 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
# | 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# |   User dapat mengubah bagian yang sekiranya perlu diubah.
# -----------------------------------------------------
# | 3. Panduan menjalankan CP2K di ALELEON lihat:
# |    https://wiki.efisonlt.com/wiki/R
# -------------------------------------------------------------


# --------------------------------------------------
# -----------------------------------------------------
# Alokasi komputasi, modul software, dan file input
# Alokasi komputasi SBATCH, input, dan module
# --------------------------------------------------
# -----------------------------------------------------


# Alokasi jumlah core thread CPU
# Alokasi jumlah core thread CPU
Baris 149: Baris 140:
#SBATCH --mem=////GB
#SBATCH --mem=////GB


# Alokasi limit waktu menjalankan job.
# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS
# Format HH:MM:SS atau D-HH:MM:SS
#SBATCH --time=////
#SBATCH --time=////


# Definisi file untuk menampung output terminal
# Definisi file untuk menampung output terminal program
#SBATCH --output=result-%j.txt
#SBATCH --output=result-%j.txt


Baris 159: Baris 150:
#SBATCH --error=error-%j.txt  
#SBATCH --error=error-%j.txt  


# Nama input file R dengan format file-nya
# Nama input file R yang dijalankan
INPUT_FILE='////.R'
INPUT_FILE="////.R"


# Memuat modul software R yang akan digunakan user
# Memuat modul software R
# Daftar modul R lihat subbab "Modul R" pada
# Daftar modul lihat subbab "Modul R" di atas
# https://wiki.efisonlt.com/wiki/R
module load R////
module load R////


# -------------------------------------------------
# ----------------------------------------------------
# RUN SCRIPT
# Script jalannya program
# -------------------------------------------------
# ----------------------------------------------------


# Perintah menjakankan R
# Perintah menjakankan R
Baris 176: Baris 166:
|}
|}
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
!Template SLURM Submit Script untuk R versi MPI (RMPI)
!Template R versi MPI (RMPI)
|-
|-
|<syntaxhighlight lang="bash" line="1">
|<syntaxhighlight lang="bash" line="1">
#!/bin/bash
#!/bin/bash


# -------------------------------------------------------------
# -----------------------------------------------------
# | Template SLURM Submit Script
# Template SLURM Submit Script
# | Software        : R versi MPI (RMPI)
# R versi MPI (RMPI) | rev.080124
# | Update script  : 06/10/2023
#  
# |
# NOTES:  
# | NOTES:  
# 1. Isi bagian yang ditandai 4 garing (////).
# | 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
# | 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# |   User dapat mengubah bagian yang sekiranya perlu diubah.
# -----------------------------------------------------
# | 3. Panduan menjalankan CP2K di ALELEON lihat:
# |    https://wiki.efisonlt.com/wiki/R
# -------------------------------------------------------------


# --------------------------------------------------
# -----------------------------------------------------
# Alokasi komputasi, modul software, dan file input
# Alokasi komputasi SBATCH, input, dan module
# --------------------------------------------------
# -----------------------------------------------------


# Alokasi jumlah core thread CPU
# Alokasi jumlah core thread CPU
Baris 204: Baris 191:
#SBATCH --mem=////GB
#SBATCH --mem=////GB


# Alokasi limit waktu menjalankan job.
# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS
# Format HH:MM:SS atau D-HH:MM:SS
#SBATCH --time=////
#SBATCH --time=////


# Definisi file untuk menampung output terminal
# Definisi file untuk menampung output terminal program
#SBATCH --output=result-%j.txt
#SBATCH --output=result-%j.txt


Baris 214: Baris 201:
#SBATCH --error=error-%j.txt  
#SBATCH --error=error-%j.txt  


# Nama input file R dengan format file-nya
# Nama input file R yang dijalankan
INPUT_FILE='////.R'
INPUT_FILE="////.R"


# Memuat modul software R yang akan digunakan user
# Memuat modul software R
# Daftar modul R lihat subbab "Modul R" pada
# Daftar modul lihat subbab "Modul R" di atas
# https://wiki.efisonlt.com/wiki/R
module load R////
module load R////


# Memuat modul software Open MPI untuk menjalankan RMPI
# ----------------------------------------------------
module load openmpi
# Script jalannya program
# ----------------------------------------------------


# -------------------------------------------------
# Memuat modul OpenMPI default
# RUN SCRIPT
module load OpenMPI
# -------------------------------------------------


# Perintah menjakankan R
# Perintah menjakankan R
mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx Rscript ${INPUT_FILE}
mpirun -np ${SLURM_NTASKS} Rscript ${INPUT_FILE}
</syntaxhighlight>
</syntaxhighlight>
|}
|}
{| class="wikitable"
! colspan="6" |Panduan nilai maksimal SBATCH untuk R''<sup>1</sup>''
|-
|-
! rowspan="2" | Skenario Menjalankan CP2K
|
! rowspan="2" |Berjalan di
*''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].</small>''
Compute Node
*''<small>Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM '''Slurm Jojo'''].</small>''
! colspan="4" |Nilai maksimal SBATCH
|-
|-
!ntasks
!3B
(CPU)
!mem
(RAM)
!gpus
(GPU)
!time
(time limit)
|-
|-
| colspan="2" |''Acuan fair policy usage<sup>2</sup>''
|'''SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit''' berdasarkan:
|''128''
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
|''128GB''
*Spesifikasi sistem dan software komputasi.
|''2''  
Untuk melihat limit, jalankan perintah berikut:
| rowspan="4" |3-00:00:00
'''$ slimit-r'''
atau 72:00:00
|-
|-
| R biasa''<sup>3</sup>''
!4
|epyc (CPU)
|128
|240GB
|0
|-
|-
|R versi MPI (RMPI)''<sup>4</sup>''
|Jalankan job komputasi dengan perintah:
|epyc (CPU)
$ '''sbatch ''[nama-submit-script]'''''
|384
|240GB
''Contoh:''
|0
$ sbatch submit.sh
|-
|-
|R biasa dan RMPI di high-mem node''<sup>5</sup>''
!5
| epyc (CPU)
| 128
|500GB
|0
|}'''''Keterangan:'''''#Info SBATCH lebih detail lihat laman [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']]
#Limitasi fair policy usage untuk menjaga kualitas layanan ALELEON Supercomputer.
#*User dapat mengajukan permintaan membuka limitasi apabila job membutuhkan alokasi lebih.
#*Info lebih detail lihat laman [[Limitasi Fair Usage ALELEON Supercomputer|'''Limitasi Fair Usage ALELEON Supercomputer''']]
#R biasa tidak mendukung komputasi paralel MPI hingga maksimum berjalan 1 node atau 128 core.
#R versi MPI (RMPI) mendukung komputasi paralel MPI untuk berjalan ''multi-node'' :
#*Satu node epyc mempunyai CPU 128 core.
#*Pada jumlah ntasks >128, SLURM otomatis menjalankan job secara multi-node.
#**Dalam kaitan ini, parameter mem adalah alokasi memori RAM per-node.
#*Info lebih detail lihat laman [[MPI ALELEON Supercomputer|'''MPI ALELEON Supercomputer''']].
#High-mem node epyc yaitu epyc001 memungkinkan user mengalokasikan RAM hingga 500GB.
#*Tambahkan parameter <code>'''#SBATCH --nodelist=epyc001'''</code>
|-
|-
|'''3A'''
|User dapat melihat status jalannya job dengan perintah:
|Sebelum menjalankan job, user dapat melakukan instalasi package R yang dibutuhkan oleh script R user.
'''<code>$ squeue -ul $USER</code>'''
 
{| class="wikitable"
* Lihat subbab '''[https://wiki.efisonlt.com/wiki/R#Instalasi_Library_Package_R Instalasi Package Library R]'''
! colspan="2" |''Kolom ST atau STATE menunjukkan status jalannya job.''
|-
|-
|'''3B'''
|Jalankan job dengan perintah sbatch.
$ '''sbatch''' '''''<nama-SLURM-Submit-script>'''''
Contoh menjalankan nama script <code>my_job_submission.sh</code>.
$ sbatch my_job_submission.sh
|-
|'''4A'''
|User dapat melihat status jalannya job dengan perintah squeue berikut.
*Apabila tidak ada output artinya tidak ada job user yang berjalan / antri pada waktu itu.
$ '''squeue -ul $USER'''
Berikut adalah daftar STATE (ST) dari squeue yang menunjukkan status berjalannya job:
{| class="wikitable"
|+Daftar STATE squeue SLURM
! STATE
! STATE
! Kepanjangan
!Penjelasan
!Penjelasan
|-
|-
|R
|R (RUN)
|RUN
|Job berjalan
|Job berjalan
|-
|-
|PD
|PD (PENDING)
|PENDING
|Job tertahan, lihat [[Daftar Reason NODELIST ALELEON Supercomputer|'''NODELIST(REASON)''']]
|Job tertahan, lihat keterangan [[Daftar Reason NODELIST ALELEON Supercomputer|'''NODELIST(REASON)''']]
|-
|-
|CG
| CG (COMPLETING)
|COMPLETING
|Job selesai dan dalam proses clean-up
|Job selesai dan dalam proses clean-up SLURM
|-
|-
|CA
|CA (CANCELED)
|CANCELED
|Job dibatalkan user
|Job dibatalkan oleh user
|-
|-
|PR
|PR (PREEMPETED)
|PREEMPETED
|Job dibatalkan admin, alasan dikabarkan via email
|Job dibatalkan oleh admin EFISON, alasan dikabarkan melalui email
|-
|-
| S
|S (SUSPENDED)
|SUSPENDED
|Job ditahan admin, alasan dikabarkan via email
| Job ditahan oleh admin EFISON
|}
|}
|-
|-
|'''4B'''
!
|Apabila user ingin membatalkan job yang sedang berjalan, gunakan perintah scancel berdasarkan job ID.
|-
* Job ID dapat dilihat melalui perintah squeue pada kolom JOBID.
|Apabila user ingin menghentikan job yang berjalan, jalankan perintah:
* User hanya bisa membatalkan job submission milik user sendiri.
  '''$ scancel ''[job-ID]'''''
  $ '''scancel <''job-ID-submission-user''>'''
Contoh user membatalkan job submission milik user dengan ID 231.
''Job ID ada pada squeue diatas.''
contoh membatalkan job ID 231:
  $ scancel 231
  $ scancel 231
|-
!Tips
|-
|Apabila program R gagal selesai karena package R yang belum terinstal:
* File output SBATCH error merekap package R yang belum terinstal.
* Berdasarkan info tersebut, lakukan instalasi package R.
|}
|}
===GUI Web - EFIRO Job Composer===
===Job Submission Web EFIRO===
[[Berkas:Efirojobcomposer3.png|nirbing|500x500px]]
 
Menjalankan komputasi dengan tampilan grafis pada formulir job submission EFIRO Job Composer.
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |Langkah Menjalankan R via EFIRO Job Composer
!Langkah Job Submission Web EFIRO
[[Berkas:Efirojobcomposer3.png|400x400px]]
|-
|-
| rowspan="2" |'''0'''
!1
|Sebelum login, [[Koneksi VPN ALELEON Supercomputer|'''user harus terhubung ke jaringan VPN ALELEON Supercomputer''']].
|-
|-
|Buka alamat web '''<code><nowiki>http://aleleon.ood</nowiki></code>''' kemudian masukkan username dan password user.
| [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.
*Bagi user Linux, buka alamat <code>'''<nowiki>http://10.192.50.11</nowiki>'''</code>
|-
|-
|'''1'''
!2
|Buka menu dashboard EFIRO '''<code>Jobs</code> > <code>Jobs Composer</code>'''
[[Berkas:Efirojobcomposermenu.png|nirbing|300x300px|al=]]
|-
|-
|'''2'''
|[[Berkas:New Pinnedapps jc.png|nirbing|128x128px]]Buka pinned apps '''Job Composer''' di homepage EFIRO.
|Pilih '''<code>New Jobs</code> > <code>From Template</code>'''
Pilih menu '''<code>New Job</code>''' -> '''<code>From Template</code>'''
[[Berkas:Jcnewjobmarked.png|al=|nirbing|180x180px]]
 
[[Berkas:Jcnewjobmarked.png|nirbing|180x180px]]
|-
|-
|'''3'''
!3
|[[Berkas:Jcselecttemplate3.png|al=|nir|jmpl|Pilih template R yang diinginkan. Isi atau ganti <code>'''Job Name'''</code> sesuai keinginan user, kemudian klik <code>'''Create New Job'''</code>.|400x400px]]
|-
|
{| class="wikitable"
{| class="wikitable"
! colspan="2" |Template R yang tersedia
! colspan="2" |Pilih template R yang diinginkan:
|-
|-
!Nama Template
!Nama Template
!Penjelasan
!Penjelasan
|-
|-
|R 4.3.0 "Already Tomorrow"
|R 4.3.0 "Already Tomorrow"  
|Menjalankan R versi 4.3.0
|Menjalankan R versi 4.3.0
|-
|-
|RMPI 4.3.0 "Already Tomorrow"
|RMPI 4.3.0 "Already Tomorrow"
|Menjalankan R versi 4.3.0 dengan MPI
|Menjalankan R versi 4.3.0 dengan MPI
|}
|}Kemudian Isi '''<code>Job Name</code>''' dan klik '''<code>Create New Job</code>'''
 
[[Berkas:Jctemplate-2.png|nirbing]]
|-
|-
|'''4'''
!4
|[[Berkas:Jcjoboption3.png|nirbing|600x600px]]
Gunakan menu '''<code>Edit Files</code>''' untuk upload file yang dibutuhkan'''.'''
*Laman Edit Files juga dapat melakukan view / download / edit / rename / delete file.
*''Fitur upload pada laman Edit Files '''mempunyai batasan ukuran upload 2GB per file'''.''
**''Gunakan [[Upload File dengan Aplikasi FTP|'''aplikasi FTP''']] apabila user hendak mengupload file tunggal diatas 2GB.''
|-
|-
|'''5'''
|Siapkan file komputasi dan instalasi package R yang dibutuhkan.
|[[Berkas:Jceditor3.png|al=|nirbing|300x300px]]
*Upload / download / edit file via menu <code>'''Edit Files'''</code>
Melalui '''<code>Open Editor</code>''', lengkapi Submit Script dengan mengganti bagian yang di tandai 4 garis miring (////).
**Untuk upload file tunggal diatas 2GB gunakan [[Upload File dengan Aplikasi FTP|'''software FTP''']].
*''Jangan lupa klik <code>'''Save'''</code> setiap sekali mengubah script.''
*Instalasi package R di terminal melalui menu <code>'''Open Terminal'''</code>.
*Template ini bersifat referensi, user dapat mengubah bagian yang sekiranya perlu diubah.
[[Berkas:JC job menu.png|nirbing|500x500px]]
{| class="wikitable"
! colspan="6" |Panduan nilai maksimal SBATCH untuk R''<sup>1</sup>''
|-
|-
! rowspan="2" | Skenario Menjalankan CP2K
!5A
! rowspan="2" |Berjalan di
Compute Node
! colspan="4" |Nilai maksimal SBATCH
|-
|-
!ntasks
|Lengkapi '''Submit Script''' melalui tombol '''<code>Open Editor:</code>'''
(CPU)
* Submit script adalah 'formulir' untuk menjalankan job komputasi.
!mem
**Ikuti petunjuk NOTES didalamnya.
(RAM)
*Klik '''<code>Save</code>''' setiap kali mengubah script.
!gpus
 
(GPU)
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]]
!time
(time limit)
|-
|-
| colspan="2" |''Acuan fair policy usage<sup>2</sup>''
|
|''128''
*''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].</small>''
|''128GB''
*''<small>Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM '''Slurm Jojo'''].</small>''
|''2''
| rowspan="4" |3-00:00:00
atau 72:00:00
|-
|-
| R biasa''<sup>3</sup>''
! 5B
|epyc (CPU)
|128
|240GB
|0
|-
|-
|R versi MPI (RMPI)''<sup>4</sup>''
| '''SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit''' berdasarkan:
|epyc (CPU)
* Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']].
|384
*Spesifikasi sistem dan software komputasi.
|240GB
Untuk melihat limit, jalankan perintah berikut pada terminal:
|0
'''$ slimit-r'''
|-
|-
|R biasa dan RMPI di high-mem node''<sup>5</sup>''
!6
| epyc (CPU)
| 128
|500GB
|0
|}
'''''Keterangan:'''''#Info SBATCH lebih detail lihat laman [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']]
#Limitasi fair policy usage untuk menjaga kualitas layanan ALELEON Supercomputer.
#*User dapat mengajukan permintaan membuka limitasi apabila job membutuhkan alokasi lebih.
#*Info lebih detail lihat laman [[Limitasi Fair Usage ALELEON Supercomputer|'''Limitasi Fair Usage ALELEON Supercomputer''']]
#R biasa tidak mendukung komputasi paralel MPI hingga maksimum berjalan 1 node atau 128 core.
#R versi MPI (RMPI) mendukung komputasi paralel MPI untuk berjalan ''multi-node'' :
#*Satu node epyc mempunyai CPU 128 core.
#*Pada jumlah ntasks >128, SLURM otomatis menjalankan job secara multi-node.
#**Dalam kaitan ini, parameter mem adalah alokasi memori RAM per-node.
#*Info lebih detail lihat laman [[MPI ALELEON Supercomputer|'''MPI ALELEON Supercomputer''']].
#High-mem node epyc yaitu epyc001 memungkinkan user mengalokasikan RAM hingga 500GB.
#*Tambahkan parameter <code>'''#SBATCH --nodelist=epyc001'''</code>
|-
|-
|'''6A'''
|Jalankan job dengan klik tombol '''<code>Submit</code>'''.
|Sebelum menjalankan job, user dapat melakukan instalasi package R yang dibutuhkan oleh script R user.  
*Pantau kolom status yang menjelaskan status jalannya job.
 
* Apabila ingin membatalkan job yang berjalan, klik '''<code>Stop</code>'''.
* Lihat subbab '''[https://wiki.efisonlt.com/wiki/R#Instalasi_Library_Package_R Instalasi Package Library R]'''
[[Berkas:JC job runstop.png|al=|nirbing|500x500px]]
{| class="wikitable"
! colspan="2" | Daftar status job:
|-
|-
|'''6B'''
!Status
| Jalankan job dengan klik tombol '''<code>Submit</code>'''.
[[Berkas:Jcsubmit2.png|al=|nirbing|600x600px]]
 
Berikut penjelasan kolom '''<code>Status</code>,''' pantau dengan refresh halaman job''':'''
{| class="wikitable"
! Status
!Arti  
!Arti  
|-
|-
Baris 462: Baris 362:
|Job belum pernah dijalankan.
|Job belum pernah dijalankan.
|-
|-
|Running
|Running  
|Job berjalan.
|Job berjalan.
|-
|-
| Queue  
|Queue
|Job mengantri dan belum berjalan.
|Job mengantri dan belum berjalan.
|-
|-
|Completed
|Completed
|Job selesai berjalan.
| Job selesai berjalan.
|-
|-
|Failed
|Failed
|Job berhenti di tengah jalan, bisa karena di Stop atau Delete oleh user.
|Job berhenti karena error atau di stop user.
|-
| colspan="2" |'''''Untuk melihat alasan job yang queue:'''''[[Berkas:Active Jobs detail.png|nir|jmpl|300x300px|''Buka pinned 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 Reason NODELIST ALELEON Supercomputer|'''Daftar Reason NODELIST ALELEON Supercomputer''']].'']]
|}
|}
|-
|-
|'''6C'''
!7
|Untuk menghentikan job yang tengah berjalan, klik tombol '''Stop'''.
|-
[[Berkas:Stop.png|nirbing|600x600px]]
| 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>'''.'']]
|-
!8
|-
|Untuk menghapus ruang job dan datanya:
*Pilih ruang job yang akan dihapus.
*Klik menu '''<code>Delete</code>'''
[[Berkas:JC delete menu.png|nirbing|500x500px]]
|-
|-
|'''7A'''
!Tips
|Hasil output job dapat dilihat pada kolom '''<code>Folder Contents</code>''' atau membuka halaman '''<code>Edit Files</code>.'''[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|User dapat melihat semua file output yang keluar di kolom '''<code>Folder Contents</code>'''.]][[Berkas:Jcjoboption3.png|nir|jmpl|atau dengan membuka menu '''<code>Edit Files</code>'''.]]
|-
|-
|'''7B'''
|Apabila program R gagal selesai karena package R yang belum terinstal:
|User dapat '''menjalankan ulang ruang job yang sama''' dengan mengklik kembali tombol '''<code>Submit</code>'''.
* File output SBATCH error merekap package R yang belum terinstal.
* Berdasarkan info tersebut, lakukan instalasi package R.
|}
|}


=== '''Notifikasi Status Jalannya Komputasi via email''' ===
=== '''Interactive Job Jupyter''' ===
SLURM ALELEON Supercomputer dapat mengirim notifikasi email kepada user dengan nama "Jojo" untuk mengabarkan status berjalannya job komputasi user. Silahkan tambahan SBATCH berikut pada Submit Script apabila user ingin menerima notifikasi email dari SLURM:<syntaxhighlight lang="bash">
#SBATCH --mail-user=<alamat-email-user>
#SBATCH --mail-type=BEGIN,END,FAIL
</syntaxhighlight>SBATCH mail-type mengatur konten email notifikasi SLURM dengan pilihan opsi yang sekiranya berguna untuk user:
*BEGIN -> notifikasi job sudah mulai
*END -> notifikasi job sudah selesai beserta cuplikan 20 baris terakhir dari file SBATCH output dan error.
*FAIL -> notifikasi apabila job gagal berjalan atau berhenti tidak sewajarnya.
*TIME_LIMIT_50 -> job telah berjalan dengan durasi waktu 50% time limit.
*TIME_LIMIT_80 -> job telah berjalan dengan durasi waktu 80% time limit.
== '''Menjalankan R dengan Sesi Interaktif Jupyter''' ==
Terdapat 2 langkah untuk menjalankan R melalui sesi interaktif Jupyter yaitu:
 
# Melakukan '''instalasi package IRKernel''' ketika pertama kali menggunakan Jupyter untuk R.
# Memulai sesi interaktif Jupyter Notebook atau Lab pada EFIRO web.
 
=== Instalasi Package IRkernel ===
Berikut adalah langkah untuk instalasi package IRKernel:
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |Langkah instalasi package IRkernel R untuk masing-masing user
!Langkah Interactive Job Sesi Jupyter
[[Berkas:Efirojupyterlab.png|400x400px]]
|-
|-
|'''0A'''
!0
|Instalasi package dilakukan melalui '''terminal'''.
|-
|-
|'''0B'''
|'''Install package IRKernel apabila pertama kali menggunakan Jupyter untuk R'''
|Bagi user EFIRO, buka terminal melalui menu '''<code>Clusters</code> > <code>Aleleon Shell Access</code>'''.
{| class="wikitable mw-collapsible mw-collapsed"
[[Berkas:Shellaccess.png|nirbing|200x200px]]
!Langkah instalasi package IRkernel R
|-
|-
|'''1'''
!1
|Aktifkan R dengan memuat modul versi R yang akan digunakan.
|-
|Masuk ke terminal melalui '''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#Login_SSH Login SSH]''' atau
{| class="wikitable"
{| class="wikitable"
!Versi
| [[Berkas:Pinnedapps terminal.png|nirbing|129x129px]]
!Perintah Terminal
|
*[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO '''Login ke web EFIRO'''];
* Buka pinned apps '''<code>Aleleon Shell Access</code>'''
|}Kegiatan ini tidak mengurangi Core Hour user.
|-
|-
|4.3.0
!2
|<code>$ module load R/4.3.0-GCC11.3-MKL</code>
|-
|}
|Aktifkan R dengan memuat modul versi R yang akan digunakan:
Berikutnya aktifkan modul Anaconda:
<code>'''$ module load ''[nama-modul-R]'''''</code>
$ module load Anaconda3


* ''Lihat subbab Modul R di atas.''
|-
!3
|-
|Aktifkan modul Anaconda terbaru:
<code>'''$ module load Anaconda3'''</code>
|-
!4
|-
|-
|'''2'''
|Jalankan R dan lakukan instalasi package dengan format perintah standar:
|Jalankan R dan lakukan instalasi package dengan format perintah standar:
  $ R  
  $ R  
Baris 534: Baris 438:
  > q()  
  > q()  
|-
|-
|'''3'''
!5
|-
|Buat file R profile di direktori HOME user:
|Buat file R profile di direktori HOME user:
  $ cd
  $ cd
  $ nano ~/.Rprofile
  $ touch ~/.Rprofile
Masukkan script berikut, kemudian save and exit dengan '''ctrl+x''' diikuti input '''y''' dan enter.
  $ echo "options(bitmapType='cairo')" >> ~/.Rprofile
  options(bitmapType='cairo')
|}
|}
 
|-
=== Memulai Sesi Jupyter ===
!1
Berikut adalah langkah untuk memulai sesi Jupyter dan menggunakan kernel R didalamnya:  
|-
|'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO Login ke web EFIRO]''' ALELEON Supercomputer.
|-
!2
|-
|
{| class="wikitable"
|[[Berkas:New Pinnedapps jupyter.png|nirbing|116x116px]]
|Buka pinned apps '''Jupyter'''  di homepage EFIRO.
|}
|-
!3
|-
|Isi formulir untuk memulai sesi Jupyter dengan panduan berikut:
* '''Choose Jupyter version'''
**''pilih sesuai preferensi user, Jupyter Lab atau Notebook''
*'''Partition''' -> Torti
{| class="wikitable"
{| class="wikitable"
! colspan="2" |Memulai sesi Jupyter untuk R
!Alokasi komputasi
!torti
|-
|-
| rowspan="2" |'''0A'''
|Number of CPU core(s)
|Sebelum login, [[Koneksi VPN ALELEON Supercomputer|'''user harus terhubung ke jaringan VPN ALELEON Supercomputer''']].
|1 - 32
|-
|-
|Buka alamat web '''<code><nowiki>http://aleleon.ood</nowiki></code>''' kemudian masukkan username dan password user.
| Amount of memory/RAM
*Bagi user Linux, buka alamat <code>'''<nowiki>http://10.192.50.11</nowiki>'''</code>
| 1 - 64
|-
|-
|'''0B'''
|Number of GPUs
|Sebelum menjalankan job, user dapat melakukan instalasi package R yang dibutuhkan oleh script R user.
| -
|-
|Number of hours
|1 - 72
|-
| colspan="2" |'''Pada akun perseorangan, sesi Jupyter tidak akan berjalan apabila:'''
*Alokasi CPU * hours > sisa CPU Core Hour
* Alokasi GPU * hours > sisa GPU HourCek sisa Core Hour dengan:
# Buka menu '''<code>Clusters</code>''' '''->''' '''<code>ALELEON Shell Access</code>'''
#Jalankan perintah
$ '''sausage'''
|}
*'''Choose how to launch Jupyter''' -> Anaconda
*'''Choose Anaconda version''' -> ''Pilih versi terbaru''
*'''Conda environment directory''' -> ''Kosongkan''
*'''Software modules''' -> ''Masukkan nama modul R yang digunakan''


* Lihat subbab '''[https://wiki.efisonlt.com/wiki/R#Instalasi_Library_Package_R Instalasi Package Library R]'''
* '''Environment setup''' -> ''Kosongkan''
*'''Additional Jupyter arguments''' -> ''Kosongkan''
* '''Email address'''
**''Notifikasi email untuk status mulai dan selesainya sesi Jupyter.''
**''Isi apabila berkenan.''
|-
|-
|'''1'''
!4
|Buka menu '''<code>Interactive Apps</code>''' kemudian untuk memilih menggunakan Jupyter Notebook atau Lab.
[[Berkas:Efirojupyternotebooklab.png|nirbing|238x238px]]
|-
|-
|'''2'''
|Klik tombol '''<code>Launch</code>''' untuk memulai sesi Jupyter.
|Isi formulir sesi Jupyter dengan panduan berikut:
*User akan diarahkan ke halaman '''<code>My Interactive Sessions</code>'''.
* '''Partition'''
*Tunggu hingga sesi Jupyter siap diakses.
** Pilih '''torti'''
[[Berkas:Jupyternotebookqueue.png|nir|jmpl|''Status sesi Jupyter mengantri menunggu alokasi hardware'']]
*'''Number of CPU Cores'''
|-
** Alokasi CPU core yang akan digunakan
!5
**Minimal: '''1''', maksimal: '''32'''
|-
*'''Number of GPU'''
|Apabila status '''Running''', klik tombol '''<code>Connect to Jupyter</code>'''.
**''kosongkan''
*Sistem mulai menghitung Core Hour!
* '''Number of hours'''
[[Berkas:Newjupyter120124.png|nir|jmpl|''Sesi Jupyter siap diakses.'']]Untuk menghentikan sesi, klik tombol '''<code>Cancel</code>'''.
**Durasi sesi Jupyter Notebook dalam satuan jam, isi sesuai keinginan user
** Minimal: '''1,''' maksimal: '''72'''
*'''Anaconda Selection'''
**''Pilih versi terbaru''
*'''Conda Environment Directory'''
**''kosongkan''
*'''Software Modules'''
**''Isi dengan versi R yang akan digunakan''
{| class="wikitable"
! Versi
!Nama software modules
|-
|-
|4.3.0
!6
|<code>R/4.3.0-GCC11.3-MKL</code>
|}
*'''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''
|-
|-
|'''3'''
|Pilih Notebook R untuk memulai sesi notebook R.[[Berkas:JNkernel.png|nir|jmpl|''Gunakan Notebook R untuk menjalankan kernel R di Jupyter Notebook''|al=|281x281px]][[Berkas:Rjupyterlab.png|nir|jmpl|225x225px|''Gunakan Notebook R untuk menjalankan kernel R di Jupyter Lab'']]
|Apabila formulir sudah terisi, klik tombol '''<code>Launch</code>''' untuk memulai sesi Jupyter.  
 
* User akan diarahkan ke halaman ''My Interactive Sessions''. Tunggu hingga sesi Jupyter siap diakses.
 
[[Berkas:JNqueue.png|nir|jmpl|Status sesi Jupyter Notebook mengantri menunggu alokasi hardware]]
|-
|-
|'''4'''
!7
|Apabila status menunjukkan Running atau kolom berwarna hijau, klik <code>'''Connect to Jupyter'''</code>.
 
* Perlu diperhatikan bahwa sistem mulai menghitung Core Hour saat status Jupyter menunjukkan running.
 
[[Berkas:JNrun.png|nir|jmpl|Sesi Jupyter Notebook siap diakses. ]]
|-
|-
|'''5'''
|User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:
|Pilih Notebook R untuk memulai sesi notebook R baik di Jupyter Notebook dan Lab.[[Berkas:JNkernel.png|nir|jmpl|Gunakan Notebook R untuk menjalankan kernel R di Jupyter Notebook|al=|281x281px]][[Berkas:Rjupyterlab.png|nir|jmpl|225x225px|Gunakan Notebook R untuk menjalankan kernel R di Jupyter Lab]]
*Menu '''<code>My Interactive Sessions</code>''' pada homepage EFIRO.
*Kolom '''<code>Active interactive sessions</code>''' pada homepage EFIRO.
|}
|}
=='''Pelaporan Kendala dan Support'''==
=='''Pelaporan Kendala dan Support'''==
Apabila menjumpai masalah teknis dalam menjalankan komputasi COMCOT, silahkan lapor dengan klik gambar berikut ini.
Apabila menjumpai masalah teknis dalam menjalankan komputasi R, silahkan lapor dengan klik gambar berikut ini.


[[Berkas:Wiki-pelaporankendala.jpg|1000x1000px|link=https://efisonlt.com/aleleonbugreport]]
[[Berkas:Wiki-pelaporankendala.jpg|1000x1000px|link=https://efisonlt.com/aleleonbugreport]]

Revisi terkini sejak 22 Juli 2024 09.21

R.png

R adalah bahasa interpreter yang didesain untuk mengerjakan komputasi statistika. Pada perkembangannya, bahasa R digunakan untuk pengolahan data di bidang data science. Software R didukung oleh The R Foundation for Statistical Computing.

Modul R

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

Versi Nama modul R Dukungan hardware
CPU GPU OMP

threading

MPI

multi-node

4.3.0 "Already Tomorrow" R/4.3.0-GCC11.3-MKL V - - V melalui RMPI1

Keterangan:

  1. RMPI dapat dicapai dengan pemrograman R dari pihak user menggunakan wrapper Rmpi.

Langkah Menjalankan Komputasi

Terdapat 2 langkah utama:

  1. Memlilih modul R yang akan digunakan dan instalasi library package R apabila dibutuhkan.
  2. Memilih metode menjalankan komputasi -> job submission atau sesi interaktif Jupyter.

Instalasi Library Package R

Instalasi library R pada ALELEON Supercomputer dapat dilakukan dengan dua alternatif cara:

  1. Melayangkan permintaan instalasi package ke admin melalui email support@efisonlt.com; atau
  2. Melakukan instalasi mandiri di Login Node dengan langkah berikut:
Langkah instalasi mandiri Library Package R di Login Node
1
Masuk ke terminal melalui Login SSH atau
Pinnedapps terminal.png
Kegiatan ini tidak mengurangi Core Hour user.
2
Aktifkan R dengan memuat modul versi R yang akan digunakan:

$ module load [nama-modul-R]

  • Lihat subbab Modul R di atas.
3
Jalankan R dan lakukan instalasi package dengan format perintah standar:
$ R 
> install.packages('nama-package-yang-akan-diinstal')

Package akan terinstal di direktori HOME user.

Bagi user yang pertama kali melakukan instalasi package R:
Akan ada prompt untuk mengarahkan instalasi ke personal library, jawab yes.
Warning in install.packages("benchmarkme") :
  'lib = "/comp/R/4.1.2-GCC10-MKL/lib64/R/library"' is not writable
Would you like to use a personal library instead? (yes/No/cancel) yes

Kemudian R akan meminta izin untuk membuat personal library di HOME user. Jawab yes.

Would you like to create a personal library
‘~/R/x86_64-pc-linux-gnu-library/4.1’
to install packages into? (yes/No/cancel) yes

Metode Menjalankan Komputasi

User dapat memilih metode menjalankan komputasi sesuai keinginan:

  • Job submission terminal
    • Berjalan di compute node melalui manajemen Slurm.
    • Hanya untuk file R, file ipynb harus diubah ke R.
  • Job submission web EFIRO
    • Berjalan di compute node melalui manajemen Slurm via web EFIRO.
    • Hanya untuk file R, file ipynb harus diubah ke R.
  • Interactive job Jupyter

Job Submission Terminal

Langkah Job Submission Terminal

Sbatch Terminal.png

1
Login SSH ke ALELEON Supercomputer.
2
Siapkan file komputasi dan instalasi package R yang dibutuhkan.
3A
Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi.
  • Nama file bebas dengan format .sh, contoh submit.sh
Contoh template Submit Script, ikuti petunjuk NOTES didalamnya.
  • Klik expand / kembangkan
Template R
#!/bin/bash

# -----------------------------------------------------
# Template SLURM Submit Script
# R | rev.080124
# 
# 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 

# Nama input file R yang dijalankan
INPUT_FILE="////.R"

# Memuat modul software R
# Daftar modul lihat subbab "Modul R" di atas 
module load R////

# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------

# Perintah menjakankan R
Rscript ${INPUT_FILE}
Template R versi MPI (RMPI)
#!/bin/bash

# -----------------------------------------------------
# Template SLURM Submit Script
# R versi MPI (RMPI) | rev.080124
# 
# 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 

# Nama input file R yang dijalankan
INPUT_FILE="////.R"

# Memuat modul software R
# Daftar modul lihat subbab "Modul R" di atas 
module load R////

# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------

# Memuat modul OpenMPI default
module load OpenMPI

# Perintah menjakankan R
mpirun -np ${SLURM_NTASKS} Rscript ${INPUT_FILE}
3B
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
  • Sisa Core Hour user dan Fair Usage Limit.
  • Spesifikasi sistem dan software komputasi.

Untuk melihat limit, jalankan perintah berikut:

$ slimit-r
4
Jalankan job komputasi dengan perintah:
$ sbatch [nama-submit-script]

Contoh:
$ sbatch submit.sh 
5
User dapat melihat status jalannya job dengan perintah:

$ squeue -ul $USER

Kolom ST atau STATE menunjukkan status jalannya job.
STATE Penjelasan
R (RUN) Job berjalan
PD (PENDING) Job tertahan, lihat 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
Tips
Apabila program R gagal selesai karena package R yang belum terinstal:
  • File output SBATCH error merekap package R yang belum terinstal.
  • Berdasarkan info tersebut, lakukan instalasi package R.

Job Submission Web EFIRO

Langkah Job Submission Web EFIRO

Efirojobcomposer3.png

1
Login ke web EFIRO ALELEON Supercomputer.
2
New Pinnedapps jc.pngBuka pinned apps Job Composer di homepage EFIRO.

Pilih menu New Job -> From Template

Jcnewjobmarked.png

3
Pilih template R yang diinginkan:
Nama Template Penjelasan
R 4.3.0 "Already Tomorrow" Menjalankan R versi 4.3.0
RMPI 4.3.0 "Already Tomorrow" Menjalankan R versi 4.3.0 dengan MPI
Kemudian Isi Job Name dan klik Create New Job

Jctemplate-2.png

4
Siapkan file komputasi dan instalasi package R yang dibutuhkan.
  • Upload / download / edit file via menu Edit Files
  • Instalasi package R di terminal melalui menu Open Terminal.

JC job menu.png

5A
Lengkapi Submit Script melalui tombol Open Editor:
  • Submit script adalah 'formulir' untuk menjalankan job komputasi.
    • Ikuti petunjuk NOTES didalamnya.
  • Klik Save setiap kali mengubah script.

5B
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
  • Sisa Core Hour user dan Fair Usage Limit.
  • Spesifikasi sistem dan software komputasi.

Untuk melihat limit, jalankan perintah berikut pada terminal:

$ slimit-r
6
Jalankan job dengan klik tombol Submit.
  • Pantau kolom status yang menjelaskan status jalannya job.
  • Apabila ingin membatalkan job yang berjalan, klik Stop.

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 karena error atau di stop user.
Untuk melihat alasan job yang queue:
Buka pinned 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 Reason NODELIST ALELEON Supercomputer.
7
Lihat output file komputasi pada kolom Folder Contents
  • Atau dengan membuka Edit Files
Kolom Folder Contents.
8
Untuk menghapus ruang job dan datanya:
  • Pilih ruang job yang akan dihapus.
  • Klik menu Delete

JC delete menu.png

Tips
Apabila program R gagal selesai karena package R yang belum terinstal:
  • File output SBATCH error merekap package R yang belum terinstal.
  • Berdasarkan info tersebut, lakukan instalasi package R.

Interactive Job Jupyter

Langkah Interactive Job Sesi Jupyter

Efirojupyterlab.png

0
Install package IRKernel apabila pertama kali menggunakan Jupyter untuk R
Langkah instalasi package IRkernel R
1
Masuk ke terminal melalui Login SSH atau
Pinnedapps terminal.png
Kegiatan ini tidak mengurangi Core Hour user.
2
Aktifkan R dengan memuat modul versi R yang akan digunakan:

$ module load [nama-modul-R]

  • Lihat subbab Modul R di atas.
3
Aktifkan modul Anaconda terbaru:

$ module load Anaconda3

4
Jalankan R dan lakukan instalasi package dengan format perintah standar:
$ R 
> install.packages('IRkernel')
> IRkernel::installspec()
> q() 
5
Buat file R profile di direktori HOME user:
$ cd
$ touch ~/.Rprofile
$ echo "options(bitmapType='cairo')" >> ~/.Rprofile
1
Login ke web EFIRO ALELEON Supercomputer.
2
New Pinnedapps jupyter.png Buka pinned apps Jupyter di homepage EFIRO.
3
Isi formulir untuk memulai sesi Jupyter dengan panduan berikut:
  • Choose Jupyter version
    • pilih sesuai preferensi user, Jupyter Lab atau Notebook
  • Partition -> Torti
Alokasi komputasi torti
Number of CPU core(s) 1 - 32
Amount of memory/RAM 1 - 64
Number of GPUs -
Number of hours 1 - 72
Pada akun perseorangan, sesi Jupyter tidak akan berjalan apabila:
  • Alokasi CPU * hours > sisa CPU Core Hour
  • Alokasi GPU * hours > sisa GPU HourCek sisa Core Hour dengan:
  1. Buka menu Clusters -> ALELEON Shell Access
  2. Jalankan perintah
$ sausage
  • Choose how to launch Jupyter -> Anaconda
  • Choose Anaconda version -> Pilih versi terbaru
  • Conda environment directory -> Kosongkan
  • Software modules -> Masukkan nama modul R yang digunakan
  • Environment setup -> Kosongkan
  • Additional Jupyter arguments -> Kosongkan
  • Email address
    • Notifikasi email untuk status mulai dan selesainya sesi Jupyter.
    • Isi apabila berkenan.
4
Klik tombol Launch untuk memulai sesi Jupyter.
  • User akan diarahkan ke halaman My Interactive Sessions.
  • Tunggu hingga sesi Jupyter siap diakses.
Status sesi Jupyter mengantri menunggu alokasi hardware
5
Apabila status Running, klik tombol Connect to Jupyter.
  • Sistem mulai menghitung Core Hour!
Sesi Jupyter siap diakses.
Untuk menghentikan sesi, klik tombol Cancel.
6
Pilih Notebook R untuk memulai sesi notebook R.
Gunakan Notebook R untuk menjalankan kernel R di Jupyter Notebook
Gunakan Notebook R untuk menjalankan kernel R di Jupyter Lab
7
User dapat mengunjungi sesi Jupyter yang sedang berjalan pada:
  • Menu My Interactive Sessions pada homepage EFIRO.
  • Kolom Active interactive sessions pada homepage EFIRO.

Pelaporan Kendala dan Support

Apabila menjumpai masalah teknis dalam menjalankan komputasi R, silahkan lapor dengan klik gambar berikut ini.

Wiki-pelaporankendala.jpg

---

Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email:

support@efisonlt.com

Kontributor

EFISON mengucapkan terima kasih kepada para kontributor untuk pengujian R di ALELEON Supercomputer yang kemudian menjadi dasar penulisan tutorial di halaman ini: