SHF: Small: Collaborative Research: Lighthouse: Resource-Aware Advisor for High-Performance Linear Algebra
University Of Colorado At Boulder, Boulder CO
Investigators
Abstract
This research will study ways to ease the production and use of high-performance matrix algebra software. Matrix algebra calculations constitute the most time-consuming part of simulations in diverse fields, and lowering the runtimes of those computations can have a significant impact on overall application performance. The process of converting matrix algebra from algorithm to high-quality implementation is, however, a complex one. At each step, the code developer is confronted with a myriad of possibilities, many requiring expertise in numerical computation, mathematical software, compilers, and computer architecture. In response to these difficulties, the PIs have developed a prototype taxonomy implementation entitled Lighthouse, which is a guide to the linear system solver routines from the software package LAPACK. It is the first framework that combines a matrix algebra software ontology with code generation and tuning capabilities. Its interface is designed for users across a spectrum of disciplines, career levels, and programming experience. The PIs will dramatically extend the Lighthouse framework in a number of new directions. First, they will construct a general taxonomy of software that can be used to build highly-optimized mathematical applications. The taxonomy will initially provide an organized ontology of software components for high-performance matrix algebra and later other numerical software from a variety of problem domains. It will serve as a guide to practitioners seeking to learn what is available for their mathematical programming tasks, how to use it, and how the various parts fit together. Second, the PIs will apply a combination of source code analysis and machine learning techniques to fully automate the generation of parameterized models that, given representative inputs and a simple architecture description, can be evaluated to identify methods from various libraries that best reflect the user's resource and performance requirements. This automation is critical for ensuring that the taxonomy is comprehensive enough to be useful and that it accurately reflects the features and performance of the latest versions of numerical libraries. Finally, the PIs will advance the state-of-the-art in tuning tools by improving some of the tools included in the taxonomy, broadening their ranges of functionality in terms of problem domains and languages. This project will produce the following impacts: greater performance by applications, enabling both more discovery with available computing resources and greater productivity of application programmers; greater understanding of the interaction between architecture and algorithms; and an educational tool for future computational scientists.
View original record on NSF Award Search →