存在归约时的Polly多面体调度
编程语言
2015-05-29 v1 分布式、并行与集群计算
摘要
多面体模型提供了一种强大的数学抽象,可针对给定优化目标(例如开发并行性)有效优化循环嵌套。未被利用的归约性质是多面体优化器假定存在禁止并行的依赖关系的常见原因。据我们所知,任何生产编译器中的多面体循环优化器均不支持归约。在本文中,我们展示了利用归约的并行性可带来显著的性能提升。我们给出了一个精确的、基于依赖的归约定义,并讨论了扩展多面体优化以利用归约计算结合律与交换律的方法。我们已在Polly多面体优化器中实现了支持归约的调度方法,并在标准Polybench 3.2基准测试套件上进行了评估。我们能够检测并建模全部52个算术归约,并通过利用BiCG基准中的多维归约在四核机器上实现高达2.21的加速比。
引用
@article{arxiv.1505.07716,
title = {Polly's Polyhedral Scheduling in the Presence of Reductions},
author = {Johannes Doerfert and Kevin Streit and Sebastian Hack and Zino Benaissa},
journal= {arXiv preprint arXiv:1505.07716},
year = {2015}
}
备注
Presented at the IMPACT15 workshop