skip to main content
DOE PAGES title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Tool Support for Software Lookup Table Optimization

Abstract

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.

Authors:
 [1];  [1];  [1]
  1. Computer Science Department, Colorado State University, 1873 Campus Delivery, Fort Collins, CO 80523, USA
Publication Date:
Sponsoring Org.:
USDOE
OSTI Identifier:
1243134
Grant/Contract Number:  
SC0003956
Resource Type:
Published Article
Journal Name:
Scientific Programming
Additional Journal Information:
Journal Name: Scientific Programming Journal Volume: 19 Journal Issue: 4; Journal ID: ISSN 1058-9244
Publisher:
Hindawi Publishing Corporation
Country of Publication:
Egypt
Language:
English

Citation Formats

Wilcox, Chris, Strout, Michelle Mills, and Bieman, James M. Tool Support for Software Lookup Table Optimization. Egypt: N. p., 2011. Web. doi:10.1155/2011/813675.
Wilcox, Chris, Strout, Michelle Mills, & Bieman, James M. Tool Support for Software Lookup Table Optimization. Egypt. doi:10.1155/2011/813675.
Wilcox, Chris, Strout, Michelle Mills, and Bieman, James M. Sat . "Tool Support for Software Lookup Table Optimization". Egypt. doi:10.1155/2011/813675.
@article{osti_1243134,
title = {Tool Support for Software Lookup Table Optimization},
author = {Wilcox, Chris and Strout, Michelle Mills and Bieman, James M.},
abstractNote = {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.},
doi = {10.1155/2011/813675},
journal = {Scientific Programming},
number = 4,
volume = 19,
place = {Egypt},
year = {2011},
month = {1}
}

Journal Article:
Free Publicly Available Full Text
Publisher's Version of Record
DOI: 10.1155/2011/813675

Save / Share: