# Usage of Elemental on JURECA

Elemental 0.87.7 is available on JURECA as a hybrid MPI and pthreads? version for Intel compilers and IntelMPI and ParaStationMPI. There is no version with GCC available because the patches for GCC do no apply to the released version of Elemental 0.87.7 but to a later "master" version.

Elemental needs mkl for computation.
This version is patched so that the usage of range=I in HermitianEig is possible with DivideAndConquer and with QR. With pmrrr it still crashes when calling HermitianEig with a range of eigenvalues smaller than the full eigenspectrum.

Compiling and linking a C++ program name.cpp calling Elemental routines looks as follows:

mpicc -std=c++11 -o name name.cpp -I$ELEMENTAL_ROOT/include -I$ELEMENTAL_ROOT/include/El \
-L$ELEMENTAL_ROOT/lib -lEl -L$MKLROOT/lib/intel64 \
-ldl -lrt

Examples: Examples can be found in several subdirectories of \$ELEMENTAL_ROOT/examples.
For some examples you have to link additional libraries, for HermitianEig.cpp you need -lpmrrr, for other examples you need -lmetis