Na klastrze może być zainstalowane kilka wersji tego samego programu. Każda wersja korzysta z innych bibliotek programistycznych, w zależności od używanego kompilatora, opcji użytych podczas kompilacji itd. Przed korzystaniem z danej wersji, wymagane moduły muszą być dostępne dla programu. Polecenie module służy do ustawienia środowiska pracy programu pod kątem tych zależności.
W celu wyświetlenia listy dostępnych modułów trzeba napisać polecenie:
abcd@ui ~ $ module avail
ABINIT/9.4.1-intel-2020b GCC/9.3.0 Libint/2.6.0-GCC-10.2.0-lmax-6-cp2k PCRE2/10.40-GCCcore-11.3.0
ABINIT/9.4.2-foss-2021a GCC/10.2.0 libjpeg-turbo/2.0.3-GCCcore-8.3.0 Perl/5.28.0-GCCcore-7.3.0
ABINIT/9.6.2-intel-2021a GCC/10.3.0 libjpeg-turbo/2.0.4-GCCcore-9.3.0 Perl/5.28.1-GCCcore-8.2.0
Możemy również podać nazwę interesującego nas modułu, by zobaczyć listę dostępnych wersji:
abcd@ui ~ $ module avail openmpi
OpenMPI/3.1.1-GCC-7.3.0-2.30 OpenMPI/4.0.3-GCC-9.3.0 OpenMPI/4.0.5-gcccuda-2020b OpenMPI/4.1.1-GCC-11.2.0
OpenMPI/3.1.3-GCC-8.2.0-2.31.1 OpenMPI/4.0.5-GCC-10.2.0 OpenMPI/4.1.1-GCC-10.3.0 OpenMPI/4.1.2-GCC-11.2.0
Do załadowania danego modułu do środowiska, wystarczy podać polecenie:
abcd@ui ~ $ module load OpenMPI/3.1.1-GCC-7.3.0-2.30
Do wyświetlanie listy aktualnie załadowanych modułów:
abcd@ui ~ $ module list
OpenMPI/3.1.1-GCC-7.3.0-2.30
Do usuwanie modułu służy polecenie:
abcd@ui ~ $ module unload OpenMPI/3.1.1-GCC-7.3.0-2.30
lub aby usunąć wszystkie moduły ze środowiska:
abcd@ui ~ $ module purge
Pełna lista dostępnych opcji, można uzyskać za pomocą man module
Skrypty sub- są tak skonfigurowane, by ładować wszystkie wymagane moduły.
w zadaniu wsadowym konieczne jest umieszczenie w skrypcie
sbatch
source /usr/local/sbin/modules.sh
aby poprawnie ładowały się moduły.
Przykładowy skrypt wstawiający do kolejki zadanie wsadowe `sbatch.sh:
#!/bin/bash
##SBATCH -t 01:00:00
#SBATCH --job-name="TEST"
#SBATCH --nodes=2
#SBATCH --tasks-per-node=2
#SBATCH --cpus-per-task=1
#SBATCH --mem-per-cpu=1GB
source /usr/local/sbin/modules.sh
module load OpenMPI/4.1.2-GCC-11.2.0