R: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) k (WilsonLisan memindahkan halaman R ke R menggunakan Job Composer: membedakan versi Job Composer dan JN) |
WilsonLisan (bicara | kontrib) (Menyesuaikan format penulisan baru, job composer vs JN, menambah bagian instalasi package R mandiri) |
||
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''']. | ||
== '''Menjalankan R di ALELEON Supercomputer''' == | |||
Terdapat dua cara untuk menjalankan R di ALELEON Supercomputer: | |||
* Melalui '''Job Composer:''' | |||
** Untuk file R siap jalan dengan beban komputasi apapun dari skala kecil hingga masif. | |||
** Berjalan di Compute Node dengan alokasi hardware komputasi besar. | |||
* Melalui '''interaktif Jupyter Notebook:''' | |||
** Untuk R secara interaktif dengan beban komputasi kecil atau pengujian script. | |||
** Penggunaan interaktif Jupyter Notebook mempunyai alokasi hardware kecil dan waktu terbatas. | |||
Halaman ini menjelaskan penggunaan R via Job Composer. Apabila ingin menggunakan R via interaktif Jupyter Notebook, klik: | |||
{| class="wikitable" | |||
| | |||
=== R menggunakan Jupyter Notebook === | |||
[[Berkas:Jupyter logo icon.png|nirbing|200x200px]] | |||
|} | |||
== '''Versi yang Tersedia''' == | == '''Versi yang Tersedia''' == | ||
Baris 9: | Baris 26: | ||
!Dukungan Hardware | !Dukungan Hardware | ||
|- | |- | ||
|4.0 | |4.1.0 "Camp Pontanezen" | ||
| rowspan=" | | rowspan="2" |ya, melalui [https://cran.r-project.org/web/packages/Rmpi/Rmpi.pdf '''RMPI'''] | ||
| rowspan=" | | rowspan="2" |default: CPU, single-node | ||
<nowiki>*</nowiki>multi-node dengan RMPI | <nowiki>*</nowiki>multi-node dengan RMPI | ||
|- | |- | ||
|4.1.2 "Bird Hippie" | |4.1.2 "Bird Hippie" | ||
|} | |} | ||
== '''Menjalankan R di Job Composer''' == | |||
== ''' | |||
User menjalankan R pada '''Job Composer''' EFIRO yang dapat dibuka melalui menu Jobs > Jobs Composer | User menjalankan R pada '''Job Composer''' EFIRO yang dapat dibuka melalui menu Jobs > Jobs Composer | ||
[[Berkas:Efirojobcomposermenu.png|nirbing|400x400px|pra=https://wiki.efisonlt.com/wiki/Berkas:Efirojobcomposermenu.png]] | [[Berkas:Efirojobcomposermenu.png|nirbing|400x400px|pra=https://wiki.efisonlt.com/wiki/Berkas:Efirojobcomposermenu.png]] | ||
== '''Memilih template R''' == | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Template R yang tersedia | |+Template R yang tersedia | ||
!Nama Template | !Nama Template | ||
!Penjelasan | !Penjelasan | ||
|- | |- | ||
|R 4.1.0 "Camp Pontanezen" | |R 4.1.0 "Camp Pontanezen" | ||
Baris 53: | Baris 49: | ||
|R 4.1.2 "Bird Hippie" | |R 4.1.2 "Bird Hippie" | ||
|Template standar R 4.1.2 | |Template standar R 4.1.2 | ||
|- | |- | ||
|RMPI 4.1.0 | |RMPI 4.1.0 | ||
Baris 62: | Baris 55: | ||
|RMPI 4.1.2 | |RMPI 4.1.2 | ||
|Template R 4.1.2 versi MPI | |Template R 4.1.2 versi MPI | ||
|}--- | |} | ||
=== | *Klik '''New Jobs > From Template.''' | ||
*Pilih template R yang dibutuhkan. | |||
*isi '''Job Name''' sesuai keinginan user kemudian klik '''Create New Job'''. | |||
[[Berkas:Jcnewjobmarked.png|al=|nirbing|200x200px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcnewjobmarked.png]] | |||
--- | |||
[[Berkas:Jcselecttemplate3.png|al=|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcselecttemplate3.png]] | |||
=='''Mempersiapkan File R dan Dataset''' == | |||
[[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]] | ||
* User dapat melakukan '''upload, editing, rename file R dan dataset yang dibutuhkan''' melalui menu '''Edit Files.''' | * User dapat melakukan '''upload, editing, rename file R dan dataset yang dibutuhkan''' melalui menu '''Edit Files.''' | ||
* Fitur upload di halaman 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. | * Fitur upload di halaman 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 input dan dataset pada direktori yang sama dengan file '''slurm-r.sh.''' | *Taruh file input dan dataset pada direktori yang sama dengan file '''slurm-r.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 pada terminal dengan module load. | |||
$ module load '''versi-R-yang-dipakai-user''' | |||
$ R | |||
{| class="wikitable" | |||
|+Daftar module R | |||
!Versi | |||
!Perintah module | |||
|- | |||
|4.1.0 | |||
|module load R/4.1.0-GCC10-MKL | |||
|- | |||
|4.1.2 | |||
|module load R | |||
|} | |||
* User dapat melakukan instalasi package dengan perintah standar: | |||
> 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. | |||
--- | |||
=== 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]] | [[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 script R dapat berjalan: | *Melalui menu '''Open Editor''', user perlu melengkapi Submit Script supaya script R dapat berjalan: | ||
** Parameter SBATCH. | ** Parameter SBATCH Partisi epyc / Compute Node CPU. | ||
**Nama file script R. | **Nama file script R. | ||
*Panduan | *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-14.jpg|1000x1000px|link=SLURM Script ALELEON Supercomputer |alt=SLURM Script ALELEON Supercomputer ]] | [[Berkas:Wiki-14.jpg|1000x1000px|link=SLURM Script ALELEON Supercomputer |alt=SLURM Script ALELEON Supercomputer ]] | ||
'''Note:''' Submit Script pada dasarnya adalah '''SLURM Script''' karena ALELEON Supercomputer menggunakan manajemen SLURM untuk menjalankan job di Compute Node. | |||
=='''Fitur MPI pada RMPI'''== | |||
== | |||
RMPI (R dengan ekstensi MPI) menggunakan MPI (Message Passing Interface) sehingga memberi kebebasan user untuk: | RMPI (R dengan ekstensi MPI) menggunakan MPI (Message Passing Interface) sehingga memberi kebebasan user untuk: | ||
{| class="wikitable" | {| class="wikitable" | ||
Baris 89: | Baris 141: | ||
**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'''== | ||
Semua file untuk menjalankan program dan Submit Script sudah siap? Jalankan job dengan menekan tombol '''Submit'''. | Semua file untuk menjalankan program dan Submit Script sudah siap? Jalankan job dengan menekan tombol '''Submit'''. | ||
Baris 103: | Baris 155: | ||
|- | |- | ||
|Running | |Running | ||
|Job berjalan. | | Job berjalan. | ||
|- | |- | ||
|Queue | |Queue | ||
Baris 111: | Baris 163: | ||
|Job selesai berjalan. | |Job selesai berjalan. | ||
|- | |- | ||
| Failed | |Failed | ||
|Job berhenti di tengah jalan, | |Job berhenti di tengah jalan, | ||
Bisa karena di Stop atau Delete oleh user. | Bisa karena di Stop atau Delete oleh user. | ||
Baris 117: | Baris 169: | ||
*User dapat memantau perubahan kolom Status dengan me-refresh halaman Job. | *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. | *Apabila user ingin menghentikan job yang sedang berjalan, klik tombol '''Stop''' yang berada di sebelah tombol Submit. | ||
=='''Melihat hasil job yang selesai'''== | |||
== | 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 dari ruang 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]] | ||
Apabila job sudah selesai (status Completed), user dapat melihat hasil output job melalui bagian '''Folder Contents''' atau membuka halaman '''Edit Pages.''' | |||
== '''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 script / dataset, penambahan missing package, atau Submit Script) dengan mengklik kembali tombol Submit. | ||
User dapat '''menjalankan ulang ruang job yang sama''' (misalkan ketika ada koreksi file | |||
== '''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 Februari 2022 10.24
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.
Menjalankan R di ALELEON Supercomputer
Terdapat dua cara untuk menjalankan R di ALELEON Supercomputer:
- Melalui Job Composer:
- Untuk file R siap jalan dengan beban komputasi apapun dari skala kecil hingga masif.
- Berjalan di Compute Node dengan alokasi hardware komputasi besar.
- Melalui interaktif Jupyter Notebook:
- Untuk R secara interaktif dengan beban komputasi kecil atau pengujian script.
- Penggunaan interaktif Jupyter Notebook mempunyai alokasi hardware kecil dan waktu terbatas.
Halaman ini menjelaskan penggunaan R via Job Composer. Apabila ingin menggunakan R via interaktif Jupyter Notebook, klik:
R menggunakan Jupyter Notebook |
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" |
Menjalankan R di Job Composer
User menjalankan R pada Job Composer EFIRO yang dapat dibuka melalui menu Jobs > Jobs Composer
Memilih template R
Nama Template | Penjelasan |
---|---|
R 4.1.0 "Camp Pontanezen" | Template standar R 4.1.0 |
R 4.1.2 "Bird Hippie" | Template standar R 4.1.2 |
RMPI 4.1.0 | Template R 4.1.0 versi MPI |
RMPI 4.1.2 | Template R 4.1.2 versi MPI |
- Klik New Jobs > From Template.
- Pilih template R yang dibutuhkan.
- isi Job Name sesuai keinginan user kemudian klik Create New Job.
---
Mempersiapkan File R dan Dataset
- User dapat melakukan upload, editing, rename file R dan dataset yang dibutuhkan melalui menu Edit Files.
- Fitur upload di halaman Edit Files mempunyai batasan ukuran upload 2GB per file. Gunakan aplikasi FTP apabila user hendak mengupload file tunggal diatas 2GB.
- Taruh file input dan dataset pada direktori yang sama dengan file slurm-r.sh.
Instalasi Library Package R
- 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 pada terminal dengan module load.
$ module load versi-R-yang-dipakai-user $ R
Versi | Perintah module |
---|---|
4.1.0 | module load R/4.1.0-GCC10-MKL |
4.1.2 | module load R |
- User dapat melakukan instalasi package dengan perintah standar:
> 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.
---
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
- Melalui menu Open Editor, user perlu melengkapi Submit Script supaya script R dapat berjalan:
- Parameter SBATCH Partisi epyc / Compute Node CPU.
- Nama file script R.
- Jangan lupa Save setiap sekali mengubah script.
---
Panduan lengkap mengisi Submit Script
Note: Submit Script pada dasarnya adalah SLURM Script karena ALELEON Supercomputer menggunakan manajemen SLURM untuk menjalankan job di Compute Node.
Fitur MPI pada RMPI
RMPI (R dengan ekstensi MPI) menggunakan MPI (Message Passing Interface) sehingga memberi kebebasan user untuk:
MPI ALELEON Supercomputer |
---|
|
Menjalankan Job
Semua file untuk menjalankan program dan Submit Script sudah siap? Jalankan job dengan menekan tombol Submit.
- Perhatikan status jalannya job pada kolom Status.
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. |
- 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
Apabila job sudah selesai (status Completed), user dapat melihat hasil output job melalui bagian Folder Contents atau membuka halaman Edit Pages.
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 script / dataset, penambahan missing package, atau Submit Script) dengan mengklik kembali tombol Submit.
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.