打开黑盒子:GPU 代码生成期间的性能估计

摘要:自动生成代码经常用于创建针对特定硬件和应用程序参数进行调优的算法实现。代码生成过程涉及选择合适的代码转换、调优参数和并行化策略。为了覆盖巨大的搜索空间,代码生成框架可能应用耗时的自动调优,利用特定场景的性能模型,或将性能视为不可见的黑盒,并通过机器学习进行描述。 本文通过将性能模型与分析性硬件度量估计器相结合,识别出相关的性能定义机制,从而解决选择问题。这使得能够快速探索大型配置空间,以高准确度识别高效的候选解决方案。 我们目前的方法针对内存密集型GPGPU应用,并专注于正确建模数据传输量到所有内存层次。我们展示了如何将我们的方法与pystencils模板代码生成器相结合,该生成器用于为一系列四维25点模板和基于格子玻尔兹曼方法的复杂两相流求解器生成内核。对于这两者,它提供了一个排名,可以用来选择性能最佳的候选解决方案。 该方法不限于模板内核,而是可以集成到任何可以生成所需地址表达式的代码生成器中。

作者:Dominik Ernst (1), Georg Hager (1), Markus Holzer (2), Matthias Knorr, Gerhard Wellein (1) ((1) Friedrich-Alexander-Universit"at Erlangen-N"urnberg, (2) Chair for System Simulation, Friedrich-Alexander-Universtit"at Erlangen-N"urnberg)

论文ID:2107.01143

分类:Performance

分类简称:cs.PF

提交时间:2021-07-05

PDF 下载: 英文版 中文版pdf翻译中