中文

协同静态、动态及推测性循环嵌套优化在自动并行化中的潜力

分布式、并行与集群计算 2011-11-30 v1 性能 编程语言

摘要

针对以循环为核心的程序的自动并行化研究始于静态分析,随后扩展其手段以包含动态检查执行和推测性执行,其中最佳结果涉及混合静态 - 动态方案。除了在顺序程序中检测并行性外,在多核处理器上实现可扩展并行化还涉及艰难而有趣的并行性适配与映射挑战。这些挑战包括:针对存储层次结构定制数据局部性、分层构建独立任务以利用多级并行性、调整同步粒度、平衡执行负载、将执行解耦为线程级流水线,以及利用带有专用加速器的异构硬件。多面体框架允许建模、构建和应用非常复杂的循环嵌套变换,以解决大多数并行性适配和映射挑战。但除了特定于硬件、面向后端的变换(如 if 转换、踪迹调度、值预测)外,循环嵌套优化本质上忽略了动态和推测性技术。多面体编译研究最近在支持动态、数据依赖控制流方面达到了一个重要里程碑。这为将动态分析和推测性技术与先进的循环嵌套优化相融合开辟了广阔途径。我们从 SPEC 基准测试和数值内核中选取真实世界示例,论证了设计协同静态、动态和推测性循环变换技术的必要性。我们还概述了如何将动态信息(包括推测性假设)嵌入到仿射变换搜索空间的核心中。

关键词

引用

@article{arxiv.1111.6756,
  title  = {The Potential of Synergistic Static, Dynamic and Speculative Loop Nest Optimizations for Automatic Parallelization},
  author = {Riyadh Baghdadi and Albert Cohen and Cedric Bastoul and Louis-Noel Pouchet and Lawrence Rauchwerger},
  journal= {arXiv preprint arXiv:1111.6756},
  year   = {2011}
}