Modulefiles

Na računalnom klasteru Isabella koristi se alat Modulefiles za podršku instalacije više različitih verzija istih programa. Za svaku verziju dostupnog programa pripremljen je modul u kojem je definirano koje varijable okoline se postavljaju prilikom aktivacije modula.

Osnovna naredba za rad s Modulefiles je module. Sve izmjene nad varijablama okoline odnose se isključivo za aktivnu sesiju, odnosno za pokrenuti posao. Stoga je module potrebno aktivirati kod svakog podnošenja posla.

Popis dostupnih modula može se dobiti naredbom:

module avail

Ili popis programa za određeni alat, npr mpi:

module avail mpi

Akiviranje modula, odnosno postavljanje potrebnih varijable okoline:

module load ime_modula

Izmjena aktivne verzije modula:

module switch ime_modula nova_verzija

konkretan primjer izmjene MPI okoline:

# module load mpi/mvapich2-intel-2.2-x86_64
# which mpicc
/usr/lib64/mvapich2-intel-2.2/bin/mpicc
# module switch mpi mpi/openmpi3-intel-x86_64
# which mpicc
/usr/lib64/openmpi3-intel/bin/mpicc

Pregled svih aktivnih modula za koje je prethodno izvedena naredba load ili koji su učitani od strane drugog modula:

module list

Deaktivacija modula, odnosno uklanjanje varijabli okoline postavljenih od određenog modula:

module unload ime_modula

Deaktivacija svih modula:

module purge

Pregled akcija nad varijablama okoline koje određeni modul izvršava:

module show ime_modula

Svaki znanstveni softver koji je besplatan dostupan je akademskoj i znanstvenoj zajednici. Korisnici mogu zatražiti zahtjev za njegovu instalaciju putem kontakta isabella@srce.hr.

Prevodioci

Intel

U tablici su navedene dostupne verzije Intel prevodilaca i pripadni moduli. Preporuča se korištenje najnovije verzije - Intel 2019.

VerzijaModul
Intel 2019intel/2019
Intel 2018intel/2018
Intel 2017intel/2017

Za prevođenja pograma koriste se:

  • icc - prevodilac za C
  • ifort - prevodilac za Fortran.

Instalirane su i matematičke knjižnice Intel MKL (engl. Math Kernel Library) koje se nalaze u $MKLROOT. Upute za korištenje knjižnica: MKL Developer Guide. Parametri za prevođenje u paralelnih aplikacija u Fortranu:

export FFLAGS="-i8 -I${MKLROOT}/include/intel64/ilp64 -I${MKLROOT}/include"
export FCFLAGS=$FFLAGS
export LIBS="${MKLROOT}/lib/intel64/libmkl_blas95_ilp64.a ${MKLROOT}/lib/intel64/libmkl_lapack95_ilp64.a -L${MKLROOT}/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lpthread -lm -ldl"

Koristan link za prevođenje aplikacija s korištenjem knjižnica Intel MKL: Intel MKL link advisor.

Intel oneAPI

Dostupne verzije Intel oneAPI prevodilacaU tablici su navedene dostupne verzije Intel oneAPI prevodilaca i pripadni moduli. Preporuča se korištenje najnovije verzije - Intel 2019.

VerzijaModul
Intel oneAPI Compilers 20222022.0.2

Za prevođenja pograma koriste se:

  • icc - Intel(R) C++ Compiler Classic
  • icpc - Intel(R) C Compiler Classic
  • ifort - Intel(R) Fortran Compiler Classic
  • icx - Intel(R) oneAPI C Compiler
  • icpx - Intel(R) oneAPI C++ Compiler
  • ifx - Intel(R) Fortran Compiler
  • dpcpp - Intel(R) oneAPI DPC++ (Data Parallel C++)

Primjer:

module load oneAPI/intel-oneapi-compilers-2022.0.2
icx --version


GCC

Različite verzije GNU C i C++ prevodilaca su na klaster instalirane iz Software Collections repozitorija.

U tablici su navedene dostupne verzije GNU C i C++ prevodilaca i pripadni moduli.

VerzijaModul
GCC 7.3.1

gcc/7

GCC 8.2.1gcc/8
GCC 9.3.1gcc/9

Primjer:

GCC 8
module load gcc/8
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-8/root/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-8/root/usr --mandir=/opt/rh/devtoolset-8/root/usr/share/man --infodir=/opt/rh/devtoolset-8/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --with-default-libstdcxx-abi=gcc4-compatible --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-8.2.1-20180905/obj-x86_64-redhat-linux/isl-install --disable-libmpx --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 8.2.1 20180905 (Red Hat 8.2.1-3) (GCC)

PGI

Dostupan je i PGI Community Edition Version 19.10 prevodioc.

VerzijaModul
PGI Community Edition Version 19.10pgi/19.10

Za prevođenja pograma koriste se:

  • pgcc - prevodilac za C
  • pgc++ - prevodilac za C++
  • pgfortran - prevodilac za Fortran.

Primjer:

PGI 19.10
module load pgi/19.10
pgcc --version
pgc++ --version
pgfortran --version

NVIDIA HPC SDK

Knjižnice i prevodioci za NVIDIA GPU-ove. Više informacija možete pronaći na adresi: https://developer.nvidia.com/hpc-sdk.


VerzijaModul
NVIDIA HPC SDK20.7

nvhpc/20.7

21.5nvhpc/21.5
22.2nvhpc/22.2
NVIDIA HPC SDK bez prevodioca20.7nvhpc-byo-compiler/20.7
21.5nvhpc-byo-compiler/21.5
22.2nvhpc-byo-compiler/22.2
NVIDIA HPC SDK bez MPI20.7nvhpc-nompi/20.7
21.5nvhpc-nompi/21.5
22.2nvhpc-nompi/22.2

Za prevođenja pograma koriste se:

  • nvc - prevodilac za C
  • nvc++ - prevodilac za C++
  • nvfortran - prevodilac za Fortran.

MPI

U tablici su navedene dostupne verzije knjižnica MPI i pripadni moduli. Preporuča se korištenje verzija pripremljenih s Intel prevodiocima.

VerzijaPrevodilacModul
MVAPICH2 2.0GNU 4.8.5

mpi/mvapich2-2.0-x86_64

mpi/mvapich2-x86_64

MVAPICH2 2.2GNU 4.8.5mpi/mvapich2-2.2-x86_64
MVAPICH2 2.3GNU 4.8.5mpi/mvapich23-x86_64
MVAPICH2 2.0Intel 2017

mpi/mvapich2-intel2017-2.0-x86_64

mpi/mvapich2-intel2017-x86_64

MVAPICH2 2.2Intel 2017mpi/mvapich2-intel2017-2.2-x86_64
MVAPICH2 2.2Intel 2017, CUDA 9.0mpi/mvapich2-intel2017-cuda90-2.2-x86_64
MVAPICH2 2.0Intel 2018

mpi/mvapich2-intel2018-x86_64

mpi/mvapich2-intel2018-2.0-x86_64

MVAPICH2 2.2Intel 2018mpi/mvapich2-intel2018-2.2-x86_64
MVAPICH2 2.2Intel 2018, CUDA 10.0mpi/mvapich2-intel2018-cuda-2.2-x86_64
MVAPICH2 2.0Intel 2019

mpi/mvapich2-intel-2.0-x86_64

mpi/mvapich2-intel-x86_64

MVAPICH2 2.2Intel 2019mpi/mvapich2-intel-2.2-x86_64
MVAPICH2 2.2Intel 2019, CUDA 10.1mpi/mvapich2-intel2019-cuda101-2.2-x86_64
OpenMPI 1.10GNU 4.8.5mpi/openmpi-x86_64
OpenMPI 3.0GNU 4.8.5mpi/openmpi3-x86_64
OpenMPI 3.1GNU 4.8.5mpi/openmpi31-x86_64
OpenMPI 4.1GNU 4.8.5mpi/openmpi41-x86_64
OpenMPI 1.10Intel 2019mpi/openmpi-intel-x86_64
OpenMPI 1.10Intel 2019, CUDA 10.0mpi/openmpi-intel-cuda-x86_64
OpenMPI 2.1Intel 2017openmpi21-intel-x86_64
OpenMPI 3.0Intel 2019mpi/openmpi3-intel-x86_64
OpenMPI 3.0Intel 2019, CUDA 10.0mpi/openmpi3-intel-cuda-x86_64
OpenMPI 3.1Intel 2019mpi/openmpi31-intel-x86_64
OpenMPI 4.1Intel 2019mpi/openmpi41-intel-x86_64
OpenMPI 3.1PGI Community Edition Version 19.10mpi/openmpi31-pgi-x86_64
Intel MPI 2021.5Intel MPI 2021oneAPI/intel-oneapi-mpi-2021.5.1

MVAPICH2

Primjer pokretanja aplikacije prevedene s MVAPICH2 2.2:

module load mpi/mvapich2-intel-2.2-x86_64
mpirun_rsh -np $NSLOTS -hostfile $TMPDIR/machines -export-all applikacija

OpenMPI

Primjer pokretanja aplikacije prevedene s OpenMPI 3:

module load mpi/openmpi3-intel-x86_64
mpirun -np $NSLOTS -machinefile $TMPDIR/machines applikacija

Intel MPI

Primjer pokretanja aplikacije prevedene s Intel MPI:

module load oneAPI/intel-oneapi-mpi-2021.5.1 mpirun -np $NSLOTS -hosts applikacija


Korisničke aplikacije

Informacije o korisničkim aplikacijama koje održava Srce možete pronaći na stranicama:

  • No labels