NYCCS/Computer Science Seminar
Lawrence Livermore National Laboratory
“Autotuning Sparse Matrix Kernals”
Wednesday, February 28, 2007 @ 1:00 PM
Computer Science Bldg., Rm. 2311
Abstract: “Autotuning” is the process of automatically improving an application’s performance, for a given machine and/or input problem, using automated experiments. In this talk, I present OSKI, a freely available autotuning system for sparse matrix kernels. OSKI targets kernels, such as sparse matrix-vector multiply (SpMV) and triangular solve, that are frequent bottlenecks in diverse applications in scientific computing, economic modeling, and information retrieval. OSKI hides the complexity of choosing data structure and code transformations at run-time that will yield the best performance for a given matrix, machine, and workload of kernel operations. For SpMV, traditional implementations typically run at 10% or less of peak machine speed; in contrast, OSKI’s SpMV achieves up to 31% of peak and runs up to 4X faster. OSKI is being adopted by commercial tools and high-level parallel solver libraries.
Looking forward, we might ask to what extent could we autotune an arbitrary application. I close this talk by summarizing an early-stage, long-term effort to develop an autotuning compiler.