CAREER: Staging Compilers for Heterogeneous Platforms
CAREER: Staging Compilers for Heterogeneous Platforms
批准号:
1750399
负责人:
Louis-Noel Pouchet
金额:
$47.8万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2018
资助国家:
美国
项目状态:
已结题
起止时间:
2018-02-01 至 2024-01-31
中文摘要
功率密度和能量考虑已经成为驱动嵌入式、主流以及peta/exascale高端计算技术方向的主要制约因素。非同质的CPU内核和日益复杂的片上系统是大多数制造商的路线图。总而言之,经过几十年的同质单核x86处理器的大规模营销,计算平台现在是异构的。优化编译器是软件栈的基石:它们负责从输入程序生成高质量的特定于机器的代码。当前的开发模型是由专业工程师手动调整应用程序以适应新目标平台的具体情况,或者简单地不进行调整并严重利用硬件资源,这是不可持续的。该项目旨在设计一个完整的系统,从单一输入源有效地将几个关键计算模式编译到异构目标。PI研究如何自动地描述软件转换系统的质量和性能,以便更好地利用它们的优势;并创建新的定制编译技术,为异构处理器生成优化的二进制文件。特别是,PI开发了一个新系统,该系统自动学习优化工具(例如,供应商编译器)可以很好地优化哪种类型的程序,专注于适合多面体编译的性能关键型基于循环的程序区域。通过结合自动基准生成和深度学习技术,该系统自动为编译器构建性能契约:满足特定语法和语义限制(契约)的程序保证被编译器很好地优化。然后,为了最好地利用这样的编译器,程序被自动重构以暴露满足合同需求的程序子区域。在特定于目标的性能模型的帮助下,在编译时为每个硬件目标选择最佳重构。然后,该系统可以在编译时应用于各种执行上下文(例如,针对不同的CPU频率,内核计数等),以提供自适应二进制,其中在运行时选择最佳实现作为执行上下文的函数。该项目旨在演示如何最好地部署各种编译器,以利用它们的优势,从而显著减少开发人员目前花在调优实现以获得更好性能上的时间。将要制作的教育材料包括一个面向教育工作者和学生的系列讲座,内容是如何编写编译器可以很好地优化的程序,以及一个关于多面体编译的MOOC,多面体编译是这个项目的核心,是对程序进行推理的数学框架。
英文摘要
Power density and energy considerations have become the primary constraints driving technology directions for embedded, mainstream, as well as peta/exascale computing at the high end. Non-homogeneous CPU cores and increasingly complex System-on-Chips are on the roadmap of most manufacturers. In a word, computing platforms are now heterogeneous, after decades of mass marketing homogeneous single-core x86 processors. Optimizing compilers are a cornerstone of the software stack: they are in charge of producing high-quality machine-specific code from the input program. The current development model where either an application is manually tuned by expert engineers to the specifics of the new target platform, or simply left untuned and heavily under-utilizing the hardware resources is not sustainable. This project targets the design of a complete system to efficiently compile several key computation patterns to heterogeneous targets, from a single input source. The PI investigates how to automatically characterize the quality and performance of software transformation systems, so as to better exploit their strengths; and create new customized compilation techniques to produce optimized binaries for heterogeneous processors. In particular, the PI develops a novel system that automatically learns what types of programs an optimization tool (e.g., a vendor compiler) can optimize well, focusing on performance-critical loop-based program regions amenable to polyhedral compilation. By combining automatic benchmark generation and deep learning techniques, this system automatically builds a performance contract for the compiler: a program that meets specific syntactic and semantics restriction (the contract) is guaranteed to be well optimized by that compiler. Then, in order to best exploit such compilers, programs are automatically restructured to expose program sub-regions that meet the contract requirements. With the assistance of target-specific performance models, the best restructuring is chosen at compile-time for each hardware target. This system can then be applied at compile-time for various execution contexts (e.g., for different CPU frequencies, core counts, etc.), to deliver an adaptive binary where the best implementation is selected at run-time as a function of the execution context. The project aims to demonstrate how to best stage various compilers to exploit their strengths, in turn significantly reducing the time currently spent by developers to tune their implementation for better performance. Education material to be produced includes a lecture series for educators and students on how to write programs that compilers can optimize well, and a MOOC on polyhedral compilation, the mathematical framework to reason about programs that is central to this project.
期刊论文(15)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
PALMED: Throughput Characterization for Superscalar Architectures
PALMED:超标量架构的吞吐量表征
DOI:
10.1109/cgo53902.2022.9741289
发表时间:
2022
期刊:
2022 IEEE/ACM International Symposium on Code Generation and Optimization (CGO
影响因子:
--
作者:
[Derumigny, Nicolas, Bastian, Theophile, Gruber, Fabian, Iooss, Guillaume, Guillon, Christophe, Pouchet, Louis-Noel, Rastello, Fabrice]
通讯作者:
Rastello, Fabrice
Data-flow/dependence profiling for structured transformations
结构化转换的数据流/依赖性分析
DOI:
10.1145/3293883.3295737
发表时间:
2019
期刊:
Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming
影响因子:
--
作者:
[Gruber, Fabian, Selva, Manuel, Sampaio, Diogo, Guillon, Christophe, Moynault, Antoine, Pouchet, Louis-Noël, Rastello, Fabrice]
通讯作者:
Rastello, Fabrice
Self-Supervised Learning to Prove Equivalence Between Programs via Semantics-Preserving Rewrite Rules
自监督学习通过保留语义的重写规则证明程序之间的等效性
DOI:
10.48550/arxiv.2109.10476
发表时间:
2021
期刊:
ArXivorg
影响因子:
--
作者:
[Steve Kommrusch, Martin Monperrus]
通讯作者:
Steve Kommrusch, Martin Monperrus
Building a Polyhedral Representation from an Instrumented Execution: Making Dynamic Analyses of Nonaffine Programs Scalable
从仪表化执行构建多面体表示:使非仿射程序的动态分析可扩展
DOI:
10.1145/3363785
发表时间:
2020
期刊:
ACM Transactions on Architecture and Code Optimization
影响因子:
1.6
作者:
[Selva, Manuel, Gruber, Fabian, Sampaio, Diogo, Guillon, Christophe, Pouchet, Louis-Noël, Rastello, Fabrice]
通讯作者:
Rastello, Fabrice
DOI:
10.1109/tse.2019.2940179
发表时间:
2021-09-01
期刊:
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
影响因子:
7.4
作者:
[Chen, Zimin, Kommrusch, Steve, Monperrus, Martin]
通讯作者:
Monperrus, Martin
共 15 条
Program Optimization with Data-Specific Compilation
-
批准号:2009020
-
项目类别:Standard Grant
-
资助金额:$44.99万
-
财政年份:2020
-
负责人:Louis-Noel Pouchet
-
依托单位:
SPX: Collaborative Research: Dependence Programming and Optimization of Scalable Irregular Numerical Applications
-
批准号:1725611
-
项目类别:Standard Grant
-
资助金额:$20.0万
-
财政年份:2017
-
负责人:Louis-Noel Pouchet
-
依托单位:
SHF:Small:Scalable Scheduling for Program Transformations in Heterogeneous Computing
-
批准号:1731612
-
项目类别:Standard Grant
-
资助金额:$15.92万
-
财政年份:2016
-
负责人:Louis-Noel Pouchet
-
依托单位:
SHF:Small:Scalable Scheduling for Program Transformations in Heterogeneous Computing
-
批准号:1524127
-
项目类别:Standard Grant
-
资助金额:$37.69万
-
财政年份:2014
-
负责人:Louis-Noel Pouchet
-
依托单位:
SHF:Small:Scalable Scheduling for Program Transformations in Heterogeneous Computing
-
批准号:1321147
-
项目类别:Standard Grant
-
资助金额:$42.42万
-
财政年份:2013
-
负责人:Louis-Noel Pouchet
-
依托单位:
海外基金