返回
Tiling Parameters Prediction Using Machine Learning Techniques
DOI:10.1007/978-3-032-02436-7_5.png)
摘要
En 中文
瓦片变换是一种最重要的代码优化技术,用于暴露数据局部性和并行性。其核心思想是将初始迭代空间分割成块,并按特定顺序遍历它们。这种变换是参数化的,且对参数调整非常敏感。不当的参数调整可能导致性能远低于初始代码。现有最先进的方法考虑一个受限的参数列表来处理此问题,并保证安全解决方案。我们的工作提出了超越当前最先进技术的解决方案,通过考虑更广泛的瓦片选项来获得额外的加速。我们的方法基于机器学习技术,自动推导出调整瓦片参数的启发式规则。我们可以预测:1) 迭代空间的最佳分区矩阵;2) 瓦片大小;3) 扫描瓦片间的最佳方向;4) 扫描瓦片内元素的最佳方向。这些参数的最佳选择对于具有数据依赖关系的程序尤为重要。我们引入了用于模型预测的特征集。第一组编码数据依赖关系,第二组捕捉代码中的并行性和数据局部性水平,第三组汇总迭代空间的信息。我们的方法超越了现有的瓦片参数预测特征空间。此外,它还可以与自动调谐器结合使用,以迭代式地执行搜索。
Keyword:
code optimization
compilation
source-to-source transformations
machine learning
loop tiling
data-dependencies
feature space design
期刊
L
IF:
0
论文数:
14
被引数:
0
机构
引用论文
Absinthe: Learning an Analytical Performance Model to Fuse and Tile Stencil Codes in One ShotAbsinthe: 一次性学习分析性能模型以融合和分块模板代码

