自动调优GCC编译器以优化嵌入式系统上运行的应用程序性能
分布式、并行与集群计算
2017-04-12 v2 性能
摘要
本文介绍了一种自动调优编译器标志选择以优化旨在嵌入式硬件平台上运行的软件性能的新方法。我们首先在由GNU C编译器(GCC)为ARM Cortex-M3(CM3)处理器编译的代码上开发我们的方法;并展示了我们的方法如何在多样化的嵌入式基准测试套件中优于业界标准的-O3优化级别。首先,我们通过使用现有的迭代编译方法量化潜在收益,这些方法耗时地为每个基准测试搜索最优配置。然后,我们调整迭代编译以输出一个在整个基准测试套件上优化性能的单一配置。尽管这是一个耗时的过程,但我们的方法构建了一个-O3的优化变体,我们称之为-Ocm3,它在CM3上实现了已知可用收益的近三分之二,并在交叉验证实验中显著优于更复杂的现有先进预测方法。最后,我们通过在额外平台上构建另外两个优化级别来演示我们的方法,这两个级别在ARM Cortex-A8和8位AVR处理器上实现了更显著的加速。
引用
@article{arxiv.1703.08228,
title = {Automatically Tuning the GCC Compiler to Optimize the Performance of Applications Running on Embedded Systems},
author = {Craig Blackmore and Oliver Ray and Kerstin Eder},
journal= {arXiv preprint arXiv:1703.08228},
year = {2017}
}