The Sparse Polyhedral Framework: Composing Compiler-Generated Inspector-Executor Code

Michelle Mills Strout, Mary Hall, Catherine Olschanowsky

Research output: Contribution to journalArticlepeer-review

42 Scopus citations

Abstract

Irregular applications such as big graph analysis, material simulations, molecular dynamics simulations, and finite element analysis have performance problems due to their use of sparse data structures. Inspector-executor strategies improve sparse computation performance through parallelization and data locality optimizations. An inspector reschedules and reorders data at runtime, and an executor is a transformed version of the original computation that uses the newly reorganized schedules and data structures. Inspector-executor transformations are commonly written in a domain-specific or even application-specific fashion. Significant progress has been made in incorporating such inspector-executor transformations into existing compiler transformation frameworks, thus enabling their use with compile-time transformations. However, composing inspector-executor transformations in a general way has only been done in the context of the Sparse Polyhedral Framework (SPF). Though SPF enables the general composition of such transformations, the resulting inspector and executor performance suffers due to missed specialization opportunities. This paper reviews the history and current state of the art for inspector-executor strategies and reviews how the SPF enables the composition of inspector-executor transformations. Further, it describes a research vision to combine this generality in SPF with specialization to achieve composable and high performance inspectors and executors, producing a powerful compiler framework for sparse matrix computations.

Original languageEnglish (US)
Article number8436444
Pages (from-to)1921-1934
Number of pages14
JournalProceedings of the IEEE
Volume106
Issue number11
DOIs
StatePublished - Nov 2018

Keywords

  • Intermediate representations
  • irregular computations
  • program optimization and parallelization
  • sparse matrices

ASJC Scopus subject areas

  • General Computer Science
  • Electrical and Electronic Engineering

Fingerprint

Dive into the research topics of 'The Sparse Polyhedral Framework: Composing Compiler-Generated Inspector-Executor Code'. Together they form a unique fingerprint.

Cite this