HPC/Applications/mkl

From CNM Wiki
Jump to navigation Jump to search

Vendor Documentation

Carbon specifics

  • Avoid specifying absolute library paths in your Makefile unless you wish to select a specific version. The user environment is normally correctly set up.
  • Loading the MKL module does not yet tell the linker where to find the library. The most convenient place is to modify the Makefile similar to the following:
LDFLAGS += -L$MKLROOT/lib/em64t

or, starting with 10.3.x:

LDFLAGS += -L$MKLROOT/lib/intel64
  • Link examples:
 # Sequential:
   -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread
 # OpenMP multi-threaded:
   -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
  • The FFTW interface of the MKL can be linked by prefixing the above options with one of:
-lfftw2xc_intel
-lfftw2xf_intel
-lfftw3xc_intel
-lfftw3xf_intel

Choose the appropriate version between bindings for FFTW v2 vs. v3 and C vs. Fortran.