中文

应用多面体模型对 Devito 中的时间循环进行分块

编程语言 2017-07-11 v1 数学软件

摘要

许多数值方法科学计算应用的运行时间严重依赖于少数多维循环嵌套。由于这些应用通常受限于内存带宽而非计算资源,因此任何通过改善数据重用从而減少总内存流量来降低其循环运行时间的优化,都能使其大幅受益。其中一些最有效的优化不适合手工开发,或者需要许多非代码优化专家的研究人员所不具备的高级软件工程知识。已有若干工具可自动生成数值方法的高性能代码,例如 Devito,它生成通常用于地震成像领域的有限差分近似代码。我们提出了一种可应用于 Devito 生成循环的循环分块优化,可将运行时间改善多达 27.5%,并给出了在 Devito 框架中自动化此优化的方案。

关键词

引用

@article{arxiv.1707.02347,
  title  = {Applying the Polyhedral Model to Tile Time Loops in Devito},
  author = {Dylan McCormick},
  journal= {arXiv preprint arXiv:1707.02347},
  year   = {2017}
}