Norris, BoyanaMeng, Kewen2021-11-232021-11-232021-11-23https://hdl.handle.net/1794/26859Application performance models are important for both software and hardware development. They can be used to understand and improve application performance, to determine what architectural features are important to a particular program component, or to guide the design of new architectures. Creating accurate performance models of most computations typically requires significant expertise, human effort, and computational resources. Moreover, even when performed by experts, it is necessarily limited in scope, accuracy, or both. This research considers a number of novel static program analysis techniques to create performance-related program representations of high-performance computations. These program representations can be used to model performance or to support efficient and accurate matching of computational kernels. We develop two different tools for static analysis-based program representation and demonstrate how they can be used for the optimization of scientific applications.en-USAll Rights Reserved.Compiler-Assisted Program Modeling for Performance Tuning of Scientific ApplicationsElectronic Thesis or Dissertation