Intel offers a series of software tools and libraries for cluster use. Uni Siegen has a license for the Intel Parallel Studio XE, which contains most of these tools and libraries. Several components of Intel Parallel Studio XE are installed on the OMNI cluster and can be used by all university members.
The documentation of Parallel Studio can be downloaded from here.
On this page, the installed components of the Intel Parallel Studio are described, those are the Intel Compiler, Intel MPI and the Intel MKL.
Intel Compiler
Intel offers compilers for C, C++ and Fortran. More information can be found on our C and C++ page and our Fortran page.
Intel MPI
The Intel MPI library is an implementation of the Message Passing Interface (MPI) included in Parallel Studio. MPI is a standard for exchanging messages between processes running on distributed systems. Unlike OpenMP, MPI can therefore serve processes running on multiple nodes.
Intel MPI is available on the cluster as a module called impi
. This module contains versions that are compiled with GCC and the Intel Compiler. You can exchange the loaded compiler module (gnu9
and intel
) and the correct version will be used, you do not even have to reload the impi
module.
MKL
The Intel MKL (Math Kernel Library) is a software library for numerical computations. It offers optimized algorithms for Intel CPUs and GPUs, but it also works on AMD CPUs like those in the OMNI cluster.
Its main components are a BLAS (Basic Linear Algebra Subprograms) implementation, a LAPACK (Linear Algebra Package) implementation, solver for sparse linear equation systems, fast Fourier transforms, statistics and vector mathematics. Vector functions are implemented for both single and double precision data types, both floating point and complex numbers. Note that the MKL is not the only BLAS/LAPACK implementation available on the cluster.
The statistics algorithms include for example random number generators and probability distributions as well as various spline interpolation functions. Neural network algorithms are also included.
The Intel MKL supports C, C++, DPC++ and Fortran, however it is also compatible with Java, C#, Python and other languages.
The MKL is only available in a version compiled with the Intel Compiler, therefore the intel
module needs to be loaded. The MKL installation directory is available in the form of the MKLROOT
environment variable. We recommend to use the following compile flags without explicitly specifying library or include paths.
-liomp5 -lpthread -ldl -lm -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core