R: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (melengkapi R jupyter) |
WilsonLisan (bicara | kontrib) (→Menjalankan R Melalui Job Submission: melengkapi section ini) |
||
Baris 2: | Baris 2: | ||
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 [https://www.r-project.org/ '''The R Foundation for Statistical Computing''']. | 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 [https://www.r-project.org/ '''The R Foundation for Statistical Computing''']. | ||
== '''Modul R''' == | == '''Modul R''' == | ||
Baris 99: | Baris 96: | ||
== '''Menjalankan R Melalui Job Submission''' == | == '''Menjalankan R Melalui Job Submission''' == | ||
User dapat menjalankan R melalui job submission dengan pilihan cara menjalankan komputasi: | |||
=== [[Menggunakan ALELEON Supercomputer via EFIRO#3A%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20Job%20Composer|EFIRO Job Composer]] === | |||
Menjalankan komputasi dengan tampilan grafis pada formulir job submission EFIRO Job Composer. Berikut adalah pilihan template R yang tersedia: | |||
{| class="wikitable" | |||
|+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 | |||
|} | |||
=== [[Menggunakan ALELEON Supercomputer via Terminal#3%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20SLURM|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. | |||
{| class="wikitable" | |||
!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: | |||
# | <nowiki>https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer</nowiki> | |||
# ------------------------------------------------------------------------ | |||
# -------------------------------------------------- | |||
# 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} | |||
|} | |||
{| class="wikitable" | |||
!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: | |||
# | <nowiki>https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer</nowiki> | |||
# ------------------------------------------------------------------------ | |||
# -------------------------------------------------- | |||
# 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 | | |||
# ---------------------------------------- | |||
# 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''' == | == '''Menjalankan R dengan Sesi Interaktif Jupyter''' == |
Revisi per 12 Mei 2023 11.25
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:
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:
- Melayangkan permintaan instalasi package ke admin melalui email support@efisonlt.com; atau
- Melakukan instalasi mandiri dengan langkah berikut:
0A | Instalasi package dilakukan melalui terminal. | ||||||
0B | Bagi user EFIRO, buka terminal melalui dashboard EFIRO menu Clusters > Aleleon Shell Access. | ||||||
1 | Aktifkan R dengan memuat modul versi R yang akan digunakan.
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:
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 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 | # ---------------------------------------- # 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:
- Login ke EFIRO karena fitur ini hanya bisa diakses melalui EFIRO.
- Melakukan instalasi package IRKernel pada direktori HOME masing-masing user.
- Mengisi formulir sesi interaktif Jupyter Notebook atau Lab.
Instalasi Package IRKernel
Berikut adalah langkah untuk instalasi package IRKernel pada masing-masing user:
0A | Instalasi package dilakukan melalui terminal. | ||||||
0B | Bagi user EFIRO, buka terminal melalui dashboard EFIRO menu Clusters > Aleleon Shell Access. | ||||||
1 | Aktifkan R dengan memuat modul versi R yang akan digunakan.
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:
1 | Buka menu Interactive Apps kemudian user bebas memilih menggunakan Jupyter Notebook atau Lab. | ||||||
2 | Isi formulir sesi Jupyter dengan panduan berikut:
| ||||||
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.
| ||||||
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.
| ||||||
5 | Pilih kernel R untuk memulai sesi notebook R. |
Kontributor
EFISON mengucapkan terima kasih kepada para kontributor untuk pengujian R di ALELEON Supercomputer yang kemudian menjadi dasar penulisan tutorial di halaman ini:
- Tim Sadasa Academy.