Exo 2: Growing a Scheduling Language
Yuka Ikarashi, Kevin Qian, Samir Droubi, Alex Reinking, Gilbert, Bernstein, and Jonathan Ragan-Kelley

TL;DR
Exo 2 introduces a flexible, user-extensible scheduling language that allows programmers to define custom scheduling operations, improving automation and performance across diverse high-performance kernels.
Contribution
The paper presents Exo 2, a novel scheduling language with a mechanism called Cursors, enabling users to extend scheduling capabilities externally and build efficient, reusable scheduling libraries.
Findings
Reduces scheduling code by over 10x
Achieves performance comparable to state-of-the-art
Supports automation across 80+ kernels
Abstract
User-schedulable languages (USLs) help programmers productively optimize programs by providing safe means of transforming them. Current USLs are designed to give programmers exactly the control they want, while automating all other concerns. However, there is no universal answer for what performance-conscious programmers want to control, how they want to control it, and what they want to automate, even in relatively narrow domains. We claim that USLs should, instead, be designed to grow. We present Exo 2, a scheduling language that enables users to define new scheduling operations externally to the compiler. By composing a set of trusted, fine-grained primitives, users can safely write their own scheduling library to build up desired automation. We identify actions (ways of modifying code), inspection (ways of interrogating code), and references (ways of pointing to code) as essential…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsScheduling and Timetabling Solutions · Scheduling and Optimization Algorithms
