Developer Guide

Contents

Examples for Linking a C Application

  • Main module is in C.
  • You are using the
    Intel® oneAPI
    DPC++/C++
    Compiler
    Intel® 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

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.