中文

线性高阶间断伽辽金格式的张量化与内存占用最小化

数学软件 2020-03-31 v1

摘要

我们针对双曲PDE引擎ExaHyPE的高阶间断伽辽金求解器中性能关键的计算核,提出了一系列优化,依次解决由SIMD操作、缓存层次结构与软件设计限制所带来的瓶颈。从数值格式的通用标量实现出发,我们的第一个优化变体应用了当前先进的优化技术:对循环进行向量化、改进数据布局,并使用Loop-over-GEMM,通过LIBXSMM库提供的高度优化矩阵乘法函数执行张量缩并。我们表明,由于内存占用超过L2缓存大小导致的内存停顿阻碍了向量化收益。因此我们引入了一种新核,采用求和因式分解方法减小核的内存占用并改善其缓存局部性。在消除L2缓存瓶颈后,我们能够通过引入混合的Array-of-Structure-of-Array数据布局来利用额外的向量化机会,该布局解决了矩阵乘法核与实现PDE特定项的逐点函数之间的数据布局冲突。借助这最后一个核,在高多项式阶的基准仿真中评估表明,仅2%的浮点运算仍使用标量指令执行,达到了可用性能的22.5%。

关键词

引用

@article{arxiv.2003.12787,
  title  = {Vectorization and Minimization of Memory Footprint for Linear High-Order Discontinuous Galerkin Schemes},
  author = {Jean-Matthieu Gallard and Leonhard Rannabauer and Anne Reinarz and Michael Bader},
  journal= {arXiv preprint arXiv:2003.12787},
  year   = {2020}
}

备注

PDSEC 2020