Easing the production and use of high-performance mathematical software
Professor Liz Jessup, Department of Computer Science, University of Colorado Boulder
Mathematical calculations constitute the most time-consuming part of many scientific and engineering simulations. Lowering the run-times of those computations can have a significant impact on overall application performance.
The process of converting mathematical algorithms to high-quality implementations is, however, a very complex one requiring expertise across a broad range of computer science.
Scientists and engineers thus turn to tuned libraries written by experts for key numerical algorithms. Unfortunately, even identifying the appropriate libraries can be a challenge for those without advanced computing skills.
Using linear algebra as an example, we'll discover the difficulties in finding and using appropriate mathematical software.
We'll then review the design, implementation, and evaluation of Lighthouse, a framework for taking a linear algebra problem from algorithm description to high-performance implementation. Lighthouse offers a selection of interfaces to assist users of different backgrounds in exploiting numerical software and code generation and tuning tools.
Liz Jessup is a professor in the Department of Computer Science at the University of Colorado Boulder.
She earned her BA in mathematics at Williams College and her MS in applied physics and PhD in computer science at Yale University.
Her research concerns the development of efficient algorithms and software for linear algebra problems.
Her recent work focuses on ways to ease the production and use of high-performance linear algebra software.
Liz has been actively involved in computer science education, beginning with her role as co-creator of an award-winning, NSF-funded undergraduate curriculum in high-performance scientific computing.
She has also worked to promote the participation of women in computing and has carried out research into factors influencing women's choices to study computing.