当前位置: X-MOL 学术Sci. Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Tool support for software lookup table optimization.
Scientific Programming ( IF 1.672 ) Pub Date : 2011 , DOI: 10.3233/spr-2011-0329
Chris Wilcox 1 , Michelle Mills Strout 1 , James M Bieman 1
Affiliation  

A number of scientific applications are performance-limited by expressions that repeatedly call costly elementary functions. Lookup table (LUT) optimization accelerates the evaluation of such functions by reusing previously computed results. LUT methods can speed up applications that tolerate an approximation of function results, thereby achieving a high level of fuzzy reuse. One problem with LUT optimization is the difficulty of controlling the tradeoff between performance and accuracy. The current practice of manual LUT optimization adds programming effort by requiring extensive experimentation to make this tradeoff, and such hand tuning can obfuscate algorithms. In this paper we describe a methodology and tool implementation to improve the application of software LUT optimization. Our Mesa tool implements source-to-source transformations for C or C++ code to automate the tedious and error-prone aspects of LUT generation such as domain profiling, error analysis, and code generation. We evaluate Mesa with five scientific applications. Our results show a performance improvement of 3.0× and 6.9× for two molecular biology algorithms, 1.4× for a molecular dynamics program, 2.1× to 2.8× for a neural network application, and 4.6× for a hydrology calculation. We find that Mesa enables LUT optimization with more control over accuracy and less effort than manual approaches.

中文翻译:

软件查找表优化的工具支持。

许多科学应用程序的性能受到重复调用代价高昂的基本函数的表达式的限制。查找表 (LUT) 优化通过重用先前计算的结果来加速此类函数的评估。LUT 方法可以加速容忍函数结果近似的应用程序,从而实现高水平的模糊重用。LUT 优化的一个问题是难以控制性能和准确性之间的权衡。当前手动 LUT 优化的做法需要大量实验来进行权衡,从而增加了编程工作量,而这种手动调整可能会混淆算法。在本文中,我们描述了一种方法和工具实现,以改进软件 LUT 优化的应用。我们的 Mesa 工具实现了 C 或 C++ 代码的源到源转换,以自动化 LUT 生成的繁琐和容易出错的方面,例如域分析、错误分析和代码生成。我们通过五个科学应用评估 Mesa。我们的结果表明,两种分子生物学算法的性能提高了 3.0 倍和 6.9 倍,分子动力学程序的性能提高了 1.4 倍,神经网络应用程序的性能提高了 2.1 倍到 2.8 倍,水文计算的性能提高了 4.6 倍。我们发现,与手动方法相比,Mesa 可以更好地控制精度并减少工作量,从而实现 LUT 优化。两种分子生物学算法为 9 倍,分子动力学程序为 1.4 倍,神经网络应用程序为 2.1 到 2.8 倍,水文计算为 4.6 倍。我们发现,与手动方法相比,Mesa 可以更好地控制精度并减少工作量,从而实现 LUT 优化。两种分子生物学算法为 9 倍,分子动力学程序为 1.4 倍,神经网络应用程序为 2.1 到 2.8 倍,水文计算为 4.6 倍。我们发现,与手动方法相比,Mesa 可以更好地控制精度并减少工作量,从而实现 LUT 优化。
更新日期:2020-09-25
down
wechat
bug