R: Perbedaan antara revisi

Dari ALELEON by EFISON
(paraphrasing)
(reformat)
Baris 40: Baris 40:


=='''Menjalankan R di Job Composer'''==
=='''Menjalankan R di Job Composer'''==
*Buka menu Jobs > Jobs Composer:
{| class="wikitable"
[[Berkas:Efirojobcomposermenu.png|nirbing|350x350px|al=|pra=https://wiki.efisonlt.com/wiki/Berkas:Efirojobcomposermenu.png]]
|'''1'''
*Pilih '''New Jobs > From Template'''
|Buka menu dashboard EFIRO '''<code>Jobs</code> > <code>Jobs Composer</code>'''
[[Berkas:Efirojobcomposermenu.png|nirbing|300x300px|al=|pra=https://wiki.efisonlt.com/wiki/Berkas:Efirojobcomposermenu.png]]
|-
|'''2'''
|Pilih '''<code>New Jobs</code> > <code>From Template</code>'''
[[Berkas:Jcnewjobmarked.png|al=|nirbing|180x180px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcnewjobmarked.png]]
[[Berkas:Jcnewjobmarked.png|al=|nirbing|180x180px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcnewjobmarked.png]]
 
|-
*Pilih template R yang dibutuhkan. isi '''Job Name''' sesuai keinginan user kemudian klik '''Create New Job'''.
|'''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>.|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcselecttemplate3.png]]
{| class="wikitable"
{| class="wikitable"
|+Template R yang tersedia
|+Template R
!Nama Template
!Nama Template
!Penjelasan
!Penjelasan
|-
|-
|R 4.1.0 "Camp Pontanezen"
|R 4.1.0 "Camp Pontanezen"
|Template standar R 4.1.0
|Menjalankan R versi 4.1.0
|-
|-
|R 4.1.2 "Bird Hippie"
|R 4.1.2 "Bird Hippie"
|Template standar R 4.1.2
|Menjalankan R versi 4.1.2
|-
|-
|RMPI 4.1.0
|RMPI 4.1.0  
|Template R 4.1.0 versi MPI
|Menjalankan R 4.1.0 versi MPI
|-
|-
|RMPI 4.1.2
|RMPI 4.1.2
|Template R 4.1.2 versi MPI
|Menjalankan R 4.1.2 versi MPI
|}
|}
[[Berkas:Jcselecttemplate3.png|al=|nir|jmpl|Memilih template, mengisi Job Name, dan  klik Create New Job|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcselecttemplate3.png]]
|-
=='''Mempersiapkan File untuk Menjalankan Job'''==
| rowspan="2" |'''4'''
|
==='''Mempersiapkan File untuk Menjalankan Job'''===
[[Berkas:Jcjoboption3.png|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcjoboption3.png]]
[[Berkas:Jcjoboption3.png|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcjoboption3.png]]
*Gunakan menu '''Edit Files''' untuk upload file yang dibutuhkan untuk menjalankan job R user'''.'''
* Gunakan menu '''<code>Edit Files</code>''' untuk upload file yang dibutuhkan'''.'''
**Laman Edit Files juga dapat melakukan view / download / edit / rename / delete file.
**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.
*Taruh file pada direktori yang sama dengan file '''slurm...sh.'''
== '''Instalasi Library Package R''' ==
[[Berkas:Jcjoboption4.png|nirbing|600x600px]]
* User dapat melakukan instalasi mandiri package library R melalui terminal ALELEON Supercomputer via menu '''Open Terminal''' di Job Composer atau '''Clusters > Aleleon Shell Access''' di Dashboard EFIRO.
* Aktifkan R dengan memuat modul versi R yang akan digunakan.
$ module load '''versi-R-yang-dipakai-user'''
{| class="wikitable"
|+Daftar module R
!Versi
!Perintah module
|-
|-
|4.1.0
|''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.''
|module load R/4.1.0-GCC10-MKL
|-
|'''5'''
|
=== Mempersiapkan Instalasi Library R ===
Lihat bagian Instalasi Library Package R  
|-
|-
|4.1.2
|'''6A'''
|module load R
|
|}
==='''Melengkapi Submit Script Template'''===
[[Berkas:Jceditor3.png|al=|nirbing|300x300px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jceditor3.png]]


* Jalankan R, kemudian user dapat melakukan instalasi package dengan perintah standar:
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.'''''
$ R
|-
> install.packages(''''nama-package-yang-akan-diinstal'''<nowiki/>')
| rowspan="2" |'''6B'''
 
|
* Package akan terinstal di direktori HOME user. Perlu diperhatikan bahwa package R yang diinstal di versi 4.1.2 misalnya tidak dapat digunakan oleh R versi lainnya dan sebaliknya.
==='''Panduan lengkap mengisi Submit Script:'''===
 
---
 
=== Instalasi Package R pertama kali ===
 
* 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'''
---
 
=== Bantuan admin EFISON untuk instalasi Package R ===
 
* Perlu diketahui bahwa terdapat Package R yang cukup sulit diinstal dari membutuhkan ''depedencies'' package R lain hingga library global.
* Apabila terdapat kesulitan instalasi package R, hubungi admin EFISON via permohonan email ke '''support@efisonlt.com'''.
 
=='''Melengkapi Submit Script Template'''==
[[Berkas:Jceditor3.png|al=|nirbing|500x500px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jceditor3.png]]
*Melalui menu '''Open Editor''', user perlu melengkapi Submit Script supaya job R dapat berjalan:
** Parameter SBATCH Partisi epyc / Compute Node CPU.
**Nama file script R.
*Jangan lupa Save setiap sekali mengubah script.
[[Berkas:Save.png|nirbing|450x450px|pra=https://wiki.efisonlt.com/wiki/Berkas:Save.png]]
 
=== Panduan lengkap mengisi Submit Script ===
[[Berkas:Wiki-14edit.jpg|al=SLURM Script ALELEON Supercomputer|1000x1000px |link=Submit Script ALELEON Supercomputer ]]
[[Berkas:Wiki-14edit.jpg|al=SLURM Script ALELEON Supercomputer|1000x1000px |link=Submit Script ALELEON Supercomputer ]]
=='''Fitur MPI pada RMPI'''==
RMPI (R dengan ekstensi MPI) menggunakan MPI (Message Passing Interface) sehingga memberi kebebasan user untuk:
{| class="wikitable"
![[MPI 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''']
*[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)
**User dapat menjalankan RMPI hanya dengan 1 node (maksimal 128 core thread CPU)
**Atau menggunakan '''multi-node''' alias '''lebih dari 128 core thread CPU'''.
**Atau menggunakan '''multi-node''' alias '''lebih dari 128 core thread CPU'''.
|}
|-
=='''Menjalankan Job'''==
| rowspan="3" |'''7'''
Apabila file untuk menjalankan program dan Submit Script sudah siap, jalankan job dengan menekan tombol '''Submit'''.
|
==='''Menjalankan Job'''===
Jalankan job dengan klik tombol '''<code>Submit</code>'''.


[[Berkas:Jcsubmit2.png|al=|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcsubmit2.png]]
[[Berkas:Jcsubmit2.png|al=|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcsubmit2.png]]
*Perhatikan status jalannya job pada kolom '''Status.'''
|-
|Berikut penjelasan kolom '''<code>Status</code>,''' pantau dengan refresh halaman job''':'''
{| class="wikitable"
{| class="wikitable"
!Status
!Status
!Arti
! Arti
|-
|-
|Not Submitted
|Not Submitted
|Job belum pernah dijalankan.
| Job belum pernah dijalankan.
|-
|-
|Running
|Running
| Job berjalan.
|Job berjalan.
|-
|-
|Queue
|Queue
Baris 158: Baris 127:
|-
|-
|Completed
|Completed
|Job selesai berjalan.
| Job selesai berjalan.
|-
|-
|Failed
|Failed
Baris 164: Baris 133:
Bisa karena di Stop atau Delete oleh user.
Bisa karena di Stop atau Delete oleh user.
|}
|}
*User dapat memantau perubahan kolom Status dengan me-refresh halaman Job.
|-
*Apabila user ingin menghentikan job yang sedang berjalan, klik tombol '''Stop''' yang berada di sebelah tombol Submit.
|
=='''Melihat hasil job yang selesai'''==
===Stop atau Cancel Job===
Apabila job sudah selesai (status Completed), user dapat melihat hasil output job melalui bagian '''Folder Contents''' atau membuka halaman '''Edit Pages.'''[[Berkas:Jcfoldercontentsedit.png|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|'''Kolom Folder Contents melihat isi direktori job. User dapat melihat semua file output yang keluar di kolom ini.''']][[Berkas:Jcjoboption3.png|nir|jmpl|'''atau dengan membuka menu Edit Files. Melalui halaman ini user juga dapat melakukan revisi file input misalnya apabila hasil output tidak sesuai yang diharapkan.'''|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcjoboption3.png]]
Untuk menghentikan job yang tengah berjalan, klik tombol '''Stop'''.
 
[[Berkas:Stop.png|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Stop.png]]
|-
|'''8A'''
|
==='''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|pra=https://wiki.efisonlt.com/wiki/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>'''.|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcjoboption3.png]]
|-
|'''8B'''
|
==='''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'''
|Buka terminal melalui dashboard EFIRO menu Clusters > Aleleon Shell Access.
[[Berkas:Shellaccess.png|nirbing|200x200px|pra=https://wiki.efisonlt.com/wiki/Berkas:Shellaccess.png]]
|-
|'''2'''
|Aktifkan R dengan memuat modul versi R yang akan digunakan.
{| class="wikitable"
!Versi
!Perintah Terminal
|-
|4.1.0
|<code>$ module load R/4.1.0-GCC10-MKL</code>
|-
|4.1.2
|<code>$ module load R</code>
|}
|-
|'''3'''
|Jalankan R dan lakukan instalasi package dengan format perintah standar:
$ R
> install.packages(''''''nama-package-yang-akan-diinstal'''''<nowiki/>')
Package akan terinstal di direktori HOME user. '''Perlu diperhatikan bahwa package R yang diinstal di versi 4.1.2 misalnya tidak dapat digunakan oleh R versi lainnya dan sebaliknya'''.
|}
 
=== Melakukan Instalasi Package R pertama kali ===
 
* 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'''
 
=== Bantuan admin EFISON untuk instalasi Package R ===
 
* Perlu diketahui bahwa terdapat Package R yang cukup sulit diinstal dari membutuhkan ''depedencies'' package R lain hingga library global.
* Apabila terdapat kesulitan instalasi package R, hubungi admin EFISON via permohonan email ke '''support@efisonlt.com'''.


== '''Job yang tidak berjalan karena ''missing Package''''' ==
== '''Job yang tidak berjalan karena ''missing Package''''' ==
Baris 175: Baris 203:
* Dari pesan tersebut, user dapat melakukan instalasi package dan submit ulang job.
* 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 script / dataset, penambahan missing package, atau Submit Script) dengan mengklik kembali tombol Submit.
== '''Kontributor''' ==
== '''Kontributor''' ==
EFISON mengucapkan terima kasih kepada para kontributor untuk pengujian R di ALELEON Supercomputer yang kemudian menjadi dasar penulisan tutorial di halaman ini:  
EFISON mengucapkan terima kasih kepada para kontributor untuk pengujian R di ALELEON Supercomputer yang kemudian menjadi dasar penulisan tutorial di halaman ini:  


* Tim [https://sadasa.id/ '''Sadasa Academy'''].
* Tim [https://sadasa.id/ '''Sadasa Academy'''].

Revisi per 25 Maret 2022 12.26

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.

Versi yang Tersedia

Versi Dukungan MPI Dukungan Hardware
4.1.0 "Camp Pontanezen" ya, melalui RMPI default: CPU, single-node

*multi-node dengan RMPI

4.1.2 "Bird Hippie"

R di Job Composer vs Interactive Apps

ALELEON Supercomputer dapat menjalankan komputasi R via Job Composer atau Interactive Apps Jupyter Notebook.

Menjalankan R di Job Composer VS Interactive Apps Jupyter Notebook
Melalui Job Composer:
  • Untuk file R siap jalan.
  • Berjalan di Compute Node dengan alokasi hardware besar.
Melalui interaktif Jupyter Notebook:
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:

R menggunakan Jupyter Notebook

Menjalankan R di Job Composer

1 Buka menu dashboard EFIRO Jobs > Jobs Composer

2 Pilih New Jobs > From Template

3

Memilih Template R

Pilih template R yang dibutuhkan. Isi atau ganti Job Name sesuai keinginan user, kemudian klik Create New Job.
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
4

Mempersiapkan File untuk Menjalankan Job

Jcjoboption3.png

  • Gunakan menu Edit Files 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 aplikasi FTP apabila user hendak mengupload file tunggal diatas 2GB.
5

Mempersiapkan Instalasi Library R

Lihat bagian Instalasi Library Package R

6A

Melengkapi Submit Script Template

Melalui Open Editor, lengkapi Submit Script dengan mengganti bagian yang di tandai 4 garis miring (////).

  • Jangan lupa klik Save setiap sekali mengubah script.
6B

Panduan lengkap mengisi Submit Script:

SLURM Script ALELEON Supercomputer

Fitur MPI pada RMPI

RMPI menggunakan MPI (Message Passing Interface) sehingga memberi kebebasan user untuk:

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

Menjalankan Job

Jalankan job dengan klik tombol Submit.

Berikut penjelasan kolom Status, pantau dengan refresh halaman job:
Status Arti
Not Submitted Job belum pernah dijalankan.
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.

Stop.png

8A

Melihat hasil job yang selesai

Hasil output job dapat dilihat pada kolom Folder Contents atau membuka halaman Edit Pages.
User dapat melihat semua file output yang keluar di kolom Folder Contents.
atau dengan membuka menu Edit Files.
8B

Submit Ulang Job

User dapat menjalankan ulang ruang job yang sama (misalkan ketika ada koreksi file input atau Submit Script) dengan mengklik kembali tombol Submit.

Instalasi Library Package R

User dapat melakukan instalasi mandiri package library R secara mandiri.

1 Buka terminal melalui dashboard EFIRO menu Clusters > Aleleon Shell Access.

Shellaccess.png

2 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
3 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. Perlu diperhatikan bahwa package R yang diinstal di versi 4.1.2 misalnya tidak dapat digunakan oleh R versi lainnya dan sebaliknya.

Melakukan Instalasi Package R pertama kali

  • 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

Bantuan admin EFISON untuk instalasi Package R

  • Perlu diketahui bahwa terdapat Package R yang cukup sulit diinstal dari membutuhkan depedencies package R lain hingga library global.
  • Apabila terdapat kesulitan instalasi package R, hubungi admin EFISON via permohonan email ke support@efisonlt.com.

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.

Kontributor

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