首页> 外文期刊>Software >An experimental evaluation of scalar replacement on scientific benchmarks
【24h】

An experimental evaluation of scalar replacement on scientific benchmarks

机译:在科学基准上对标量替换进行实验评估

获取原文
获取原文并翻译 | 示例
       

摘要

This paper describes our experiments comparing multiple scalar replacement algorithms to evaluate their effectiveness on entire scientific application benchmarks within the context of a production-level compiler. We investigate at what point aggressive scalar replacement becomes detrimental and which dependence tests are necessary to give scalar replacement enough information to be effective. As many commercial optimizing compilers may include some version of scalar replacement as an optimization, it is important to determine how aggressive these algorithms need to be. Previously, no study has examined 'how much' scalar replacement is sufficient and effective within the context of an existing highly optimizing compiler. Our experiments show that, on whole programs, simple algorithms and simple dependence analysis capture nearly all opportunities for scalar replacement found in scientific application benchmarks. While additional aggressiveness may lead to some performance gain in some individual loops, it also leads to performance degradation too often to be worth the risk when considering entire applications. Algorithms restricted to value reuse over at most one loop iteration and to fully redundant array references give the best results. Our experiment further shows that scalar replacement is not only an effective optimization, but also a feasible one for commercial optimizers since the simple algorithms are not computationally expensive. Based upon our findings, we conclude that scalar replacement ought to be a part of any highly optimizing compiler because of its low cost and significant potential gain.
机译:本文介绍了我们的实验,该实验比较了多个标量替换算法,以评估它们在生产级编译器范围内在整个科学应用基准上的有效性。我们调查在什么时候进行积极的标量替换会变得有害,以及哪些依赖项测试对于使标量替换具有足够的有效信息是必需的。由于许多商业优化编译器可能包括标量替换的某些版本作为优化,因此确定这些算法需要具有多积极性非常重要。以前,没有研究在现有高度优化的编译器的背景下研究“多少”标量替换是足够和有效的。我们的实验表明,在整个程序上,简单的算法和简单的依赖性分析几乎捕获了科学应用基准中发现的标量替换的所有机会。尽管额外的主动性可能会在某些单独的循环中带来一些性能提升,但它也常常导致性能下降,以至于在考虑整个应用程序时不值得冒险。限于最多一次循环迭代的值重用和完全冗余的数组引用的算法可提供最佳结果。我们的实验进一步表明,标量替换不仅是一种有效的优化方法,而且对于商业优化器而言也是一种可行的方法,因为简单的算法在计算上并不昂贵。根据我们的发现,我们得出结论,标量替换应该是任何高度优化的编译器的一部分,因为它的低成本和巨大的潜在收益。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号