A graph-based iterative compiler pass selection and phase ordering approach

编译程序 计算机科学 过程间优化 加速 并行计算 优化编译器 管道(软件) 图形 循环优化 绩效改进 算法 理论计算机科学 程序设计语言 运营管理 经济
作者
Ricardo Nobre,Luiz G. A. Martins,João M. P. Cardoso
标识
DOI:10.1145/2907950.2907959
摘要

Nowadays compilers include tens or hundreds of optimization passes, which makes it difficult to find sequences of optimizations that achieve compiled code more optimized than the one obtained using typical compiler options such as -O2 and -O3. The problem involves both the selection of the compiler passes to use and their ordering in the compilation pipeline. The improvement achieved by the use of custom phase orders for each function can be significant, and thus important to satisfy strict requirements such as the ones present in high-performance embedded computing systems. In this paper we present a new and fast iterative approach to the phase selection and ordering challenges resulting in compiled code with higher performance than the one achieved with the standard optimization levels of the LLVM compiler. The obtained performance improvements are comparable with the ones achieved by other iterative approaches while requiring considerably less time and resources. Our approach is based on sampling over a graph representing transitions between compiler passes. We performed a number of experiments targeting the LEON3 microarchitecture using the Clang/LLVM 3.7 compiler, considering 140 LLVM passes and a set of 42 representative signal and image processing C functions. An exhaustive cross-validation shows our new exploration method is able to achieve a geometric mean performance speedup of 1.28x over the best individually selected -OX flag when considering 100,000 iterations; versus geometric mean speedups from 1.16x to 1.25x obtained with state-of-the-art iterative methods not using the graph. From the set of exploration methods tested, our new method is the only one consistently finding compiler sequences that result in performance improvements when considering 100 or less exploration iterations. Specifically, it achieved geometric mean speedups of 1.08x and 1.16x for 10 and 100 iterations, respectively.
最长约 10秒,即可获得该文献文件

科研通智能强力驱动
Strongly Powered by AbleSci AI
更新
PDF的下载单位、IP信息已删除 (2025-6-4)

科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
量子星尘发布了新的文献求助10
刚刚
1秒前
星星完成签到,获得积分10
1秒前
Dskelf完成签到,获得积分10
1秒前
无花果应助故意的访云采纳,获得10
1秒前
1秒前
2秒前
Akim应助jase采纳,获得10
2秒前
2秒前
Jouleken完成签到,获得积分10
2秒前
博修发布了新的文献求助10
3秒前
LI完成签到,获得积分10
3秒前
4秒前
tree发布了新的文献求助10
4秒前
4秒前
乐乐应助rengar采纳,获得10
4秒前
orixero应助年年采纳,获得10
4秒前
青词完成签到,获得积分10
5秒前
5秒前
6秒前
卡齐娜发布了新的文献求助10
6秒前
6秒前
猪猪hero发布了新的文献求助10
6秒前
pcr发布了新的文献求助10
6秒前
Li发布了新的文献求助10
7秒前
7秒前
yyy发布了新的文献求助10
7秒前
解天问完成签到 ,获得积分10
7秒前
131343完成签到,获得积分10
7秒前
隐形曼青应助hmx采纳,获得10
7秒前
Song发布了新的文献求助10
8秒前
研友_5476B5发布了新的文献求助10
8秒前
愉快秀完成签到,获得积分20
8秒前
8秒前
丘比特应助猫好好采纳,获得20
8秒前
kkyy发布了新的文献求助10
9秒前
10秒前
10秒前
叶枫完成签到,获得积分10
10秒前
田様应助meimingzi采纳,获得10
11秒前
高分求助中
A new approach to the extrapolation of accelerated life test data 1000
Handbook of Marine Craft Hydrodynamics and Motion Control, 2nd Edition 500
‘Unruly’ Children: Historical Fieldnotes and Learning Morality in a Taiwan Village (New Departures in Anthropology) 400
Indomethacinのヒトにおける経皮吸収 400
Phylogenetic study of the order Polydesmida (Myriapoda: Diplopoda) 370
基于可调谐半导体激光吸收光谱技术泄漏气体检测系统的研究 350
Robot-supported joining of reinforcement textiles with one-sided sewing heads 320
热门求助领域 (近24小时)
化学 材料科学 医学 生物 工程类 有机化学 生物化学 物理 内科学 纳米技术 计算机科学 化学工程 复合材料 遗传学 基因 物理化学 催化作用 冶金 细胞生物学 免疫学
热门帖子
关注 科研通微信公众号,转发送积分 3987223
求助须知:如何正确求助?哪些是违规求助? 3529513
关于积分的说明 11245651
捐赠科研通 3268108
什么是DOI,文献DOI怎么找? 1804027
邀请新用户注册赠送积分活动 881303
科研通“疑难数据库(出版商)”最低求助积分说明 808650