Intel® Fortran Compiler XE 13.1 User and Reference Guides
This topic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).
The Intel® compiler provides several elements to enable programming for and building binaries to run on the Intel® Many Integrated Core Architecture (Intel® MIC Architecture), including:
language extensions
compiler options
environment variables
OpenMP* considerations
You can write parallel programs that can offload sections of code to run on Intel® MIC Architecture, or alternatively, that run natively on Intel® MIC Architecture. The compiler provides the following language extensions to facilitate programming for Intel® MIC Architecture:
|
Name |
Description |
|---|---|
|
OFFLOAD directive OFFLOAD_ATTRIBUTE directive OFFLOAD_TRANSFER directive OFFLOAD_WAIT directive OFFLOAD BEGIN and END OFFLOAD directive |
Directives to control the data transfer between the CPU and the coprocessor. |
|
ATTRIBUTES OFFLOAD directive |
A directive for placing variables and functions on the coprocessor. |
|
__MIC__ macro __KNC__ macro __INTEL_OFFLOAD macro |
Predefined macros for Intel® MIC Architecture. |
|
APIs in mic_lib.f90 |
A set of functions for:
|
The compiler provides several compiler options and environment variables that you can use when building a binary for Intel® MIC Architecture.
You can use the compiler options to:
ignore language constructs for offloading (no-offload)
build an application that runs natively on Intel® MIC Architecture (mmic)
flag every global routine and global data object in the source file with the offload attribute target(mic)(offload-attribute-target)
specify options to be used for the specified target and tool (offload-option)
(opt-report-phase=offload)
You can use environment variables for a variety of tasks, including:
setting the stack size on the coprocessor (MIC_STACKSIZE)
controlling environment variables passed to the coprocessor ( MIC_ENV_PREFIX)
controlling MIC I/O proxy (MIC_PROXY_IO)