Intel® Fortran Compiler 16.0 User and Reference Guide
This topic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).
This programming model is suitable when the data exchanged between the CPU and the coprocessor consists of scalars, arrays, and Fortran derived types that can be copied from one variable to another using a simple memcpy.
Data that flows between the CPU and the coprocessor must have a flat structure.
Data that is created and used entirely on the CPU, or used entirely within the offloaded regions, can be arbitrarily complex, including multi-dimensional arrays, and any composition of data structures using pointers, arrays and Fortran derived types.
You control the data transfer between the CPU and the coprocessor. The data transfer consists of densely packed data structures. You can select the data to be transferred at the point of offload, without needing to declare or allocate it in any special way.