Intel® C++ Compiler XE 13.1 User and Reference Guides
This topic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).
| macro | When it is defined | Compiler options that define it |
|---|---|---|
|
__MIC__ |
This macro is defined by the compiler while building code to run on the coprocessor. You can use this macro to protect code that should only be compiled for and executed on the coprocessor, such as intrinsic functions that only run on Intel® MIC Architecture, or the corresponding header files, such as zmmintrins.h. |
Defined by default. Builds code that runs on the CPU and the coprocessor, but this macro is only defined during the coprocessor compilation. Undefined when you use no-offload. -mmic: Builds code that runs only on the coprocessor. This macro is defined. |
|
__KNC__ |
This macro is defined by the compiler while building code to run on the variant of the Intel® MIC Architecture known as the Intel® Xeon Phi™ coprocessor. You can use this macro to protect code that should only be compiled for and executed on an Intel® MIC Architecture-based coprocessor, such as Intel® MIC Architecture-specific intrinsic functions. |
Defined by default. Builds code that runs on the CPU and the coprocessor, but this macro is only defined during the coprocessor compilation. Undefined when you use no-offload. -mmic : Builds code that runs only on the coprocessor. This macro is defined. |
|
__INTEL_OFFLOAD |
This macro is defined by the compiler when building code to run on the CPU and on the coprocessor. You can use this macro in conjunction with the no-offload or mmic compiler option to protect code on the host that should only be executed for an offload build, such as calls to the omp_set_num_threads_target family of APIs in offload.h. |
Defined by default. Builds code that runs on the CPU and the coprocessor. Undefined when you use no-offload or mmic. |