Skip to main content

Using the Intel Math Kernel Library on Peregrine

Learn how to use the Intel Math Kernel Library (MKL) with Peregrine system software.

MKL includes a wealth of routines to accelerate technical application performance on modern multicore architectures. Core math functions in MKL include BLAS, LAPACK, ScaLAPACK, sparse solvers, fast Fourier transforms, and vector math.

With the Intel toolchain, linking against MKL is as simple as adding -mkl to the link command. This by default links in the threaded MKL routines. To limit to strictly sequential (i.e., not threaded) routines, use -mkl=sequential; to enable multi-process Scalapack routines, use -mkl=cluster.

To link MKL with the openmpi-gcc toolchain, the mkl module includes some convenience environment variables defined as the appropriate LDFLAGS setting. See the module show mkl output; the variable naming is intended to be self-explanatory. If you have needs not covered by these, you can use Intel's interactive MKL Link Advisor website to discover the appropriate linking options.