Module Environment: Perbedaan antara revisi

Dari ALELEON by EFISON
(Mengubah deskripsi, menambah heading konten Module Env di SLURM Script)
(paraphrasing dan formatting)
 
(11 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 1: Baris 1:
Module Environment adalah set modul yang berisikan alur PATH atau LIB untuk mengaktifkan software tertentu. User dapat menggunakan software (compiler / library / framework) yang terinstal di HPC Aleleon Mk.II melalui Module Environment.
Module Environment berfungsi untuk mengaktifkan software yang dikemas melalui "paket" bernama '''modul software.'''


== 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:
{| class="wikitable"
{| class="wikitable"
!Perintah
! colspan="2" |Daftar Perintah Esensial Modul Environment di Terminal
!Penjelasan
|-
| rowspan="2" |'''1'''
|Mengaktifkan modul software:
 
'''<code>$ module load ''[nama-modul-software]''</code>'''
|-
|-
|
|User dapat memuat banyak modul sekaligus dengan:
$ module av
'''<code>$ module load ''[modul-software1] [modul-software2] ...''</code>'''
|Melihat semua module yang tersedia di HPC Aleleon Mk.II
|-
|-
|
! colspan="2" |
$ module av <keyword>
|Mencari modul melalui nama / keyword.
Contoh: mencari module yang mengandung kata 'intel'
$ module av intel
|-
|-
|
|'''2'''
$ module load <x>
|Menonaktifkan modul software:
|Memuat modul <x>. User dapat memuat banyak modul sekaligus dengan:
 
$ module load <x> <y> <z>
'''<code>$ module unload ''[nama-modul-software]''</code>'''
 
User juga dapat melepas banyak modul seperti contoh diatas.
|-
|-
|
! colspan="2" |
$ module unload <x>
|Melepas modul <x>. User juga dapat melepas banyak modul sekaligus seperti contoh diatas.
|-
|-
|
|'''3'''
$ module list
|Mencari modul software melalui nama / keyword:
|Melihat modul yang aktif pada saat itu.
 
'''<code>$ module av ''[keyword]''</code>'''
|-
|-
|
! colspan="2" |
$ module purge
|Melepas semua modul yang aktif.
|-
|-
|
|'''4'''
$ module switch <x> <y>
|Melihat daftar modul software yang aktif:
|Mengganti modul <x> menjadi <y>.
Contoh: user ingin mengganti module 'intelmpi' yang sedang aktif dengan modul 'openmpi':
$ module switch intelmpi openmpi
|}


== Daftar Module Environment ==
'''<code>$ module list</code>'''
Selain perintah module av, user dapat melihat daftar modul yang sudah dirangkum oleh admin EFISON pada laman daftar modul ini.
|-
! colspan="2" |
|-
|'''5'''
|Melepas semua modul software yang aktif:


==== Permintaan Instalasi Software ====
'''<code>$ module purge</code>'''
User dapat mengajukan permohonan ke admin EFISON apabila membutuhkan set software yang belum terinstal di HPC Aleleon Mk.II melalui email:
|-
support@efisonlt.com
! colspan="2" |
Tim admin EFISON akan melakukan instalasi software beserta pembuatan modulnya selama software tersebut dapat berjalan di HPC Aleleon Mk.II.
|-
|'''6'''
|Melihat semua module software yang tersedia:


== Contoh Penggunaan Module Environment ==
'''<code>$ module av</code>'''
Pada contoh dibawah ini, user ingin menggunakan OpenMPI dan Intel MKL.
|-
! colspan="2" |
|-
|'''7'''
|Mengganti modul software yang sedang aktif dengan modul lainnya:


* Secara default, sistem tidak memuat OpenMPI dan Intel MKL:
'''<code>$ module switch ''[modul-aktif] [modul-pengganti]''</code>'''   


[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)
[ale01@login ~]$ echo $MKLROOT
 
* User memuat modul OpenMPI dan Intel MKL (dengan nama modul 'openmpi' dan 'oneapi') dengan perintah module load:
 
[ale01@login ~]$ module load openmpi oneapi
 
* Sekarang software OpenMPI dan Intel MKL sudah aktif dan siap digunakan.
 
[ale01@login ~]$ which mpicc
/comp/intel/oneapi/mpi/2021.1.1/bin/mpicc
[ale01@login ~]$ echo $MKLROOT
/comp/intel/oneapi/mkl/latest
 
* 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 OpenMPI 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    15) oneapi/2021.1.0.2659-BaseKit
 
* 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 Submission Script ==
== '''Menggunakan Module Environment di Submit Script''' ==
User dapat memuat modul di SLURM Submission Script untuk menjalankan komputasi di Compute Node (lihat [[Scheduler SLURM Aleleon|laman Scheduler SLURM Aleleon]]). Module load pada SLURM Submission Script bertujuan supaya Compute Node dapat menjalankan software yang dibutuhkan oleh komputasi user. Berikut adalah contoh SLURM Submission Script yang mengandung perintah module load.
[https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#Memuat_Software_dengan_module_load '''Bagian dari laman Submit Script ALELEON Supercomputer'''] memuat petunjuk menggunakan module environment pada Submit Script.
#!/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 -n 16 ./hellompi

Revisi terkini sejak 4 Juni 2024 14.43

Module Environment berfungsi untuk mengaktifkan software yang dikemas melalui "paket" bernama modul software.

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:

Daftar Perintah Esensial Modul Environment di Terminal
1 Mengaktifkan modul software:

$ module load [nama-modul-software]

User dapat memuat banyak modul sekaligus dengan:

$ module load [modul-software1] [modul-software2] ...

2 Menonaktifkan modul software:

$ module unload [nama-modul-software]

User juga dapat melepas banyak modul seperti contoh diatas.

3 Mencari modul software melalui nama / keyword:

$ module av [keyword]

4 Melihat daftar modul software yang aktif:

$ module list

5 Melepas semua modul software yang aktif:

$ module purge

6 Melihat semua module software yang tersedia:

$ module av

7 Mengganti modul software yang sedang aktif dengan modul lainnya:

$ module switch [modul-aktif] [modul-pengganti]

Menggunakan Module Environment di Submit Script

Bagian dari laman Submit Script ALELEON Supercomputer memuat petunjuk menggunakan module environment pada Submit Script.