Intel® Fortran Compiler 16.0 User and Reference Guide

Using HBW Memory

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

Certain Intel® Xeon Phi™ coprocessors come equipped with a limited amount of Multi-Channel DRAM (MCDRAM). On Linux*, you can specify use of this high-bandwidth memory for allocatable scalars or arrays using the FASTMEM attribute. High bandwidth (HBW) memory is not large so choose the objects you place there carefully – objects that require repeated and rapid access are best placed in HBW memory. If the hardware is not available to allocate the object to HBW memory, or if enough HBW memory is not available to satisfy the allocation, then allocation is performed using non-HBW memory.

When you use the ATTRIBUTES FASTMEM directive in a program, you must specify the following on the compiler or linker command line:

-lmemkind

The memkind library does not ship with Intel Fortran. The memkind webpage is here: http://memkind.github.io/memkind/

From there you can find links to source and binary RPM's: http://download.opensuse.org/repositories/home:/cmcantalupo/

libmemkind.so must be in the linking path so if you install the binary RPM, it will be in your linking path and the link option -lmemkind is sufficient when you create a program that uses FASTMEM. If you build or put libmemkind.so in some other directory, you must specify that location with –L when you create a program that uses FASTMEM.

If the libraries required for HBW memory support are not linked successfully, no warning will be given but the application will still run correctly using non-HBW memory in place of HBW memory.

See Also