• 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