|
|
Baris 303: |
Baris 303: |
| | | | | |
| {| class="wikitable" | | {| class="wikitable" |
| ! colspan="2" |Pilih template Ryang diinginkan | | ! colspan="2" |Pilih template R yang diinginkan |
| |- | | |- |
| !Nama Template | | !Nama Template |
Baris 319: |
Baris 319: |
| !4 | | !4 |
| |- | | |- |
| |Upload dan edit file untuk job komputasi pada '''<code>Edit Files</code>''' | | |Siapkan file komputasi dan instalasi package R yang dibutuhkan. |
| [[Berkas:Jcjoboption.png|nirbing|400x400px]] | | [[Berkas:Jcjoboption.png|nirbing|400x400px]] |
| *Untuk upload file tunggal diatas 2GB gunakan [[Upload File dengan Aplikasi FTP|'''software FTP''']]. | | *Upload file melalui menu '''<code>Edit Files</code>''' |
| *Apabila butuh akses terminal buka <code>'''Open Terminal'''</code>. | | **Untuk upload file tunggal diatas 2GB gunakan [[Upload File dengan Aplikasi FTP|'''software FTP''']]. |
| | *Instalasi package R di terminal melalui menu <code>'''Open Terminal'''</code>. |
| |- | | |- |
| !5A | | !5A |
Revisi per 30 Mei 2024 06.26
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:
- RMPI dapat dicapai dengan pemrograman R dari pihak user menggunakan wrapper Rmpi.
Langkah Menjalankan Komputasi
Terdapat 2 langkah utama:
- Memlilih modul R yang akan digunakan dan instalasi library package R apabila dibutuhkan.
- 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:
- Melayangkan permintaan instalasi package ke admin melalui email support@efisonlt.com; atau
- Melakukan instalasi mandiri di Login Node dengan langkah berikut:
Langkah instalasi mandiri Library Package R di Login Node
|
1
|
Masuk ke terminal melalui:
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
|
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 di dalamnya.
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
Daftar ST (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
|
1
|
Login ke web EFIRO ALELEON Supercomputer.
|
2
|
Buka pinned apps Job Composer di homepage EFIRO.
Pilih menu New Job -> From Template
|
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
|
4
|
Siapkan file komputasi dan instalasi package R yang dibutuhkan.
- Upload file melalui menu
Edit Files
- Instalasi package R di terminal melalui menu
Open Terminal .
|
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-python
|
6
|
Jalankan job dengan klik tombol Submit .
- Pantau kolom status yang menjelaskan status jalannya job.
- Apabila ingin membatalkan job yang berjalan, klik
Stop .
- Job completed dapat dijalankan kembali dengan
Submit .
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
|
Untuk melihat alasan queue:
- Buka app
Active Jobs di homepage EFIRO.
|
|
7
|
Lihat output file komputasi pada kolom Folder Contents
- Atau dengan membuka
Edit Files
|
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
|
0
|
Install package IRKernel apabila pertama kali menggunakan Jupyter untuk R
Langkah instalasi package IRkernel R
|
1
|
Masuk ke terminal melalui:
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
|
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 Hour
Cek sisa Core Hour dengan:
- Buka app
di homepage EFIRO
- 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.
---
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: