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 tran...