Intel® Fortran Compiler 16.0 User and Reference Guide

Data Alignment for Intel® MIC Architecture

This topic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).

Unlike the IA-32 and Intel® 64 architectures, the Intel® MIC Architecture requires all data accesses to be properly aligned according to their size, otherwise the program may behave unpredictably.

For example, an integer variable, which requires four bytes of storage, has to be allocated on an address that is a multiple of four. Likewise, a double-precsion floating point variable, which requires eight bytes of storage, has to be allocated on an address that is a multiple of eight.

You can align data in the following ways:

On the Intel® MIC Architecture, data alignment is so important that alignment warnings are turned into errors so the compilation will fail. Those alignment errors must be corrected before the program will compile.