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 u 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
Intel
U tablici su navedene dostupne verzije Intel prevodilaca i pripadni moduli. Preporuča se korištenje najnovije verzije - Intel 2019.
Verzija | Modul |
---|---|
Intel 2019 | intel/2019 |
Intel 2018 | intel/2018 |
Intel 2017 | intel/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.
MPI
U tablici su navedene dostupne verzije knjižnica MPI i pripadni moduli. Preporuča se korištenje verzija pripremljenih s Intel prevodiocima.
Verzija | Prevodilac | Modul |
---|---|---|
MVAPICH2 2.0 | GNU 4.8.5 | mpi/mvapich2-2.0-x86_64 mpi/mvapich2-x86_64 |
MVAPICH2 2.2 | GNU 4.8.5 | mpi/mvapich2-2.2-x86_64 |
MVAPICH2 2.0 | Intel 2019 | mpi/mvapich2-intel-2.0-x86_64 mpi/mvapich2-intel-x86_64 |
MVAPICH2 2.2 | Intel 2019 | mpi/mvapich2-intel-2.2-x86_64 |
OpenMPI 1.10 | GNU 4.8.5 | mpi/openmpi-x86_64 |
OpenMPI 3.0 | GNU 4.8.5 | mpi/openmpi3-x86_64 |
OpenMPI 1.10 | Intel 2019 | mpi/openmpi-intel-x86_64 |
OpenMPI 2.1 | Intel 2017 | openmpi21-intel-x86_64 |
OpenMPI 3.0 | Intel 2019 | mpi/openmpi3-intel-x86_64 |
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