R

Dari ALELEON by EFISON

Revisi sejak 24 Januari 2022 12.07 oleh WilsonLisan (bicara | kontrib) (menambah info versi, standarisasi nama ALELEON Supercomputer)

Deskripsi

R adalah software untuk menjalankan komputasi statistik dan grafis. Software R didukung oleh The R Foundation for Statistical Computing.

Versi yang Tersedia

Versi Nama Modul Dukungan MPI Dukungan Hardware
4.0.4 "Lost Library Book" R/4.0.4-GCC10-MKL ya, melalui RMPI default: CPU, parallel single-node

*parallel multi-node dengan RMPI

4.1.0 "Camp Pontanezen" R/4.1.0-GCC10-MKL ya, melalui RMPI default: CPU, parallel single-node

*parallel multi-node dengan RMPI

4.1.2 "Bird Hippie" R ya, melalui RMPI default: CPU, parallel single-node

*parallel multi-node dengan RMPI

Perlu dketahui bahwa ALELEON Supercomputer tidak menyediakan IDE R Studio. Rekomendasi dari admin EFISON adalah:

  • Melakukan coding dan testing R pada komputer pribadi user dimana dapat menggunakan IDE R Studio.
  • R pada ALELEON Supercomputer hanya digunakan untuk menjalankan script R yang sudah siap dijalankan.

Package Library R

User dapat melihat library R yang terinstal dengan memuat modul R yang akan dipakai lalu menjalankan perintah installed.packages():

$ module load R
$ R
-> installed.packages()

User dapat menghubungi admin EFISON apabila membutuhkan instalasi R versi spesifik dan R packages yang belum terinstal melalui email:

support@efisonlt.com

Contoh SLURM Script

User harus menggunakan manajemen SLURM untuk menjalankan komputasi R di Compute Node.

Satu Node CPU

Secara standar, R berjalan dengan satu compute node. R pada ALELEON Supercomputer telah diatur untuk dapat memanfaatkan semua core CPU dengan paralelisasi threading. Berikut adalah contoh untuk menjalankan R pada satu node CPU.

#!/bin/bash

#SBATCH --nodes=1                 # Contoh menggunakan 1 node
#SBATCH --ntasks=64               # Contoh menggunakan 64 core CPU
#SBATCH --mem=128GB               # Contoh menggunakan RAM 128GB
#SBATCH --time=10:00:00           # Contoh menetapkan walltime maks 10 jam
#SBATCH --output=result-%j.out    # Output terminal program
#SBATCH --error=result-%j.err     # Output verbose program

# Memuat modul R
module load R

# Menjalankan program R
Rscript myjob.R

R dengan MPI (RMPI)

RMPI dijalankan dengan model Pure MPI (hanya MPI saja, bukan hybrid MPI/OMP). RMPI dapat dicapai dengan pemograman dari user sendiri, bukan secara otomatis package RMPI mengubah coding R biasa menjadi R MPI. User dapat menjalankan R dengan satu node atau multi node (lebih dari satu node) untuk performa lebih.

Untuk menjalankan R versi MPI, lengkapi dengan memuat modul OpenMPI dan perintah menjalankan R dengan mpirun:

#!/bin/bash

#SBATCH --nodes=1                 # Contoh menggunakan 1 node
#SBATCH --ntasks=64               # Contoh menggunakan 64 core CPU
#SBATCH --mem=128GB               # Contoh menggunakan RAM 128GB
#SBATCH --time=10:00:00           # Contoh menetapkan walltime maks 10 jam
#SBATCH --output=result-%j.txt    # Output terminal program
#SBATCH --error=error-%j.txt      # Output verbose program

# Memuat modul OpenMPI dan R
module load openmpi R

# RUN COMMAND
# mpirun wajib menggunakan flag protokol UCX
mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx Rscript myjob.R

User dapat melihat laman SLURM Script untuk Komputasi Paralel MPI untuk memahami lebih lanjut tentang berbagai contoh SLURM script diatas,