High-performance Computing, With Much Less Code

This article describes Exo 2, a new programming language developed at MIT’s CSAIL, that aims to simplify and accelerate the creation of high-performance computing libraries. Unlike traditional compilers that automatically generate code, Exo 2 allows programmers to write “schedules” that explicitly control code generation, leading to significant performance improvements. Key features of Exo 2 include:

  • User-Schedulable Language (USL): Empowers programmers to optimize code through explicit scheduling.
  • Reusable Scheduling Libraries: Enables the creation of libraries that encapsulate optimization techniques, reducing code duplication and development time.
  • Cursors: A novel mechanism that provides stable references to object code, facilitating the creation of reusable scheduling functions.
  • Performance Competitiveness: Demonstrates performance comparable to or better than state-of-the-art libraries like MKL and OpenBLAS, with significantly less code.

Essentially, Exo 2 offers a more efficient and flexible approach to developing high-performance computing libraries, potentially democratizing access to optimized code and reducing the coding effort required.

1 Like