R

Dari ALELEON by EFISON

Revisi sejak 13 September 2021 09.47 oleh WilsonLisan (bicara | kontrib) (Major overhaul dan menambahkan info RMPI)

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 ya, melalui RMPI default: CPU, parallel single-node

*parallel multi-node dengan RMPI

Perlu dketahui bahwa HPC Aleleon Mk.II 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 HPC Aleleon Mk.II hanya digunakan untuk menjalankan script R yang 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 HPC Aleleon Mk.II telah diatur untuk dapat memanfaatkan semua core CPU dengan paralelisasi threading. Berikut adalah contoh untuk menjalankan R pada satu node CPU.

#!/bin/bash

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

Contoh berikut untuk menjalankan R pada satu node CPU.

#!/bin/bash

#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

# RUN COMMAND
# mpirun wajib menggunakan flag protokol UCX

mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx Rscript myjob.R

Contoh berikut untuk menjalankan NWChem pada lebih dari satu node CPU.

#!/bin/bash

#SBATCH --nodes=2                 # Contoh menggunakan 2 node ...
#SBATCH --ntasks-per-node=128     # dengan 128 core per node.
                                  # Maka dari itu total menggunakan 256 core CPU
#SBATCH --mem=128GB               # Contoh menggunakan RAM 128GB per node
#SBATCH --time=10:00:00           # Contoh menggunakan 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

# RUN COMMAND
# mpirun wajib menggunakan flag protokol UCX
# $SLURM_NTASKS menangkap total proses MPI (nodes * ntasks-per-node)

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,