Module Environment: Perbedaan antara revisi

Dari ALELEON by EFISON
(initial menulis tutorial modul untuk EFIRO)
(Overhaul maintenance 01/02/2023 part 1: paraphrasing)
Baris 1: Baris 1:
Module Environment atau disebut sebagai '''modul software''' berfungsi '''untuk mengaktifkan software yang hendak digunakan oleh user di ALELEON Supercomputer'''
Module Environment berfungsi '''untuk mengaktifkan software pada ALELEON Supercomputer yang dibutuhkan oleh user''' melalui "paket" yang bernama '''modul software'''.
{| class="wikitable"
|'''Note:'''
* ''Modul software menyimpan segala PATH yang dibutuhkan untuk mengaktifkan software yang bersangkutan.''
* ''User harus mengaktifkan sendiri modul software yang dibutuhkan supaya dapat menggunakan software tersebut.''
|}
'''Di ALELEON Supercomputer, Module Environment digunakan pada:'''


* SLURM Submit Script.
*Penggunaan terminal.
*Mengisi formulir untuk menggunakan Interactive Apps Jupyter Notebook / Lab melalui EFIRO.
[[Berkas:Moduleenv.png|al=|nirbing|600x600px]]
[[Berkas:Moduleenv.png|al=|nirbing|600x600px]]


== '''Menggunakan Modul Software''' ==
=='''Daftar Modul Software di ALELEON Supercomputer'''==
Di ALELEON Supercomputer, modul software digunakan pada:  
User dapat melihat daftar lengkap modul software ALELEON Supercomputer yang terinstal secara '''global (dapat digunakan oleh semua user)''' pada:
 
* Submit Script di Job Composer
* Mengisi formulir untuk menggunakan Interactive Apps
* Penggunaan terminal


== '''Modul Software di Submit Script Job Composer''' ==
[[Berkas:Banner Katalog 1 4 2.jpg|1000x1000px |link=Katalog Software ALELEON Supercomputer |alt=Katalog Software ALELEON Supercomputer ]]
Untuk menggunakan modul software pada Submit Script, gunakan perintah:
module load '''nama-modul-software'''


* Tulis perintah tersebut sebelum menulis line perintah jalannya program.
=='''Module Environment di SLURM Submit Script'''==
Modul software pada SLURM Submit Script berfungsi supaya Compute Node dapat menjalankan software yang dibutuhkan oleh komputasi user. Masukkan line script berikut: 
'''module load <''nama-modul-software-yang-digunakan-untuk-komputasi-user''>'''
Tulis script module load tersebut sebelum menulis run script jalannya program.


== '''Menggunakan Modul Software di Terminal''' ==
== '''Module Environment di Terminal'''==
Berikut adalah daftar perintah esensial untuk menggunakan modul software di terminal
User dapat menggunakan Module Environment pada terminal untuk mengaktifkan dan mengakses software yang diinginkan. Berikut adalah daftar perintah esensial untuk menggunakan Module Environment di terminal:
{| class="wikitable"
{| class="wikitable"
!Perintah
|+Perintah esensial Module Environment di terminal
!Penjelasan
|-
|-
|
|'''1'''
  $ '''module load''' <x>
|  
|Memuat modul software <x>. User dapat memuat banyak modul sekaligus dengan:  
  '''$ module load <''modul-software''>'''
  $ module load <x> <y> <z>
Mengaktifkan modul software yang diinginkan user. User dapat memuat banyak modul sekaligus dengan:
  '''$ module load <''modul-software1''> <''modul-software2''> <''modul-software3''>'''
|-
|-
|'''2'''
|
|
  $ '''module unload''' <x>
  '''$ module unload <''modul-software''>'''
|Melepas modul software <x>. User juga dapat melepas banyak modul sekaligus seperti contoh diatas.
Menonaktifkan modul software. User juga dapat melepas banyak modul sekaligus seperti contoh diatas.
|-
|-
|'''3'''
|
|
  $ '''module list'''
  '''$ module av'''
|Melihat modul software yang aktif pada saat itu.
Melihat semua module software yang tersedia di ALELEON Supercomputer.
|-
|-
|'''4'''
|
|
  $ '''module purge'''
  '''$ module av <''keyword''>'''
|Melepas semua modul software yang aktif.
Mencari modul software melalui nama / keyword, contoh mencari module yang mengandung kata 'mpi':
<code>$ module av mpi</code>
|-
|-
|'''5'''
|
|
  $ '''module av'''
  '''$ module list'''
|Melihat semua module software yang tersedia di HPC Aleleon Mk.II
Melihat modul software yang aktif pada saat itu.
|-
|-
|'''6'''
|
|
  $ '''module av''' <keyword>
  '''$ module purge'''
|Mencari modul software melalui nama / keyword. Contoh: mencari module yang mengandung kata 'mpi'
Melepas semua modul software yang aktif.
$ module av mpi
|-
|-
|'''7'''
|
|
  $ '''module switch''' <x> <y>    
  '''$ module switch <modul-software-aktif> <modul-software-pengganti>'''   
|Mengganti modul software <x> menjadi <y>. Contoh: user ingin mengganti module 'openmpi' yang sedang aktif dengan modul 'mpich':
Mengganti modul software yang sedang aktif dengan modul software lainnya. Contoh: user ingin mengganti module 'openmpi' yang sedang aktif dengan modul 'mpich':
$ module switch openmpi mpich
|}


== '''Daftar Modul Software ALELEON Supercomputer''' ==
<code>$ module switch openmpi mpich</code>
Admin EFISON merangkum daftar lengkap modul software ALELEON Supercomputer pada laman '''[[Katalog Software ALELEON Supercomputer]]''' melalui kolom ''''nama modul'''<nowiki/>'.


== '''Menggunakan Module Environment''' ==
|}
Module Environment digunakan pada dua tempat yaitu SLURM script dan terminal.
 
=== Module Environent di SLURM Script ===
Untuk menjalankan software di Compute Node, user wajib menulis perintah memuat modul software yang digunakan pada SLURM Script. Lihat contoh dibawah ini yaitu module load pada SLURM Script untuk menjalankan software NWChem.
#!/bin/bash
#SBATCH ... bla bla bla disingkat ya ._.
# Memuat modul NWChem
# Apabila modul tidak dimuat maka Compute Node tidak bisa menjalankan NWChem
# Perhatikan bahwa penulisan module load harus sebelum perintah menjalankan NWChem
'''module load nwchem'''
# Perintah menjalankan NWChem
'''mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx nwchem''' file_input.nw
 
=== Module Environment di Terminal ===
Terdapat pekerjaan di Login Node yang membutuhkan software tertentu? User dapat menggunakan perintah Module Environment di terminal. Pada contoh dibawah ini, user membutuhkan Open MPI untuk melakukan compile program sebelum dijalankan pada Compute Node.
 
* Secara default, sistem tidak memuat Open MPI.
 
$ which mpicc
/usr/bin/which: no mpicc in (/usr/local/bin:/opt/rh/devtoolset-9/root/usr/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ale01/.local/bin:/home/ale01/bin
 
* User memuat modul Open MPI (dengan nama modul 'openmpi') dengan perintah module load:
 
$ module load openmpi
 
* Sekarang Open MPI telah aktif dan siap digunakan untuk melalukan compile program.
 
$ which mpicc
/comp/easybuild/software/OpenMPI/4.1.0-GCC-10.2.0/bin/mpicc
 
* Apabila user tidak lagi membutuhkan Open MPI maka user dapat menonaktifkan Open MPI dengan module unload.


$ module unload openmpi
== '''Module Environment di EFIRO Interactive Jupyter Notebook / Lab''' ==
Terdapat kolom Software Modules pada pengisian formulir untuk sesi interaktif Jupyter Notebook / Lab di EFIRO. Kolom software modules diisi dengan nama modul software dan disesuaikan dengan kebutuhan sesi interaktif Jupyter user.

Revisi per 1 Februari 2023 15.11

Module Environment berfungsi untuk mengaktifkan software pada ALELEON Supercomputer yang dibutuhkan oleh user melalui "paket" yang bernama modul software.

Note:
  • Modul software menyimpan segala PATH yang dibutuhkan untuk mengaktifkan software yang bersangkutan.
  • User harus mengaktifkan sendiri modul software yang dibutuhkan supaya dapat menggunakan software tersebut.

Di ALELEON Supercomputer, Module Environment digunakan pada:

  • SLURM Submit Script.
  • Penggunaan terminal.
  • Mengisi formulir untuk menggunakan Interactive Apps Jupyter Notebook / Lab melalui EFIRO.

Daftar Modul Software di ALELEON Supercomputer

User dapat melihat daftar lengkap modul software ALELEON Supercomputer yang terinstal secara global (dapat digunakan oleh semua user) pada:

Katalog Software ALELEON Supercomputer

Module Environment di SLURM Submit Script

Modul software pada SLURM Submit Script berfungsi supaya Compute Node dapat menjalankan software yang dibutuhkan oleh komputasi user. Masukkan line script berikut:

module load <nama-modul-software-yang-digunakan-untuk-komputasi-user>

Tulis script module load tersebut sebelum menulis run script jalannya program.

Module Environment di Terminal

User dapat menggunakan Module Environment pada terminal untuk mengaktifkan dan mengakses software yang diinginkan. Berikut adalah daftar perintah esensial untuk menggunakan Module Environment di terminal:

Perintah esensial Module Environment di terminal
1
$ module load <modul-software>

Mengaktifkan modul software yang diinginkan user. User dapat memuat banyak modul sekaligus dengan:

$ module load <modul-software1> <modul-software2> <modul-software3>
2
$ module unload <modul-software>

Menonaktifkan modul software. User juga dapat melepas banyak modul sekaligus seperti contoh diatas.

3
$ module av

Melihat semua module software yang tersedia di ALELEON Supercomputer.

4
$ module av <keyword>

Mencari modul software melalui nama / keyword, contoh mencari module yang mengandung kata 'mpi': $ module av mpi

5
$ module list

Melihat modul software yang aktif pada saat itu.

6
$ module purge

Melepas semua modul software yang aktif.

7
$ module switch <modul-software-aktif> <modul-software-pengganti>    

Mengganti modul software yang sedang aktif dengan modul software lainnya. Contoh: user ingin mengganti module 'openmpi' yang sedang aktif dengan modul 'mpich':

$ module switch openmpi mpich

Module Environment di EFIRO Interactive Jupyter Notebook / Lab

Terdapat kolom Software Modules pada pengisian formulir untuk sesi interaktif Jupyter Notebook / Lab di EFIRO. Kolom software modules diisi dengan nama modul software dan disesuaikan dengan kebutuhan sesi interaktif Jupyter user.