中文

SU3_Bench在Xeon与可编程集成统一内存架构上的性能优化

分布式、并行与集群计算 2021-03-24 v2 硬件体系结构

摘要

SU3_Bench是一个微基准测试程序,用以借助简单但非平凡的核来探索多种编程模型/方法间的性能可移植性。该核派生自MILC格点量子色动力学(LQCD)代码。SU3_Bench受带宽限制并产生规则的计算与数据访问模式。因此在多数传统CPU与GPU系统上,其性能主要由可达内存带宽决定。尽管SU3_Bench是一个简单核,经验表明其细微之处需一定调整才能在给定编程模型与硬件上达到峰值性能,使性能可移植性具挑战性。本文中,我们分享在先进Intel Xeon机器上获取SU3_Bench峰值性能的一些挑战,源于变量定义的细微差别、编译器默认构造函数的性质、对象创建时内存的访问方式,以及机器的NUMA效应。我们讨论如何应对这些挑战,使SU3_Bench性能较Github上原有OpenMP实现提升2×2\times。这为其他类似核提供了宝贵经验。扩展性能可移植性方面,我们还展示将SU3_Bench移植至新Intel可编程集成统一内存架构(PIUMA)的初步结果,其特征是更均衡的每字节浮点运算数。本文表明在PIUMA上决定SU3_Bench性能的并非通常的带宽或浮点运算数,而是流水线吞吐率。最后,我们展示如何提升PIUMA上性能及其与Xeon(每字节浮点运算数约高一个数量级)性能的对比。

关键词

引用

@article{arxiv.2103.00571,
  title  = {Performance Optimization of SU3_Bench on Xeon and Programmable Integrated Unified Memory Architecture},
  author = {Jesmin Jahan Tithi and Fabio Checconi and Douglas Doerfler and Fabrizio Petrini},
  journal= {arXiv preprint arXiv:2103.00571},
  year   = {2021}
}

备注

11 pages