Module Environment: Perbedaan antara revisi

Dari ALELEON by EFISON
(menambah gambar bawang)
 
(6 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 1: Baris 1:
'''User dapat menggunakan software (compiler / library / framework) yang terinstal di HPC Aleleon Mk.II  dengan memuat modul software tersebut melalui Module Environment'''. Module Environment adalah set modul yang berisikan alur PATH atau LIB untuk mengaktifkan software tertentu. 
Module Environment berfungsi untuk mengaktifkan software yang dikemas melalui "paket" bernama '''modul software''' supaya dapat digunakan oleh user'''.'''
[[Berkas:Moduleenv.png|pus|nirbing|600x600px]]


== '''Perintah Module Environment''' ==
[[Berkas:Moduleenv.png|al=|nirbing|600x600px]]
Berikut adalah daftar perintah esensial untuk menggunakan Module Environment:
 
=='''Daftar Modul Software di ALELEON Supercomputer'''==
Laman [[Katalog Software ALELEON Supercomputer|'''Katalog Software ALELEON Supercomputer''']] merangkum daftar lengkap modul software yang dapat diakses oleh semua user.
 
== '''Menggunakan Module Environment di Terminal'''==
User dapat menggunakan Module Environment pada terminal untuk mengaktifkan software yang diinginkan. Berikut adalah daftar perintah esensial untuk menggunakan Module Environment di terminal:
{| class="wikitable"
{| class="wikitable"
!Perintah
! colspan="2" |Daftar Perintah Esensial Modul Environment di Terminal
!Penjelasan
|-
|-
| rowspan="2" |'''1'''
|
|
  $ '''module load''' <x>
  '''$ module load <''modul-software''>'''
|Memuat modul <x>. User dapat memuat banyak modul sekaligus dengan:
Mengaktifkan modul software yang diinginkan user.  
$ module load <x> <y> <z>
|-
|-
|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 <x>. User juga dapat melepas banyak modul sekaligus seperti contoh diatas.
Menonaktifkan modul software. User juga dapat melepas banyak modul seperti contoh diatas.
|-
|-
|'''3'''
|
|
  $ '''module list'''
  '''$ module av <''keyword''>'''
|Melihat modul yang aktif pada saat itu.
Mencari modul software melalui nama / keyword
|-
|-
|'''4'''
|
|
  $ '''module purge'''
  '''$ module list'''
|Melepas semua modul yang aktif.
Melihat modul software yang aktif pada saat itu.
|-
|-
|'''5'''
|
|
  $ '''module av'''
  '''$ module purge'''
|Melihat semua module yang tersedia di HPC Aleleon Mk.II
Melepas semua modul software yang aktif.
|-
|-
|'''6'''
|
|
  $ '''module av''' <keyword>
  '''$ module av'''
|Mencari modul melalui nama / keyword. Contoh: mencari module yang mengandung kata 'mpi'
Melihat semua module software yang tersedia di ALELEON Supercomputer.
$ module av mpi
|-
|-
|'''7'''
|
|
  $ '''module switch''' <x> <y>    
  '''$ module switch <''modul-software-aktif''> <''modul-software-pengganti''>'''   
|Mengganti modul <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.
$ module switch openmpi mpich
 
|}
|}
== '''Daftar Module Environment''' ==
Selain perintah module av, user dapat melihat daftar modul untuk semua software yang sudah dirangkum oleh admin EFISON pada laman [[Software di HPC Aleleon Mk.II|'''Software di HPC Aleleon Mk.II''']].
== '''Contoh Penggunaan Module Environment''' ==
Pada contoh dibawah ini, user ingin menggunakan Open MPI.
* Secara default, sistem tidak memuat Open MPI.
[ale01@login ~]$ 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:
[ale01@login ~]$ module load openmpi
* Sekarang software Open MPI sudah aktif dan siap digunakan.
[ale01@login ~]$ which mpicc
/comp/easybuild/software/OpenMPI/4.1.0-GCC-10.2.0/bin/mpicc
* User dapat melakukan konfirmasi dengan perintah module list untuk melihat modul apa saja yang aktif. Pada contoh ini terlihat banyak modul yang aktif karena modul openmpi memuat modul pendukung lainnya supaya Open MPI berjalan dengan baik.
[ale01@login ~]$ module list
Currently Loaded Modules:
  1) GCCcore/10.2.0                  6) XZ/5.2.5-GCCcore-10.2.0          11) UCX/1.9.0-GCCcore-10.2.0
  2) zlib/1.2.11-GCCcore-10.2.0      7) libxml2/2.9.10-GCCcore-10.2.0    12) libfabric/1.11.0-GCCcore-10.2.0
  3) binutils/2.35-GCCcore-10.2.0    8) libpciaccess/0.16-GCCcore-10.2.0  13) PMIx/3.1.5-GCCcore-10.2.0
  4) GCC/10.2.0                      9) hwloc/2.2.0-GCCcore-10.2.0        14) openmpi/4.1.0-GCC-10.2.0
  5) numactl/2.0.13-GCCcore-10.2.0  10) libevent/2.1.12-GCCcore-10.2.0   
* Untuk melepas semua modul yang aktif, gunakan perintah module purge kemudian lihat dengan module list bahwa tidak ada lagi modul yang aktif.
[ale01@login ~]$ module purge
[ale01@login ~]$ module list
No modules loaded
== '''Module Environment di SLURM Script''' ==
[[Manajemen SLURM Aleleon|'''Manajemen SLURM''']] dapat menggunakan semua perintah module environment yang ditaruh pada [[Contoh SLURM Script|'''SLURM script''']]. Module load pada SLURM Script bertujuan supaya '''Compute Node dapat menjalankan software yang dibutuhkan oleh komputasi user'''.
Berikut adalah contoh SLURM Script yang mengandung perintah module load.
#!/bin/bash
#SBATCH --ntasks=64
#SBATCH --mem=8GB
#SBATCH --time=1:00:00
#SBATCH --output=result-%j.out
#SBATCH --error=result-%j.err
# MODULE
'''module load openmpi'''
# RUN COMMAND
mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx ./hellompi

Revisi terkini sejak 25 Oktober 2023 03.10

Module Environment berfungsi untuk mengaktifkan software yang dikemas melalui "paket" bernama modul software supaya dapat digunakan oleh user.

Daftar Modul Software di ALELEON Supercomputer

Laman Katalog Software ALELEON Supercomputer merangkum daftar lengkap modul software yang dapat diakses oleh semua user.

Menggunakan Module Environment di Terminal

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

Daftar Perintah Esensial Modul 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 seperti contoh diatas.

3
$ module av <keyword>

Mencari modul software melalui nama / keyword

4
$ module list

Melihat modul software yang aktif pada saat itu.

5
$ module purge

Melepas semua modul software yang aktif.

6
$ module av

Melihat semua module software yang tersedia di ALELEON Supercomputer.

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

Mengganti modul software yang sedang aktif dengan modul software lainnya.