A methodology for automated lookup table optimization of scientific applications
dc.contributor.author | Wilcox, Chris, author | |
dc.contributor.author | Strout, Michelle Mills, advisor | |
dc.contributor.author | Bieman, James M., advisor | |
dc.contributor.author | Bohm, Anton P. W., committee member | |
dc.contributor.author | Turk, Daniel, committee member | |
dc.date.accessioned | 2007-01-03T08:10:16Z | |
dc.date.available | 2007-01-03T08:10:16Z | |
dc.date.issued | 2012 | |
dc.description.abstract | Tuning the performance of scientific codes is challenging because of their math-intensive nature. Applications such as climate modeling and molecular biology simulate the behavior of natural systems based on scientific equations. Translating these equations into code can often yield expressions that are expensive to evaluate. Trigonometric, logarithmic, and exponential elementary functions are especially problematic because of their high cost relative to ordinary arithmetic. Lookup table (LUT) transformation can expedite function evaluation by precomputing and storing function results, thereby allowing inexpensive memory lookups to replace costly function calls. Practical concerns limit the size and accuracy of LUT data, thus the technique represents a tradeoff between error and performance. Current practice has the programmer apply each LUT transform manually, thereby impacting productivity, obfuscating code, and limiting programmer control over accuracy and performance. The goal of our research is to help scientific programmers use LUT techniques in a more effective and productive manner. Our approach substantially automates the process of applying LUT transformation via a methodology and its implementation in the Mesa tool. Mesa incorporates algorithms that make adding a LUT transform easier for the programmer, including expression enumeration, domain profiling, error analysis, performance modeling, and code generation. In addition we introduce a novel algorithm for LUT optimization that analyzes application code and helps the programmer identify the most beneficial set of expressions to transform. We demonstrate the effectiveness of our algorithms by using Mesa to perform case studies of scientific applications. Mesa achieves performance speedups of 1.4X to 6.9X without significantly compromising application accuracy. Finally we present evidence that our methodology allows the scientific programmer to be more productive and effective. | |
dc.format.medium | born digital | |
dc.format.medium | doctoral dissertations | |
dc.identifier | Wilcox_colostate_0053A_10954.pdf | |
dc.identifier | ETDF2012400284COMS | |
dc.identifier.uri | http://hdl.handle.net/10217/67659 | |
dc.language | English | |
dc.language.iso | eng | |
dc.publisher | Colorado State University. Libraries | |
dc.relation.ispartof | 2000-2019 | |
dc.rights | Copyright and other restrictions may apply. User is responsible for compliance with all applicable laws. For information about copyright law, please see https://libguides.colostate.edu/copyright. | |
dc.subject | code generation | |
dc.subject | error analysis | |
dc.subject | lookup tables | |
dc.subject | performance optimization | |
dc.subject | scientific computing | |
dc.title | A methodology for automated lookup table optimization of scientific applications | |
dc.type | Text | |
dcterms.rights.dpla | This Item is protected by copyright and/or related rights (https://rightsstatements.org/vocab/InC/1.0/). You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s). | |
thesis.degree.discipline | Computer Science | |
thesis.degree.grantor | Colorado State University | |
thesis.degree.level | Doctoral | |
thesis.degree.name | Doctor of Philosophy (Ph.D.) |
Files
Original bundle
1 - 1 of 1
Loading...
- Name:
- Wilcox_colostate_0053A_10954.pdf
- Size:
- 3.79 MB
- Format:
- Adobe Portable Document Format
- Description: