Repository logo
 

A methodology for automated lookup table optimization of scientific applications

dc.contributor.authorWilcox, Chris, author
dc.contributor.authorStrout, Michelle Mills, advisor
dc.contributor.authorBieman, James M., advisor
dc.contributor.authorBohm, Anton P. W., committee member
dc.contributor.authorTurk, Daniel, committee member
dc.date.accessioned2007-01-03T08:10:16Z
dc.date.available2007-01-03T08:10:16Z
dc.date.issued2012
dc.description.abstractTuning 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.mediumborn digital
dc.format.mediumdoctoral dissertations
dc.identifierWilcox_colostate_0053A_10954.pdf
dc.identifierETDF2012400284COMS
dc.identifier.urihttp://hdl.handle.net/10217/67659
dc.languageEnglish
dc.language.isoeng
dc.publisherColorado State University. Libraries
dc.relation.ispartof2000-2019
dc.rightsCopyright 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.subjectcode generation
dc.subjecterror analysis
dc.subjectlookup tables
dc.subjectperformance optimization
dc.subjectscientific computing
dc.titleA methodology for automated lookup table optimization of scientific applications
dc.typeText
dcterms.rights.dplaThis 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.disciplineComputer Science
thesis.degree.grantorColorado State University
thesis.degree.levelDoctoral
thesis.degree.nameDoctor of Philosophy (Ph.D.)

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Wilcox_colostate_0053A_10954.pdf
Size:
3.79 MB
Format:
Adobe Portable Document Format
Description: