首页> 外文期刊>International journal of parallel programming >Semi-Automatic Composition of Loop Transformations for Deep Parallelism and Memory Hierarchies
【24h】

Semi-Automatic Composition of Loop Transformations for Deep Parallelism and Memory Hierarchies

机译:用于深度并行和内存层次结构的循环变换的半自动组合

获取原文

摘要

Modern compilers are responsible for translating the idealistic operational semantics of the source program into a form that makes efficient use of a highly complex heterogeneous machine. Since optimization problems are associated with huge and unstructured search spaces, this combinational task is poorly achieved in general, resulting in weak scalability and disappointing sustained performance. We address this challenge by working on the program representation itself, using a semi-automatic optimization approach to demonstrate that current compilers offen suffer from unnecessary constraints and intricacies that can be avoided in a semantically richer transformation framework. Technically, the purpose of this paper is threefold: to show that syntactic code representations close to the operational semantics lead to rigid phase ordering and cumbersome expression of architecture-aware loop transformations, to illustrate how complex transformation sequences may be needed to achieve significant performance benefits, to facilitate the automatic search for program transformation sequences, improving on classical polyhedral representations to better support operation research strategies in a simpler, structured search space. The proposed framework relies on a unified polyhedral representation of loops and statements, using normalization rules to allow flexible and expressive transformation sequencing. This representation allows to extend the scalability of polyhedral dependence analysis, and to delay the (automatic) legality checks until the end of a transformation sequence. Our work leverages on algorithmic advances in polyhedral code generation and has been implemented in a modern research compiler.
机译:现代的编译器负责将源程序的理想操作语义转换为有效利用高度复杂的异构机器的形式。由于优化问题与庞大的非结构化搜索空间相关联,因此通常很难实现此组合任务,从而导致可伸缩性较弱,并且持续性能令人失望。我们通过使用半自动优化方法来研究程序表示本身,来解决这一挑战,以证明当前的编译器冒犯了不必要的约束和复杂性,而这些约束和复杂性可以在语义丰富的转换框架中避免。从技术上讲,本文的目的是三方面的:表明接近于操作语义的句法代码表示会导致僵化的相位排序和体系结构感知循环转换的繁琐表达,以说明如何可能需要复杂的转换序列来实现显着的性能优势,以便于自动搜索程序转换序列,改进了经典的多面体表示形式,以便在更简单,结构化的搜索空间中更好地支持运筹学策略。所提出的框架依赖于循环和语句的统一多面体表示,使用归一化规则以允许灵活且富有表现力的转换排序。这种表示方式可以扩展多面体依赖性分析的可伸缩性,并可以将(自动)合法性检查延迟到转换序列结束之前。我们的工作利用了多面体代码生成中的算法进步,并已在现代研究编译器中实现。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号