Intel® Fortran Compiler 19.0 Developer Guide and Reference
This topic only applies to Intel® 64 architecture targeting the Intel® Xeon Phi™ product family x200 (formerly code name Knights Landing) and it is only available for Linux* systems.
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 MEMKIND:HBW directive or 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 MEMKIND:HBW directive or attribute 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 MEMKIND:HBW. 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 MEMKIND:HBW.
If the libraries required for HBW memory support are not linked successfully, please refer to the ATTRIBUTES MEMKIND:HBW directive to determine the action that will be taken.