R: Perbedaan antara revisi

Dari ALELEON by EFISON
(placeholder untuk rewrite)
(rewrite instalasi library R)
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'''].  
== '''Wololo w00t!''' ==
Halaman ini masih sedang dalam proses penulisan dan belum final!


== '''Modul R''' ==
== '''Modul R''' ==
Baris 37: Baris 40:


== '''Alternatif Menjalankan R di ALELEON Supercomputer''' ==
== '''Alternatif Menjalankan R di ALELEON Supercomputer''' ==
ALELEON Supercomputer menawarkan user untuk menjalankan R dengan skema '''''batch job''''' melalui job submission di scheduler atau '''''interaktif''''' melalui sesi Jupyter Notebook / Lab dengan detail penjelasan berikut:  
ALELEON Supercomputer menawarkan user untuk menjalankan R dengan skema '''job submission''' melalui scheduler atau '''''interaktif''''' melalui sesi Jupyter Notebook / Lab dengan detail penjelasan berikut:  
{| class="wikitable"
{| class="wikitable"
!Menjalankan R secara batch job VS interaktif di ALELEON Supercomputer
|-
|-
|'''Menjalankan R secara batch job:'''  
|'''Menjalankan R melalui Job Submission'''  
* Untuk menjalankan file R siap jalan melalui scheduler dengan skema [[Menggunakan ALELEON Supercomputer via EFIRO#3A%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20Job%20Composer|'''EFIRO Job Composer''']] (tampilan GUI via EFIRO) atau [[Menggunakan ALELEON Supercomputer via Terminal#3%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20SLURM|'''SLURM sbatch via Terminal''']].
* Menjalankan file R siap jalan melalui scheduler dan script dengan skema [[Menggunakan ALELEON Supercomputer via EFIRO#3A%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20Job%20Composer|'''EFIRO Job Composer''']] (tampilan GUI via EFIRO) atau [[Menggunakan ALELEON Supercomputer via Terminal#3%20-%20Menjalankan%20Komputasi%20ke%20Compute%20Node%20via%20SLURM|'''SLURM sbatch via Terminal''']].
* Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Hardware:_Compute_Node '''Compute Node'''] dengan alokasi hardware besar.
* Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Compute_Node_CPU_(Partisi_epyc) '''Compute Node CPU Partisi epyc'''].
|-
|-
|'''Melalui interaktif Jupyter Notebook:'''
|'''Menjalankan R dengan sesi interaktif Jupyter'''
* Untuk R secara interaktif via Jupyter Notebook.
* Menjalankan R melalui sesi interaktif via Jupyter Notebook atau Lab.
* Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Hardware:_Interactive_Node '''Interactive Node'''].
* Berjalan di [https://wiki.efisonlt.com/wiki/Spesifikasi_ALELEON_Supercomputer#Spesifikasi_Interactive_Node_CPU_(Partisi_torti) '''Interactive Node Partisi Torti'''].
|-
|'''Saran admin:'''
* Jalankan R di Job Composer untuk beban komputasi yang besar.
* Jalankan R di Interactive Apps untuk beban komputasi yang sesuai dengan spesifikasi Interactive Node.
|}
Halaman ini untuk menjalankan R via Job Composer. Apabila ingin menjalankan R via interaktif Jupyter Notebook, klik:
{| class="wikitable"
|
=== [[R menggunakan Jupyter Notebook]] ===
|}
|}
=='''Instalasi Library Package R'''==
Instalasi library R pada ALELEON Supercomputer dapat dilakukan dengan alternatif cara: 


=='''Menjalankan R di Job Composer'''==
# Melayangkan permintaan instalasi package ke admin melalui email '''support@efisonlt.com;''' atau
{| class="wikitable"
# Melakukan instalasi mandiri dengan langkah berikut:  
|'''1'''
|Buka menu dashboard EFIRO '''<code>Jobs</code> > <code>Jobs Composer</code>'''
[[Berkas:Efirojobcomposermenu.png|nirbing|300x300px|al=]]
|-
|'''2'''
|Pilih '''<code>New Jobs</code> > <code>From Template</code>'''
[[Berkas:Jcnewjobmarked.png|al=|nirbing|180x180px]]
|-
|'''3'''
|
==='''Memilih Template R'''===
[[Berkas:Jcselecttemplate3.png|al=|nir|jmpl|Pilih template R yang dibutuhkan. Isi atau ganti <code>'''Job Name'''</code> sesuai keinginan user, kemudian klik <code>'''Create New Job'''</code>.]]
{| class="wikitable"
|+Template R
!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
|Menjalankan R 4.1.0 versi MPI
|-
|RMPI 4.1.2
|Menjalankan R 4.1.2 versi MPI
|}
|-
| rowspan="2" |'''4'''
|
===Mempersiapkan File untuk Menjalankan Job===
[[Berkas:Jcjoboption3.png|nirbing|600x600px]]
* Gunakan menu '''<code>Edit Files</code>''' untuk upload file yang dibutuhkan'''.'''
**Laman Edit Files juga dapat melakukan view / download / edit / rename / delete file.
|-
|''Fitur upload pada laman Edit Files '''mempunyai batasan ukuran upload 2GB per file'''. Gunakan [[Upload File dengan Aplikasi FTP|'''aplikasi FTP''']] apabila user hendak mengupload file tunggal diatas 2GB.''
|-
|'''5'''
|
=== Apabila Membutuhkan Instalasi Library R ===
Lihat bagian [https://wiki.efisonlt.com/wiki/R_menggunakan_Job_Composer#Instalasi_Library_Package_R '''Instalasi Library Package R''']
|-
|'''6A'''
|
==='''Melengkapi Submit Script Template'''===
[[Berkas:Jceditor3.png|al=|nirbing|300x300px]]
 
Melalui '''<code>Open Editor</code>''', lengkapi Submit Script dengan mengganti bagian yang di tandai 4 garis miring (////).
*'''''Jangan lupa klik <code>Save</code> setiap sekali mengubah script.'''''
|-
| rowspan="2" |'''6B'''
|
==='''Panduan lengkap mengisi Submit Script:'''===
[[Berkas:Wiki-14edit.jpg|al=SLURM Script ALELEON Supercomputer|1000x1000px |link=Submit Script ALELEON Supercomputer ]]
|-
|
==='''Fitur MPI pada RMPI'''===
RMPI menggunakan MPI (Message Passing Interface) sehingga memberi kebebasan user untuk:
*[https://wiki.efisonlt.com/wiki/MPI_ALELEON_Supercomputer#MPI_Satu_Node_vs_Multi_Node '''MPI Satu Node vs Multi Node''']
**User dapat menjalankan RMPI hanya dengan 1 node (maksimal 128 core thread CPU)
**Atau menggunakan '''multi-node''' alias '''lebih dari 128 core thread CPU'''.
|-
| rowspan="3" |'''7'''
|
==='''Menjalankan Job'''===
Jalankan job dengan klik tombol '''<code>Submit</code>'''.


[[Berkas:Jcsubmit2.png|al=|nirbing|600x600px]]
|-
|Berikut penjelasan kolom '''<code>Status</code>,''' pantau dengan refresh halaman job''':'''
{| class="wikitable"
{| class="wikitable"
!Status
|+Panduan instalasi mandiri Package R
! Arti
|'''0A'''
|Instalasi package dilakukan melalui '''terminal'''.
|-
|-
|Not Submitted
|'''0B'''
| Job belum pernah dijalankan.
|Bagi user EFIRO, buka terminal melalui dashboard EFIRO menu '''Clusters > Aleleon Shell Access'''.
|-
[[Berkas:Shellaccess.png|nirbing|200x200px]]
|Running
|Job berjalan.
|-
|Queue
|Job mengantri dan belum berjalan.
|-
|Completed
| Job selesai berjalan.
|-
|Failed
|Job berhenti di tengah jalan,
Bisa karena di Stop atau Delete oleh user.
|}
|-
|
===Stop atau Cancel Job===
Untuk menghentikan job yang tengah berjalan, klik tombol '''Stop'''.
 
[[Berkas:Stop.png|nirbing|600x600px]]
|-
|'''8'''
|
==='''Melihat hasil job yang selesai'''===
Hasil output job dapat dilihat pada kolom '''<code>Folder Contents</code>''' atau membuka halaman '''<code>Edit Pages</code>.'''[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|User dapat melihat semua file output yang keluar di kolom '''<code>Folder Contents</code>'''.]][[Berkas:Jcjoboption3.png|nir|jmpl|atau dengan membuka menu '''<code>Edit Files</code>'''.]]
|-
|-
| rowspan="2" |'''9'''
|
=== '''Job yang tidak berjalan karena ''missing Package''''' ===
Terkadang job akan gagal berjalan karena ada package yang belum terinstal.
* Pesan error missing package terekap di '''file output yang didefinisikan pada SBATCH error''' di Submit Script user.
* Dari pesan tersebut, user dapat melakukan instalasi package dan submit ulang job.
|-
|
==='''Submit Ulang Job'''===
User dapat '''menjalankan ulang ruang job yang sama''' (misalkan ketika ada koreksi file input atau Submit Script) dengan '''mengklik kembali tombol <code>Submit</code>'''.
|}
== '''Instalasi Library Package R''' ==
User dapat melakukan instalasi mandiri package library R secara mandiri.
{| class="wikitable"
|'''1'''
|'''1'''
|Buka terminal melalui dashboard EFIRO menu Clusters > Aleleon Shell Access.
[[Berkas:Shellaccess.png|nirbing|200x200px]]
|-
|'''2'''
|Aktifkan R dengan memuat modul versi R yang akan digunakan.
|Aktifkan R dengan memuat modul versi R yang akan digunakan.
{| class="wikitable"
{| class="wikitable"
Baris 196: Baris 78:
|<code>$ module load R</code>
|<code>$ module load R</code>
|}
|}
'''Perlu diperhatikan bahwa package R yang diinstal di versi 4.1.2 misalnya tidak dapat digunakan oleh R versi lainnya dan sebaliknya'''.
'''''Perlu diperhatikan bahwa package R yang diinstal di versi 4.1.2 misalnya tidak dapat digunakan oleh R versi lainnya dan sebaliknya'''.''
|-
|-
|'''3'''
|'''2'''
|Jalankan R dan lakukan instalasi package dengan format perintah standar:
|Jalankan R dan lakukan instalasi package dengan format perintah standar:
  $ R  
  $ R  
  > install.packages(''''''nama-package-yang-akan-diinstal'''''<nowiki/>')
  > install.packages(''''''nama-package-yang-akan-diinstal'''''<nowiki/>')
Package akan terinstal di direktori HOME user.  
Package akan terinstal di direktori '''HOME user'''.  
|}
|-
 
|'''X'''
=== '''Melakukan Instalasi Package R pertama kali''' ===
|'''''Bagi user yang pertama kali melakukan instalasi package R:'''''  
{| class="wikitable"
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'''.
|'''3B'''
|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") :
  Warning in install.packages("benchmarkme") :
   'lib = "/comp/R/4.1.2-GCC10-MKL/lib64/R/library"' is not writable
   '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'''
  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'''.
|'''3C'''
|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
  Would you like to create a personal library
  ‘~/R/x86_64-pc-linux-gnu-library/4.1’
  ‘~/R/x86_64-pc-linux-gnu-library/4.1’
Baris 220: Baris 98:
|}
|}


=== '''Bantuan admin EFISON untuk instalasi Package R''' ===
== '''Menjalankan R Melalui Job Submission''' ==


* Perlu diketahui bahwa terdapat Package R yang cukup sulit diinstal dari membutuhkan ''depedencies'' package R lain hingga library global.
== '''Menjalankan R dengan Sesi Interaktif Jupyter''' ==
* Apabila terdapat kesulitan instalasi package R, hubungi admin EFISON via permohonan email ke '''support@efisonlt.com'''.


== '''Kontributor''' ==
== '''Kontributor''' ==

Revisi per 12 Mei 2023 09.34

R.png

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.

Wololo w00t!

Halaman ini masih sedang dalam proses penulisan dan belum final!

Modul R

Berikut adalah detail versi R yang tersedia secara global di ALELEON Supercomputer:

Modul R
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:

  1. Melayangkan permintaan instalasi package ke admin melalui email support@efisonlt.com; atau
  2. Melakukan instalasi mandiri dengan langkah berikut:
Panduan instalasi mandiri Package R
0A Instalasi package dilakukan melalui terminal.
0B Bagi user EFIRO, buka terminal melalui dashboard EFIRO menu Clusters > Aleleon Shell Access.

Shellaccess.png

1 Aktifkan R dengan memuat modul versi R yang akan digunakan.
Versi Perintah Terminal
4.1.0 $ module load R/4.1.0-GCC10-MKL
4.1.2 $ module load R

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

Menjalankan R dengan Sesi Interaktif Jupyter

Kontributor

EFISON mengucapkan terima kasih kepada para kontributor untuk pengujian R di ALELEON Supercomputer yang kemudian menjadi dasar penulisan tutorial di halaman ini: