Module Environment: Perbedaan antara revisi

Dari ALELEON by EFISON
k (Melindungi "Module Environment" ([Sunting=Hanya untuk pengurus] (selamanya) [Pindahkan=Hanya untuk pengurus] (selamanya)))
(Mengubah deskripsi, menambah heading konten Module Env di SLURM Script)
Baris 1: Baris 1:
User dapat mengakses dan menggunakan software (compiler / library / framework) yang terinstal di HPC Aleleon Mk.II melalui Module Environment. Module Environment adalah set modul yang berisikan alur PATH atau LIB software tertentu.
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.


== Perintah Module Environment ==
== Perintah Module Environment ==
Baris 85: Baris 85:
  [ale01@login ~]$ module list
  [ale01@login ~]$ module list
  No modules loaded
  No modules loaded
== Module Environment di SLURM Submission 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.
#!/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 per 23 Maret 2021 04.21

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.

Perintah Module Environment

Berikut adalah daftar perintah esensial untuk menggunakan Module Environment:

Perintah Penjelasan
$ module av
Melihat semua module yang tersedia di HPC Aleleon Mk.II
$ module av <keyword>
Mencari modul melalui nama / keyword.

Contoh: mencari module yang mengandung kata 'intel'

$ module av intel
$ module load <x>
Memuat modul <x>. User dapat memuat banyak modul sekaligus dengan:
$ module load <x> <y> <z>
$ module unload <x>
Melepas modul <x>. User juga dapat melepas banyak modul sekaligus seperti contoh diatas.
$ module list
Melihat modul yang aktif pada saat itu.
$ module purge
Melepas semua modul yang aktif.
$ module switch <x> <y>
Mengganti modul <x> menjadi <y>.

Contoh: user ingin mengganti module 'intelmpi' yang sedang aktif dengan modul 'openmpi':

$ module switch intelmpi openmpi

Daftar Module Environment

Selain perintah module av, user dapat melihat daftar modul yang sudah dirangkum oleh admin EFISON pada laman daftar modul ini.

Permintaan Instalasi Software

User dapat mengajukan permohonan ke admin EFISON apabila membutuhkan set software yang belum terinstal di HPC Aleleon Mk.II melalui email:

support@efisonlt.com

Tim admin EFISON akan melakukan instalasi software beserta pembuatan modulnya selama software tersebut dapat berjalan di HPC Aleleon Mk.II.

Contoh Penggunaan Module Environment

Pada contoh dibawah ini, user ingin menggunakan OpenMPI dan Intel MKL.

  • Secara default, sistem tidak memuat OpenMPI dan Intel MKL:
[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

User dapat memuat modul di SLURM Submission Script untuk menjalankan komputasi di Compute Node (lihat 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.

#!/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