Enabling compilers to automatically optimize code has been a longstanding goal for the compiler community. Efficiently solving this problem requires using precise cost models. These models predict whether applying a sequence of code transformations reduces the execution time of the program. Building an analytical cost model to do so is hard in modern x86 architectures due to the complexity of the microarchitecture. In this paper, we present a novel deep learning based cost model for automatic code optimization. This model was integrated in a search method and implemented in the Tiramisu compiler to select the best code transformations. The input of the proposed model is a set of simple features representing the unoptimized code and a sequence of code transformations. The model predicts the speedup expected when the code transformations are applied. Unlike previous models, the proposed one works on full programs and does not rely on any heavy feature engineering. The proposed model has only 16% of mean absolute percentage error in predicting speedups on full programs. The proposed model enables Tiramisu to automatically find code transformations that match or are better than state-of-the-art compilers without requiring the same level of heavy feature engineering required by those compilers.


翻译:使编译者自动优化代码是编译者界的一个长期目标。 有效解决这一问题需要使用精确的成本模型。 这些模型预测应用代码转换序列是否缩短了程序的执行时间。 建立分析成本模型在现代的x86结构中很难做到。 由于微工程的复杂性, 在现代的x86结构中, 建立分析成本模型很难做到这一点。 在本文中, 我们为自动代码优化提出了一个全新的深层次基于学习的成本模型。 这个模型被整合到一个搜索方法中, 并在Tiramisu编译器中实施, 以选择最好的代码转换。 拟议模型的输入是一组简单特征, 代表未优化的代码转换和代码转换序列。 模型预测在应用代码转换时预期的加速速度。 与以前的模型不同, 拟议的一个模型在全部程序上运行, 并不依赖任何重功能工程。 在预测全程序的速度时, 拟议的模型只有16 %的平均绝对百分比错误。 拟议的模型使Timisu能够自动找到匹配或优于状态的编译器的代码转换。

0
下载
关闭预览

相关内容

ACM/IEEE第23届模型驱动工程语言和系统国际会议,是模型驱动软件和系统工程的首要会议系列,由ACM-SIGSOFT和IEEE-TCSE支持组织。自1998年以来,模型涵盖了建模的各个方面,从语言和方法到工具和应用程序。模特的参加者来自不同的背景,包括研究人员、学者、工程师和工业专业人士。MODELS 2019是一个论坛,参与者可以围绕建模和模型驱动的软件和系统交流前沿研究成果和创新实践经验。今年的版本将为建模社区提供进一步推进建模基础的机会,并在网络物理系统、嵌入式系统、社会技术系统、云计算、大数据、机器学习、安全、开源等新兴领域提出建模的创新应用以及可持续性。 官网链接:http://www.modelsconference.org/
Stabilizing Transformers for Reinforcement Learning
专知会员服务
60+阅读 · 2019年10月17日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
154+阅读 · 2019年10月12日
RoBERTa中文预训练模型:RoBERTa for Chinese
PaperWeekly
57+阅读 · 2019年9月16日
BERT/Transformer/迁移学习NLP资源大列表
专知
19+阅读 · 2019年6月9日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
Facebook PyText 在 Github 上开源了
AINLP
7+阅读 · 2018年12月14日
Hierarchical Imitation - Reinforcement Learning
CreateAMind
19+阅读 · 2018年5月25日
语义分割+视频分割开源代码集合
极市平台
35+阅读 · 2018年3月5日
强化学习 cartpole_a3c
CreateAMind
9+阅读 · 2017年7月21日
Risk-Aware Active Inverse Reinforcement Learning
Arxiv
8+阅读 · 2019年1月8日
Neural Architecture Optimization
Arxiv
8+阅读 · 2018年9月5日
Deep Learning
Arxiv
6+阅读 · 2018年8月3日
VIP会员
相关VIP内容
相关资讯
RoBERTa中文预训练模型:RoBERTa for Chinese
PaperWeekly
57+阅读 · 2019年9月16日
BERT/Transformer/迁移学习NLP资源大列表
专知
19+阅读 · 2019年6月9日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
Facebook PyText 在 Github 上开源了
AINLP
7+阅读 · 2018年12月14日
Hierarchical Imitation - Reinforcement Learning
CreateAMind
19+阅读 · 2018年5月25日
语义分割+视频分割开源代码集合
极市平台
35+阅读 · 2018年3月5日
强化学习 cartpole_a3c
CreateAMind
9+阅读 · 2017年7月21日
Top
微信扫码咨询专知VIP会员