R: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (initial writing) |
WilsonLisan (bicara | kontrib) (Major overhaul dan menambahkan info RMPI) |
||
Baris 1: | Baris 1: | ||
== '''Deskripsi''' == | |||
R adalah software untuk menjalankan komputasi statistik dan grafis. Software R didukung oleh [https://www.r-project.org/ '''The R Foundation for Statistical Computing''']. | |||
== ''' | |||
R adalah software untuk menjalankan komputasi statistik dan grafis. Software R didukung oleh [https://www.r-project.org/ The R Foundation for Statistical Computing]. | |||
== '''Versi yang Tersedia''' == | == '''Versi yang Tersedia''' == | ||
Baris 8: | Baris 6: | ||
!Versi | !Versi | ||
!Nama Modul | !Nama Modul | ||
!Dukungan MPI | |||
!Dukungan Hardware | !Dukungan Hardware | ||
|- | |- | ||
|4.0.4 "Lost Library Book" | |4.0.4 "Lost Library Book" | ||
|R | |R | ||
|CPU, parallel single-node | |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 | |||
|} | |} | ||
User dapat melihat R | '''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 | $ module load R | ||
$ R | $ R | ||
-> installed.packages() | -> installed.packages() | ||
User dapat menghubungi admin EFISON | User dapat menghubungi admin EFISON apabila membutuhkan instalasi R versi spesifik dan R packages yang belum terinstal melalui email: | ||
'''support@efisonlt.com''' | |||
== '''SLURM | =='''Contoh SLURM Script'''== | ||
Berikut adalah contoh | User harus menggunakan [[Scheduler SLURM Aleleon|'''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 | #!/bin/bash | ||
#SBATCH --ntasks=64 | #SBATCH --ntasks=64 # Contoh menggunakan 64 core CPU | ||
#SBATCH --mem=128GB | #SBATCH --mem=128GB # Contoh menggunakan RAM 128GB | ||
#SBATCH --time=10:00:00 | #SBATCH --time=10:00:00 # Contoh menetapkan walltime maks 10 jam | ||
#SBATCH --output=result-%j.out | #SBATCH --output=result-%j.out # Output terminal program | ||
#SBATCH --error=result-%j.err | #SBATCH --error=result-%j.err # Output verbose program | ||
# | # Memuat modul R | ||
module load R | module load R | ||
# Menjalankan program R | # Menjalankan program R | ||
Rscript myjob.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 [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 13 September 2021 09.47
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,