Scheduling Language Chronology: Past, Present, and FutureOpen Access

Hall, Mary; Oancea, Cosmin E.; Elster, Anne C.; Rasch, Ari; Joshi, Sameeran; Tavakkoli, Amir Mohammad; Schulze, Richard

Research article (journal) | Peer reviewed

Abstract

Scheduling languages express to a compiler—or equivalently, a code generator—a sequence of optimizations to apply. Performance tools that support a scheduling language interface allow exploration of optimizations, i.e., exploratory compilers. While scheduling languages have become a common feature of tools for experts, 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 article provides a chronology of scheduling languages, discussing their origins in iterative compilation and autotuning, noting the common features that are used in existing frameworks, and calling for changes to increase their utility and portability.

Details about the publication

JournalTransactions on Architecture and Code Optimization (TACO)
Volume22
Issue3
Page range1-31
Article number100
StatusPublished
Release year2025
DOI10.1145/3743135
KeywordsScheduling languages; compilers; domain-specific languages; parallel; distributed

Authors from the University of Münster

Rasch, Ari
Professorship of Practical Comupter Science (Prof. Gorlatch)
Institute of Computer Science
Schulze, Richard Heinrich Hermann
Professorship of Practical Comupter Science (Prof. Gorlatch)
Institute of Computer Science