Show simple item record

dc.contributor.advisorStrout, Michelle Mills
dc.contributor.advisorBieman, James M.
dc.contributor.authorWilcox, Chris
dc.contributor.committeememberBohm, Anton P. W.
dc.contributor.committeememberTurk, Daniel
dc.date.accessioned2007-01-03T08:10:16Z
dc.date.available2007-01-03T08:10:16Z
dc.date.issued2012
dc.description2012 Spring.
dc.descriptionIncludes bibliographical references.
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.publisherColorado State University. Libraries
dc.relation.ispartof2000-2019 - CSU Theses and Dissertations
dc.rightsCopyright of the original work is retained by the author.
dc.subjectcode generation
dc.subjecterror analysis
dc.subjectlookup tables
dc.subjectperformance optimization
dc.subjectscientific computing
dc.titleMethodology for automated lookup table optimization of scientific applications, A
dc.typeText
dcterms.rights.dplaThe copyright and related rights status of this Item has not been evaluated (https://rightsstatements.org/vocab/CNE/1.0/). Please refer to the organization that has made the Item available for more information.
thesis.degree.disciplineComputer Science
thesis.degree.grantorColorado State University
thesis.degree.levelDoctoral
thesis.degree.nameDoctor of Philosophy (Ph.D.)


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record