...
首页> 外文期刊>Journal of Software Maintenance and Evolution >An optimization-based approach to lookup table program transformations
【24h】

An optimization-based approach to lookup table program transformations

机译:基于优化的查找表程序转换方法

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

摘要

Scientific programmers can improve the performance of function evaluation by precomputing and storing results in a lookup table (LUT), thereby replacing costly evaluation code with an inexpensive memory access. A code transformation that replaces computation with LUT code can improve performance; however, accuracy is reduced because of error inherent in reconstructing values from LUT data. LUTs are commonly used to approximate expensive elementary functions. The current practice is for software developers to: (i) manually identify expressions that can benefit from an LUT; (ii) modify the code by hand to implement the LUT transformation; and (iii) run experiments to determine if the resulting error is within application requirements. This approach reduces productivity, obfuscates code, and limits programmer control over accuracy and performance. We propose source code analysis and program transformation to substantially automate LUT transformations. Our approach uses a novel optimization algorithm that selects Pareto optimal sets of expressions that benefit most from an LUT, on the basis of the error and performance estimates. We demonstrate our methodology with the Mesa tool, which achieves speedups of 1.4–6.8× on scientific codes with an acceptable loss of accuracy. Our tool makes the programmer more productive and facilitates finding effective LUT transformations. Copyright © 2013 John Wiley & Sons, Ltd.
机译:科学程序员可以通过将结果预先计算并存储在查找表(LUT)中来提高功能评估的性能,从而用廉价的内存访问来代替昂贵的评估代码。用LUT代码代替计算的代码转换可以提高性能。但是,由于从LUT数据重建值时固有的误差,降低了精度。 LUT通常用于近似昂贵的基本功能。当前的做法是让软件开发人员:(i)手动识别可以从LUT中受益的表达式; (ii)手动修改代码以实施LUT转换; (iii)运行实验以确定结果错误是否在应用程序要求之内。这种方法降低了生产率,混淆了代码,并限制了程序员对准确性和性能的控制。我们提出源代码分析和程序转换,以实质上实现LUT转换的自动化。我们的方法使用一种新颖的优化算法,该算法根据误差和性能估计来选择从LUT中受益最大的Pareto最优表达式集。我们使用Mesa工具演示了我们的方法,该工具在科学代码上可将速度提高1.4–6.8倍,并且可以接受可接受的精度损失。我们的工具提高了程序员的生产力,并有助于找到有效的LUT转换。版权所有©2013 John Wiley&Sons,Ltd.

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号