DocumentCode
2997907
Title
Improving High-Performance Sparse Libraries Using Compiler-Assisted Specialization: A PETSc Case Study
Author
Ramalingam, Shreyas ; Hall, Mary ; Chen, Chun
Author_Institution
Sch. of Comput., Univ. of Utah, Salt Lake City, UT, USA
fYear
2012
fDate
21-25 May 2012
Firstpage
487
Lastpage
496
Abstract
Scientific libraries are written in a general way in anticipation of a variety of use cases that reduce optimization opportunities. Significant performance gains can be achieved by specializing library code to its execution context: the application in which it is invoked, the input data set used, the architectural platform and its backend compiler. Such specialization is not typically done because it is time consuming, leads to nonportable code and requires performance-tuning expertise that application scientists may not have. Tool support for library specialization in the above context could potentially reduce the extensive understanding required while significantly improving performance, code reuse and portability. In this work, we study the performance gains achieved by specializing the single processor sparse linear algebra functions in PETSc (Portable, Extensible Toolkit for Scientific Computation) in the context of three scalable scientific applications on the Hopper Cray XE6 Supercomputer at NERSC. We use CHiLL (Compos able High-Level Loop Transformation Framework) to apply source level transformations tailored to the special needs of sparse computations and automatically generate highly optimized PETSc functions. We demonstrate significant performance improvements of more than 1.8X on the library functions and overall gains of 9 to 24% on three scalable applications that use PETSc´s sparse matrix capabilities.
Keywords
linear algebra; program compilers; software libraries; CHiLL; Hopper Cray XE6 Supercomputer; NERSC; PETSc; Portable, Extensible Toolkit for Scientific Computation; backend compiler; code reuse; compiler-assisted specialization; composable high-level loop transformation framework; high-performance sparse libraries; library code; library specialization; portability; scientific libraries; single processor sparse linear algebra functions; Computer architecture; Context; Libraries; Linear algebra; Optimization; Performance gain; Sparse matrices; Code Optimization; Code Specialization; Compilers for High Performance Computing; Loop transformations; PETSc; Scientific Computing;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2012 IEEE 26th International
Conference_Location
Shanghai
Print_ISBN
978-1-4673-0974-5
Type
conf
DOI
10.1109/IPDPSW.2012.63
Filename
6270683
Link To Document