Looplets: A Language for Structured Coiteration

7Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.

Abstract

Real world arrays often contain underlying structure, such as sparsity, runs of repeated values, or symmetry. Specializing for structure yields significant speedups. But automatically generating efficient code for structured data is challenging, especially when arrays with different structure interact. We show how to abstract over array structures so that the compiler can generate code to coiterate over any combination of them. Our technique enables new array formats (such as 1DVBL for irregular clustered sparsity), new iteration strategies (such as galloping intersections), and new operations over structured data (such as concatenation or convolution).

Cite

CITATION STYLE

APA

Ahrens, W., Donenfeld, D., Kjolstad, F., & Amarasinghe, S. (2023). Looplets: A Language for Structured Coiteration. In CGO 2023 - Proceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization (pp. 41–54). Association for Computing Machinery, Inc. https://doi.org/10.1145/3579990.3580020

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free