Developer Guide
Developer Guide for Intel® oneAPI Math Kernel Library macOS*
A newer version of this document is available. Customers should click here to go to the newest version.
Examples for Linking a C Application
- Main module is in C.
 - You are using the Intel® oneAPI DPC++/C++ CompilerIntel® C++ Compiler.
 - You are using MPICH.
 - Intel® oneAPI Math Kernel Library functions use LP64 interfaces.
 - The PATH environment variable contains a directory with the MPI linker scripts.
 - $MKLPATH is a user-defined variable containing <mkl_directory>/lib.
 
To link dynamically with ScaLAPACK for a cluster of systems based on the Intel® 64 architecture, use the following link line:
mpicc  <user files to link>                       \
    -L$MKLPATH                                    \ 
    -lmkl_scalapack_lp64                          \ 
    -lmkl_blacs_mpich_lp64                        \ 
    -lmkl_intel_lp64                              \ 
    -lmkl_intel_thread -lmkl_core                 \ 
    -liomp5 -lpthread
To link statically with Cluster FFT for a cluster of systems based on the Intel® 64 architecture, use the following link line:
mpicc  <user files to link>                \ 
    $MKLPATH/libmkl_cdft_core.a            \ 
    $MKLPATH/libmkl_blacs_mpich_lp64.a     \ 
    $MKLPATH/libmkl_intel_lp64.a           \ 
    $MKLPATH/libmkl_intel_thread.a         \ 
    $MKLPATH/libmkl_core.a                 \ 
    -liomp5 -lpthread
To link dynamically with Cluster Sparse Solver for a cluster of systems based on the Intel® 64 architecture, use the following link line:
mpicc  <user files to link>                       \ 
    -L$MKLPATH                                    \ 
    -lmkl_blacs_mpich_lp64                        \ 
    -lmkl_intel_lp64                              \ 
    -lmkl_intel_thread -lmkl_core                 \ 
    -liomp5 -lpthread