Code Sample: Allocate Memory Efficiently on an Intel® Xeon Phi™ Processor

签署人: Michael A Pearce

已发布:03/10/2016   最后更新时间:03/10/2016

The Intel’s next generation Xeon Phi™ processor family x200 product (code-name Knights Landing) brings in new memory technology, a high bandwidth on package memory called Multi-Channel DRAM (MCDRAM) in addition to the traditional DDR4. MCDRAM is a high bandwidth (~4x more than DDR4), low capacity (up to 16GB) memory, packaged with the Knights Landing Silicon. MCDRAM can be configured as a third level cache (memory side cache) or as a distinct NUMA node (allocatable memory) or somewhere in between. With the different memory modes by which the system can be booted, it becomes very challenging from a software perspective to understand the best mode suitable for an application.

At the same time, it is also very essential to utilize the available memory bandwidth in MCDRAM efficiently without leaving any performance on the table.

The tutorial cover methods and tools for users to analyze the suitable memory mode for an application. These tutorials also cover the use the “memkind” library interface, a user-extensible heap manager built on top of jemalloc. This library interface lets users change their application memory allocations to the high bandwidth MCDRAM as opposed to the standard DDR4.

Video Presentation: MCDRAM on 2nd generation Intel® Xeon Phi™ processor

Tutorial Material (PDF): Downloadapplication/pdf Download

In this tutorial you will be able to:

  • Understand the different modes of MCDRAM and how to use them
  • Identify whether an application can benefit from MCDRAM
  • How to place data structures in MCDRAM
  • How to perform test & emulation of MCDRAM-enabled code on a NUMA machine

The code samples used in the above data structures section are here (ZIP): Downloadapplication/zip Download

Try it yourself!




英特尔的编译器针对非英特尔微处理器的优化程度可能与英特尔微处理器相同(或不同)。这些优化包括 SSE2、SSE3 和 SSSE3 指令集和其他优化。对于在非英特尔制造的微处理器上进行的优化,英特尔不对相应的可用性、功能或有效性提供担保。该产品中依赖于微处理器的优化仅适用于英特尔微处理器。某些非特定于英特尔微架构的优化保留用于英特尔微处理器。关于此通知涵盖的特定指令集的更多信息,请参阅适用产品的用户指南和参考指南。

通知版本 #20110804