Scheduling Languages: A Past, Present, and Future Taxonomy
University of Utah, USA
arXiv:2410.19927 [cs.PL], (25 Oct 2024)
@misc{hall2024schedulinglanguagespastpresent,
title={Scheduling Languages: A Past, Present, and Future Taxonomy},
author={Mary Hall and Cosmin Oancea and Anne C. Elster and Ari Rasch and Sameeran Joshi and Amir Mohammad Tavakkoli and Richard Schulze},
year={2024},
eprint={2410.19927},
archivePrefix={arXiv},
primaryClass={cs.PL},
url={https://arxiv.org/abs/2410.19927}
}
Scheduling languages express to a compiler a sequence of optimizations to apply. Compilers that support a scheduling language interface allow exploration of compiler optimizations, i.e., exploratory compilers. While scheduling languages have become a common feature of tools for expert users, the proliferation of these languages without unifying common features may be confusing to users. Moreover, we recognize a need to organize the compiler developer community around common exploratory compiler infrastructure, and future advances to address, for example, data layout and data movement. To support a broader set of users may require raising the level of abstraction. This paper provides a taxonomy of scheduling languages, first discussing their origins in iterative compilation and autotuning, noting the common features and how they are used in existing frameworks, and then calling for changes to increase their utility and portability.
November 3, 2024 by hgpu