R: Perbedaan antara revisi

Dari ALELEON by EFISON
(→‎SLURM sbatch via Terminal: fix typo di script RMPI)
(→‎Alternatif Menjalankan R di ALELEON Supercomputer: memberi link ada judul menjalankan R)
Baris 40: Baris 40:
{| class="wikitable"
{| class="wikitable"
|-
|-
|'''Menjalankan R melalui Job Submission'''  
|'''[https://wiki.efisonlt.com/wiki/R#Menjalankan_R_Melalui_Job_Submission Menjalankan R melalui Job Submission]'''  
* Menjalankan file R siap jalan melalui scheduler dan script dengan skema [[Menggunakan ALELEON Supercomputer via EFIRO#3A%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20Job%20Composer|'''EFIRO Job Composer''']] (tampilan GUI via EFIRO) atau [[Menggunakan ALELEON Supercomputer via Terminal#3%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20SLURM|'''SLURM sbatch via Terminal''']].
* Menjalankan file R siap jalan melalui scheduler dan script dengan skema [[Menggunakan ALELEON Supercomputer via EFIRO#3A%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20Job%20Composer|'''EFIRO Job Composer''']] (tampilan GUI via EFIRO) atau [[Menggunakan ALELEON Supercomputer via Terminal#3%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20SLURM|'''SLURM sbatch via Terminal''']].
* Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Compute_Node_CPU_(Partisi_epyc) '''Compute Node CPU Partisi epyc'''].
* Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Compute_Node_CPU_(Partisi_epyc) '''Compute Node CPU Partisi epyc'''].
|-
|-
|'''Menjalankan R dengan sesi interaktif Jupyter'''
|'''[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.
* Menjalankan R melalui sesi interaktif via Jupyter Notebook atau Lab.
* Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Interactive_Node_CPU_(Partisi_torti) '''Interactive Node Partisi Torti'''].
* Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Interactive_Node_CPU_(Partisi_torti) '''Interactive Node Partisi Torti'''].

Revisi per 12 Mei 2023 11.36

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:

Modul R
Versi Nama modul Modul

DEFAULT

Dukungan hardware
CPU GPU OMP

Threading

MPI

multi-node

4.1.0 "Camp Pontanezen" R/4.1.0-GCC10-MKL - V - - V melalui RMPI
4.1.2 "Bird Hippie" R/4.1.2-GCC10-MKL V V - -

Alternatif Menjalankan R di ALELEON Supercomputer

ALELEON Supercomputer menawarkan user untuk menjalankan R dengan skema job submission melalui scheduler atau interaktif melalui sesi Jupyter Notebook / Lab dengan detail penjelasan berikut:

Menjalankan R melalui Job Submission
Menjalankan R dengan sesi interaktif Jupyter

Instalasi Library Package R

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

  1. Melayangkan permintaan instalasi package ke admin melalui email support@efisonlt.com; atau
  2. Melakukan instalasi mandiri dengan langkah berikut:
Panduan instalasi mandiri Package R
0A Instalasi package dilakukan melalui terminal.
0B Bagi user EFIRO, buka terminal melalui dashboard EFIRO menu Clusters > Aleleon Shell Access.

Shellaccess.png

1 Aktifkan R dengan memuat modul versi R yang akan digunakan.
Versi Perintah Terminal
4.1.0 $ module load R/4.1.0-GCC10-MKL
4.1.2 $ module load R/4.1.2-GCC10-MKL

Perlu diperhatikan bahwa package R yang diinstal di versi 4.1.2 misalnya tidak dapat digunakan oleh R versi lainnya dan sebaliknya.

2 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.

X Bagi user yang pertama kali melakukan instalasi package R:

Akan terdapat peringatan bahwa user tidak dapat melakukan instalasi package R di direktori global /work (di mana benar karena hanya user root yang dapat melakukannya), 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

R akan meminta izin untuk menginstal package R di direktori HOME user dan membuat folder bernama R. 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

Menjalankan R Melalui Job Submission

User dapat menjalankan R melalui job submission dengan pilihan cara menjalankan komputasi:

EFIRO Job Composer

Menjalankan komputasi dengan tampilan grafis pada formulir job submission EFIRO Job Composer. Berikut adalah pilihan template R yang tersedia:

Template Job Composer QUANTUM ESPRESSO
Nama Template Penjelasan
R 4.1.0 "Camp Pontanezen" Menjalankan R versi 4.1.0
R 4.1.2 "Bird Hippie" Menjalankan R versi 4.1.2
RMPI 4.1.0 "Camp Pontanezen" Menjalankan R versi 4.1.0 dengan RMPI
RMPI 4.1.2 "Bird Hippie" Menjalankan R versi 4.1.2 dengan RMPI

SLURM sbatch via Terminal

Menjalankan komputasi pada terminal melalui job submission SLURM sbatch. Berikut adalah contoh referensi Submit Script untuk menjalankan R baik yang versi biasa dan RMPI. Perhatikan nama modul mengacu versi R yang akan digunakan.

Contoh SLURM Submit Script R
#!/bin/bash

# ------------------------------------------------------------------------
# | Template SLURM Submit Script
# | Software        : R
# | Versi           : tergantung input user
# | Update script  r: 12/05/2023
# |
# | NOTES: 
# | 1. Isi bagian yang ditandai 4 garing (////).
# | 2. Template ini adalah referensi - user dapat mengubah bagian yang 
# |    sekiranya perlu diubah.
# | 3. Panduan mengisi alokasi komputasi (SBATCH) menurut spesifikasi 
# |    ALELEON Supercomputer lihat: 
# |    https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer
# ------------------------------------------------------------------------

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

# Alokasi jumlah 1 compute node (R biasa hanya dapat jalan di 1 node)
#SBATCH --nodes=1

# 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
#SBATCH --output=result-%j.txt

# Definisi file untuk menampung output error log    
#SBATCH --error=error-%j.txt 

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

# Memuat modul software R, pilih nama modul pada tabel dibawah ini
module load R////

# DAFTAR MODUL R: 
# ----------------------------------------
# | Nama modul                | Versi R  |
# ----------------------------------------
# | R/4.1.0-GCC10-MKL         | 4.1.0    |
# | R/4.1.2-GCC10-MKL         | 4.1.2    |
# ----------------------------------------

# -------------------------------------------------
# RUN SCRIPT
# -------------------------------------------------

# Perintah menjakankan R
Rscript ${INPUT_FILE}
Contoh SLURM Submit Script R dengan RMPI
#!/bin/bash

# ------------------------------------------------------------------------
# | Template SLURM Submit Script
# | Software        : R dengan RMPI
# | Versi           : tergantung input user
# | Update script  r: 12/05/2023
# |
# | NOTES: 
# | 1. Isi bagian yang ditandai 4 garing (////).
# | 2. Template ini adalah referensi - user dapat mengubah bagian yang 
# |    sekiranya perlu diubah.
# | 3. Panduan mengisi alokasi komputasi (SBATCH) menurut spesifikasi 
# |    ALELEON Supercomputer lihat: 
# |    https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer
# ------------------------------------------------------------------------

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

# Alokasi jumlah compute node
#SBATCH --nodes=////

# 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
#SBATCH --output=result-%j.txt

# Definisi file untuk menampung output error log    
#SBATCH --error=error-%j.txt 

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

# Memuat modul software R, pilih nama modul pada tabel dibawah ini
module load R////

# DAFTAR MODUL R: 
# ----------------------------------------
# | Nama modul                | Versi R  |
# ----------------------------------------
# | R/4.1.0-GCC10-MKL         | 4.1.0    |
# | R/4.1.2-GCC10-MKL         | 4.1.2    |
# ----------------------------------------

# Memuat modul software Open MPI untuk menjalankan RMPI
module load openmpi

# -------------------------------------------------
# RUN SCRIPT
# -------------------------------------------------

# Perintah menjakankan R
mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx Rscript ${INPUT_FILE}

Menjalankan R dengan Sesi Interaktif Jupyter

Terdapat 2 langkah besar untuk menjalankan R melalui sesi interaktif Jupyter yaitu:

  1. Login ke EFIRO karena fitur ini hanya bisa diakses melalui EFIRO.
  2. Melakukan instalasi package IRKernel pada direktori HOME masing-masing user.
  3. Mengisi formulir sesi interaktif Jupyter Notebook atau Lab.

Instalasi Package IRKernel

Berikut adalah langkah untuk instalasi package IRKernel pada masing-masing user:

Instalasi Package IRKernel
0A Instalasi package dilakukan melalui terminal.
0B Bagi user EFIRO, buka terminal melalui dashboard EFIRO menu Clusters > Aleleon Shell Access.

Shellaccess.png

1 Aktifkan R dengan memuat modul versi R yang akan digunakan.
Versi Perintah Terminal
4.1.0 $ module load R/4.1.0-GCC10-MKL
4.1.2 $ module load R/4.1.2-GCC10-MKL

Perlu diperhatikan bahwa package R yang diinstal di versi 4.1.2 misalnya tidak dapat digunakan oleh R versi lainnya dan sebaliknya.

2 Jalankan R dan lakukan instalasi package dengan format perintah standar:
$ R 
> install.packages('IRKernel')
> q() 
3 Buat file R profile di direktori HOME user:
$ nano ~/.Rprofile

Masukkan script berikut, kemudian save and exit dengan ctrl+x diikuti input y dan enter.

options(bitmapType='cairo')

Memulai Sesi Jupyter

Berikut adalah langkah untuk memulai sesi Jupyter dan menggunakan kernel R didalamnya:

Memulai sesi Jupyter
1 Buka menu Interactive Apps kemudian user bebas memilih menggunakan Jupyter Notebook atau Lab.

Efirojupyternotebooklab.png

2 Isi formulir sesi Jupyter dengan panduan berikut:
  • Partition
    • Pilih torti
  • Number of CPU Cores** Alokasi jumlah core CPU yang akan digunakan, isi sesuai keinginan user
    • Minimal: 1
    • Maksimal: 32
  • Number of GPUs**kosongkan
  • Number of hours
    • Durasi sesi Jupyter Notebook dalam satuan jam, isi sesuai keinginan user
    • Minimal: 1
    • Maksimal: 336
  • Anaconda Selection
    • Pilih versi terbaru
  • Conda Environment Directory
    • kosongkan
  • Software Modules
    • Isi dengan versi R yang akan digunakan
Versi Nama software modules
4.1.0 R/4.1.0-GCC10-MKL
4.1.2 R/4.1.2-GCC10-MKL
  • 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 Apabila formulir sudah terisi, klik tombol Launch untuk memulai sesi Jupyter Notebook. User akan diarahkan ke halaman My Interactive Sessions. Tunggu hingga sesi Jupyter Notebook user siap diakses.
Status sesi Jupyter Notebook mengantri menunggu alokasi hardware
4 Apabila status menunjukkan Running atau kolom berwarna hijau, klik Connect to Jupyter. Perlu diperhatikan bahwa sistem mulai menghitung Kredit Core Hour saat status Jupyter menunjukkan running.
Sesi Jupyter Notebook siap diakses.
5 Pilih kernel R untuk memulai sesi notebook R.
Gunakan Notebook R untuk menjalankan R di Jupyter.

Kontributor

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