Intel® Math Kernel Library 11.3 Update 4 Developer Guide
Preprocessor symbols (macros) substitute values in a program before it is compiled. The substitution is performed in the preprocessing phase.
The following preprocessor symbols are available:
Predefined Preprocessor Symbol |
Description |
---|---|
__INTEL_MKL__ |
Intel MKL major version |
__INTEL_MKL_MINOR__ |
Intel MKL minor version |
__INTEL_MKL_UPDATE__ |
Intel MKL update number |
INTEL_MKL_VERSION |
Intel MKL full version in the following format: INTEL_MKL_VERSION = (__INTEL_MKL__*100+__INTEL_MKL_MINOR__)*100+__INTEL_MKL_UPDATE__ |
These symbols enable conditional compilation of code that uses new features introduced in a particular version of the library.
To perform conditional compilation:
C/C++ compiler: |
mkl_version.h, or mkl.h, which includes mkl_version.h |
Intel® Fortran compiler: |
mkl.fi |
Any Fortran compiler with enabled preprocessing: |
mkl_version.h Read the documentation for your compiler for the option that enables preprocessing. |
Example
This example shows how to compile a code segment conditionally for a specific version of Intel MKL. In this case, the version is 11.2 Update 4:
Intel® Fortran Compiler:
include "mkl.fi"
!DEC$IF DEFINED INTEL_MKL_VERSION
!DEC$IF INTEL_MKL_VERSION .EQ. 110204
* Code to be conditionally compiled
!DEC$ENDIF
!DEC$ENDIF
C/C++ Compiler. Fortran Compiler with Enabled Preprocessing:
#include "mkl.h"
#ifdef INTEL_MKL_VERSION
#if INTEL_MKL_VERSION == 110204
... Code to be conditionally compiled
#endif
#endif