arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1111.6756cs.DCcs.PFcs.PL
收藏

协同的静态、动态和推测循环嵌套优化用于自动装配的潜力

The Potential of Synergistic Static, Dynamic and Speculative Loop Nest Optimizations for Automatic Parallelization

Riyadh Baghdadi, Albert Cohen, Cedric Bastoul, Louis-Noel Pouchet, Lawrence Rauchwerger

摘要:

以循环为中心的程序的自动并行化研究始于静态分析,然后将其扩展到包括动态检查执行和推测执行,最好的结果涉及混合静态-动态方案。除了检测顺序程序中的并行性之外,众核处理器上的可扩展并行化还涉及到困难而有趣的并行性适应和映射挑战。这些挑战包括为存储层次结构定制数据局部性、分层构造独立任务以利用多个并行级别、调整同步粒度、平衡执行负载、将执行解耦到线程级流水线中以及利用具有专用加速器的异构硬件。多面体框架允许建模,构造和应用非常复杂的循环嵌套转换,解决大多数并行适应和映射挑战。但是,除了特定于硬件的、面向后端的转换(if转换、跟踪调度、值预测)之外,循环嵌套优化基本上忽略了动态和推测性技术。多面体编译的研究最近达到了一个重要的里程碑,支持动态的,数据相关的控制流。这为将动态分析和推测技术与高级循环嵌套优化相结合开辟了一条广阔的道路。从SPEC基准测试和数值内核中选择真实世界的例子,我们为协同静态,动态和投机循环转换技术的设计做了一个案例。我们还勾画了动态信息的嵌入,包括投机性的假设,在仿射变换搜索空间的心脏。

英文摘要:

Research in automatic parallelization of loop-centric programs started with static analysis, then broadened its arsenal to include dynamic inspection-execution and speculative execution, the best results involving hybrid static-dynamic schemes. Beyond the detection of parallelism in a sequential program, scalable parallelization on many-core processors involves hard and interesting parallelism adaptation and mapping challenges. These challenges include tailoring data locality to the memory hierarchy, structuring independent tasks hierarchically to exploit multiple levels of parallelism, tuning the synchronization grain, balancing the execution load, decoupling the execution into thread-level pipelines, and leveraging heterogeneous hardware with specialized accelerators. The polyhedral framework allows to model, construct and apply very complex loop nest transformations addressing most of the parallelism adaptation and mapping challenges. But apart from hardware-specific, back-end oriented transformations (if-conversion, trace scheduling, value prediction), loop nest optimization has essentially ignored dynamic and speculative techniques. Research in polyhedral compilation recently reached a significant milestone towards the support of dynamic, data-dependent control flow. This opens a large avenue for blending dynamic analyses and speculative techniques with advanced loop nest optimizations. Selecting real-world examples from SPEC benchmarks and numerical kernels, we make a case for the design of synergistic static, dynamic and speculative loop transformation techniques. We also sketch the embedding of dynamic information, including speculative assumptions, in the heart of affine transformation search spaces.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑