Running Intel MKL on an Intel Xeon Phi Coprocessor in Native Mode

Some applications can benefit from running on Intel Xeon Phi coprocessors in native mode. In this mode, the application runs directly on a coprocessor and its Linux* operating system without being offloaded from a host system. To run on Intel MIC Architecture in the native mode, an application requires minimal changes to the source code.

Because in the native mode the code runs exclusively on a coprocessor, binaries built for native runs contain only the code to be run on a coprocessor. Intel compilers provide a specialized option to support building applications to be run in the native mode.

To build an application that calls Intel MKL and natively run it on a coprocessor, you need to perform these high-level steps:

  1. On the host system, compile and build the application using the -mmic option.

  2. Transfer the executable and all the dynamic libraries it requires to the coprocessor:

    • The Intel MKL libraries in the <mkl directory>/lib/mic directory.
    • libiomp5.so in the <parent product directory>/compiler/lib/mic directory.
  3. Use the Secure Shell (SSH) or Telnet protocol to execute on the coprocessor and add the paths to the dynamic libraries transferred to the coprocessor in step 2 and to the value of the LD_LIBRARY_PATH environment variable.

  4. Set OpenMP* thread affinity and the OMP_NUM_THREADS environment variable.

  5. Execute just as you would on a standard Linux* system.

Optimization Notice

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804

For more information, see Intel® Compiler User and Reference Guides, available in the Intel Software Documentation Library.

For more complete information about compiler optimizations, see our Optimization Notice.