Intel® Fortran Compiler 17.0 Developer Guide and Reference

Using HBW Memory

This topic only applies to Intel® 64 architecture targeting the Intel® Xeon Phi™ product family x200 (formerly code name Knights Landing)

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 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, please refer to the ATTRIBUTES FASTMEM directive to determine the action that will be taken.

See Also