exo-lang/exo
Exocompilation for productive programming of hardware accelerators
What it solves
Exo is a language and compiler designed to make programming hardware accelerators more productive. It bridges the gap between high-level productivity and the low-level control required to optimize performance on specialized hardware.
How it works
Exo allows developers to write code that can be executed directly via Python or compiled into C and header files using the exocc command. It leverages a build system that utilizes CMake and Ninja to compile and link the generated C code. For advanced hardware feature testing (such as AVX-512 or AMX), it can integrate with the Intel Software Development Emulator (SDE).
Who it’s for
It is intended for developers and researchers working with hardware accelerators who need a way to schedule and optimize computations efficiently without sacrificing productivity.
Highlights
- Exocompilation: A specialized compilation process for hardware accelerators.
- C Code Generation: Ability to generate C and header files from Exo files.
- Hardware Support: Integration with tools like the Intel SDE for testing x86-specific features like AMX.
- Academic Foundation: Based on research published at PLDI 2022 and ASPLOS 2025.
Related
- Project
- Project
- Project
- Project
- Project