Scheduling Languages: A Past, Present, and Future Taxonomy
Mary Hall, Cosmin Oancea, Anne C. Elster, Ari Rasch, Sameeran Joshi,, Amir Mohammad Tavakkoli, Richard Schulze

TL;DR
This paper reviews the evolution and current state of scheduling languages in compilers, proposing a taxonomy to unify features, improve usability, and guide future developments for broader adoption and enhanced compiler exploration.
Contribution
It provides a comprehensive taxonomy of scheduling languages, analyzing their origins, features, and usage, and advocates for standardization and higher abstraction levels to benefit users and developers.
Findings
Scheduling languages originate from iterative compilation and autotuning.
Existing frameworks share common features and usage patterns.
A taxonomy can unify and improve scheduling language design.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsConstraint Satisfaction and Optimization · Scheduling and Optimization Algorithms
