Automatically Harnessing Sparse Acceleration

Philip Ginsbach, Bruce Collie, Michael O'Boyle

Research output: Chapter in Book/Report/Conference proceedingConference contribution


Sparse linear algebra is central to many scientific programs, yet compilers fail to optimize it well. High-performance libraries are available, but adoption costs are significant. Moreover, libraries tie programs into vendor-specific software and hardware ecosystems, creating non-portable code.

In this paper, we develop a new approach based on our specification Language for implementers of Linear Algebra Computations (LiLAC). Rather than requiring the application developer to (re)write every program for a given library, the burden is shifted to a one-off description by the library implementer. The LiLAC-enabled compiler uses this to insert appropriate library routines without source code changes.

LiLAC provides automatic data marshaling, maintaining state between calls and minimizing data transfers. Appropriate places for library insertion are detected in compiler intermediate representation, independent of source languages.

We evaluated on large-scale scientific applications written in FORTRAN; standard C/C++ and FORTRAN benchmarks; and C++ graph analytics kernels. Across heterogeneous platforms, applications and data sets we show speedups of 1.1× to over 10× without user intervention
Original languageEnglish
Title of host publicationProceedings of the 29th International Conference on Compiler Construction
Place of PublicationNew York, NY, USA
PublisherAssociation for Computing Machinery (ACM)
Number of pages12
ISBN (Print)9781450371209
Publication statusPublished - 22 Feb 2020
EventACM SIGPLAN 2020 International Conference on Compiler Construction - San Diego, United States
Duration: 22 Feb 202023 Feb 2020
Conference number: 29


ConferenceACM SIGPLAN 2020 International Conference on Compiler Construction
Abbreviated titleCC 2020
CountryUnited States
CitySan Diego
Internet address


  • sparse linear algebra
  • library integration
  • domain specific languages
  • data marshalling
  • declarative langauges


Dive into the research topics of 'Automatically Harnessing Sparse Acceleration'. Together they form a unique fingerprint.

Cite this