Breakthrough in high-performance computing: Exo 2 programming language enables reusable scheduling libraries with significantly less code, promising to revolutionize the field of artificial intelligence systems.
High-Performance Computing with Less Code: The Exo 2 Programming Language
Enabling Reusable Scheduling Libraries for Performance Gains
The development of high-performance computing (HPC) libraries has become crucial in modern artificial intelligence systems. Companies like NVIDIA invest heavily in hiring talent to create these advanced libraries, creating a competitive moat that is difficult to breach. However, researchers at MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) have made a breakthrough with the introduction of Exo 2, a new programming language that enables high-performance coding with significantly less code.
Exo 2 belongs to a new category of programming languages called ‘user-schedulable languages’ (USLs), which put programmers in control of how the compiler generates code. This allows performance engineers to transform simple programs into complex ones that achieve the same results but at a much faster pace. The key advantage of Exo 2 lies in its ability to enable reusable scheduling libraries, facilitating the creation of high-performance libraries across different ‘kernels’ and hardware targets.
A Novel Approach to Scheduling Libraries
Exo 2’s novel mechanism called ‘Cursors‘ provides a stable reference for pointing at object code throughout the scheduling process. This enables users to encapsulate schedules within a library function, rendering the scheduling code independent of object-code transformations. Lead author Yuka Ikarashi emphasizes that Exo 2 should be designed to be user-extensible, allowing languages to grow and support large projects through the implementation of libraries accommodating diverse optimization requirements and application domains.

A database cursor is a control structure that enables traversal over the records in a database table.
It acts as a pointer to the current row being processed, allowing for efficient retrieval and manipulation of data.
Cursors are commonly used in SQL queries to fetch and display large datasets.
They can be classified into two types: forward-only cursors and scrollable cursors.
Forward-only cursors allow movement only in one direction, while scrollable cursors permit movement in both directions.
Reduced Coding Effort and Improved Performance
Exo 2’s design allows performance engineers to focus on high-level optimization strategies while ensuring that the underlying object code remains functionally equivalent. The language enables the creation of reusable optimizations, reducing the amount of coding effort needed at any one time. Researchers implemented a scheduling library with roughly 2,000 lines of code in Exo 2, consolidating scheduling efforts across more than 80 high-performance kernels with up to a dozen lines of code each.
Future Directions and Applications
The team hopes to expand Exo 2’s support for different types of hardware accelerators, such as GPUs. Ongoing projects aim to improve the compiler analysis itself, in terms of correctness, compilation time, and expressivity. The potential applications of Exo 2 are vast, from optimizing kernels across different operations, data types, and target architectures to improving the performance of machine learning applications.
Conclusion
Exo 2 represents a significant breakthrough in high-performance computing, enabling reusable scheduling libraries that can compete with state-of-the-art implementations on multiple platforms. Its novel mechanism and design make it an attractive option for engineers in HPC focused on optimizing kernels across different operations, data types, and target architectures.