能源研究科学计算中心(NERSC)是美国能源部科学办公室的主要科学计算设施,位于劳伦斯伯克利国家实验室。NERSC中心为超过6000名科学家提供服务,这些科学家在国家实验室和大学中研究燃烧、气候建模、聚变能源、材料科学、物理学、化学、计算生物学等多个领域的广泛问题。
为了实现其目标,NERSC需要在其多样化的应用程序上优化,以在英特尔® Xeon Phi™处理器上实现峰值性能。为此,它使用基于英特尔®顾问的屋顶线分析模型,这是英特尔®并行工作室软件套件中的一个工具。屋顶线模型最初由劳伦斯伯克利国家实验室计算研究部的计算机科学家Sam Williams开发。使用该模型可以将应用程序性能提高高达35%。
“优化复杂应用程序需要绝对的性能感”,NERSC的博士后研究员Tuomas Koskela博士解释说。“有许多潜在的优化方向。了解采取哪个方向,哪些因素限制了性能,以及何时停止至关重要。”
屋顶线分析有助于确定应用程序与计算平台峰值性能之间的差距。这种直观的性能模型限制了在多核、众核或加速器处理器架构上运行的各种数值方法和操作的性能。
与简单地使用峰值百分比估计不同,该模型可以通过将局部性、带宽和不同的并行化范式结合到一个性能数字中来评估性能质量。屋顶线图有助于确定实现和固有性能限制。
英特尔顾问屋顶线实现提供了比标准屋顶线分析更多的洞察力,通过绘制更多的屋顶线:
在经典屋顶线模型中,字节是从给定内存层次结构的某个级别中测量出来的。算术强度(AI)取决于问题大小和强度。此外,内存优化将改变AI。
英特尔顾问基于缓存感知屋顶线模型,其中字节是从CPU的所有内存层次结构中测量出来的。AI与问题大小和平台无关,对于给定算法是一致的。
图2显示了在经典与缓存感知屋顶线模型中一个点如何移动。 图3显示了英特尔顾问的缓存感知屋顶线模型报告。红色循环是最耗时的,而绿色循环在计算时间方面微不足道。较大的循环如果优化将有更大的影响。最远离屋顶的循环具有最大的改进潜力。
NERSC使用英特尔顾问的缓存感知屋顶线模型来优化其两个关键应用程序:
PICSAR应用程序旨在与现有的PIC代码WARP*接口。它为社区提供高性能PIC例程,计划作为开源项目发布。
该应用程序用于等离子体物理学、激光-物质相互作用和传统粒子加速器的项目。其优化包括:
NERSC将屋顶线模型应用于三种配置:
XGC1应用程序是一个用于模拟托卡马克(边缘)聚变等离子体中的等离子体湍流的PIC代码。其复杂的几何形状包括:
典型的模拟有每个单元10000个粒子,每个域1000000个单元,64个环形域。SGC1中的大部分计算时间都花在电子子循环上。瓶颈包括:
通过单一的英特尔顾问调查,NERSC能够发现大部分瓶颈(图4)。