R: Perbedaan antara revisi

Dari ALELEON by EFISON
(Major overhaul dan menambahkan info RMPI)
(menambah info versi, standarisasi nama ALELEON Supercomputer)
Baris 10: Baris 10:
|-
|-
|4.0.4 "Lost Library Book"
|4.0.4 "Lost Library Book"
|R/4.0.4-GCC10-MKL
|ya, melalui [https://cran.r-project.org/web/packages/Rmpi/Rmpi.pdf '''RMPI''']
|default: CPU, parallel single-node
<nowiki>*</nowiki>parallel multi-node dengan RMPI
|-
|4.1.0 "Camp Pontanezen"
|R/4.1.0-GCC10-MKL
|ya, melalui RMPI
|default: CPU, parallel single-node
<nowiki>*</nowiki>parallel multi-node dengan RMPI
|-
|4.1.2 "Bird Hippie"
|R
|R
|ya, melalui [https://cran.r-project.org/web/packages/Rmpi/Rmpi.pdf '''RMPI''']
|ya, melalui RMPI
|default: CPU, parallel single-node
|default: CPU, parallel single-node
<nowiki>*</nowiki>parallel multi-node dengan RMPI  
<nowiki>*</nowiki>parallel multi-node dengan RMPI  
|}
|}
'''Perlu dketahui bahwa HPC Aleleon Mk.II tidak menyediakan IDE R Studio.''' Rekomendasi dari admin EFISON adalah:  
'''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.
* 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.
* R pada ALELEON Supercomputer hanya digunakan untuk menjalankan script R yang sudah siap dijalankan.


== '''Package Library R''' ==
== '''Package Library R''' ==
Baris 32: Baris 44:


=== '''Satu Node CPU''' ===
=== '''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.  
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
  #!/bin/bash
   
   
#SBATCH --nodes=1                # Contoh menggunakan 1 node
  #SBATCH --ntasks=64              # Contoh menggunakan 64 core CPU
  #SBATCH --ntasks=64              # Contoh menggunakan 64 core CPU
  #SBATCH --mem=128GB              # Contoh menggunakan RAM 128GB
  #SBATCH --mem=128GB              # Contoh menggunakan RAM 128GB
Baris 50: Baris 63:
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.
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.'''
Untuk menjalankan R versi MPI, lengkapi dengan memuat modul OpenMPI dan perintah menjalankan R dengan mpirun:
  #!/bin/bash
  #!/bin/bash
   
   
#SBATCH --nodes=1                # Contoh menggunakan 1 node
  #SBATCH --ntasks=64              # Contoh menggunakan 64 core CPU
  #SBATCH --ntasks=64              # Contoh menggunakan 64 core CPU
  #SBATCH --mem=128GB              # Contoh menggunakan RAM 128GB
  #SBATCH --mem=128GB              # Contoh menggunakan RAM 128GB
  #SBATCH --time=10:00:00          # Contoh menetapkan walltime maks 10 jam
  #SBATCH --time=10:00:00          # Contoh menetapkan walltime maks 10 jam
  #SBATCH --output=result-%j.out   # Output terminal program
  #SBATCH --output=result-%j.txt   # Output terminal program
  #SBATCH --error=result-%j.err    # Output verbose program
  #SBATCH --error=error-%j.txt      # 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
  # Memuat modul OpenMPI dan R
'''Contoh berikut untuk menjalankan NWChem pada lebih dari satu node CPU.'''
  module load openmpi R
#!/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
  # RUN COMMAND
  # mpirun wajib menggunakan flag protokol UCX
  # 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
  '''mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx Rscript''' myjob.R
User dapat melihat laman [https://wiki.efisonlt.com/wiki/Contoh_SLURM_Script#SLURM_Script_untuk_Komputasi_Paralel_MPI '''SLURM Script untuk Komputasi Paralel MPI'''] untuk memahami lebih lanjut tentang berbagai contoh SLURM script diatas,
User dapat melihat laman [https://wiki.efisonlt.com/wiki/Contoh_SLURM_Script#SLURM_Script_untuk_Komputasi_Paralel_MPI '''SLURM Script untuk Komputasi Paralel MPI'''] untuk memahami lebih lanjut tentang berbagai contoh SLURM script diatas,

Revisi per 24 Januari 2022 12.07

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,