School of Computing UofU calendar UofU index UofU directory Map About Salt Lake SoC Calendar University of Utah University of Utah
Colloquium

Jeremy Siek
University of Colorado at Boulder


Friday, May 17, 2013
3147 MEB
Refreshments 3:20 p.m.
Lecture 3:40 p.m.


Title: Reliable Generation of High-Performance Matrix Algebra

Abstract
Scientific programmers often turn to vendor-tuned Basic Linear Algebra Subprograms (BLAS) to obtain portable high performance. However, many numerical algorithms require several BLAS calls in sequence, and those successive calls result in suboptimal performance because the entire sequence should be optimized in concert. Alternatively, a programmer could start write their matrix operations directly in Fortran or C and use a state-of-the-art optimizing compiler. However, our experiments show that optimizing compilers often attain only one-quarter the performance of hand-optimized code. In this talk I present a domain-specific compiler for matrix algebra, the Build to Order BLAS (BTO), that reliably achieves high performance using a scalable search algorithm for choosing the best combination of loop fusion, array contraction, and multithreading for data parallelism. The BTO compiler generates code that is between 16% slower and 39% faster than hand-optimized code.



Return to 2013 Events Calendar


School of Computing • 50 S. Central Campus Dr. Rm. 3190 • Salt Lake City, UT 84112
801-581-8224 • Fax: 801-581-5843 • Send comments to webmaster@cs.utah.edu
Disclaimer