【24h】

Automatic Correction of Loop Transformations

机译:自动校正循环变换

获取原文
获取原文并翻译 | 示例

摘要

Loop nest optimization is a combinatorial problem. Due to the growing complexity of modern architectures, it involves two increasingly difficult tasks: (1) analyzing the profitability of sequences of transformations to enhance parallelism, locality, and resource usage, which amounts to a hard problem on a non-linear objective function; (2) the construction and exploration of search space of legal transformation sequences. Practical optimizing and parallelizing compilers decouple these tasks, resorting to a predefined set of enabling transformations to eliminate all sorts of optimization-limiting semantical constraints. State-of-the-art optimization heuristics face a hard decision problem on the selection of enabling transformations only remotely related to performance. We propose a new design where optimization heuristics first address the main performance anomalies, then correct potentially illegal loop transformations a posteriori, attempting to minimize the performance impact of the necessary adjustments. We propose a general method to correct any sequence of loop transformations through a combination of loop shifting, code motion and index-set splitting. Sequences of transformations are modeled by compositions of geometric transformations on multidimensional affine schedules. We provide experimental evidence of the scalability of the algorithms on real loop optimizations.
机译:循环嵌套优化是一个组合问题。由于现代体系结构日益复杂,它涉及到两个越来越困难的任务:(1)分析转换序列的获利能力以增强并行性,局部性和资源利用,这在非线性目标函数上是一个难题。 (2)法律转化序列搜索空间的构建与探索。实用的优化和并行化编译器将这些任务解耦,借助于预定义的一组启用转换来消除各种限制优化的语义约束。最新的优化启发式方法在选择仅与性能远程相关的启用转换方面面临着一个艰难的决策问题。我们提出了一种新设计,在该设计中,优化试探法首先解决主要的性能异常问题,然后纠正后验的潜在非法循环转换,以尽量减少必要调整对性能的影响。我们提出了一种通用方法,通过组合循环移位,代码运动和索引集拆分来校正循环变换的任何序列。通过在多维仿射进度表上进行几何变换,可以对变换序列进行建模。我们提供了实循环优化算法可扩展性的实验证据。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号