exo-lang/exo

Exocompilation for productive programming of hardware accelerators

解決的問題

Exo 是一種旨在提高硬體加速器編程效率的語言和編譯器。它彌合了高階生產力與在專用硬體上優化性能所需的低階控制之間的鴻溝。

工作原理

Exo 允許開發人員編寫可以透過 Python 直接執行,或使用 exocc 命令將其編譯為 C 和標頭檔的程式碼。它利用基於 CMake 和 Ninja 的建置系統來編譯和連結生成的 C 程式碼。對於進階硬體功能測試(例如 AVX-512 或 AMX),它可以與 Intel Software Development Emulator (SDE) 集成。

適用對象

面向需要高效調度與優化運算,且不願犧牲生產力的硬體加速器開發人員與研究人員。

亮點

  • Exocompilation:針對硬體加速器的專門編譯流程。
  • C 程式碼生成:能夠從 Exo 檔案生成 C 和標頭檔。
  • 硬體支援:與 Intel SDE 等工具整合,用於測試 AMX 等 x86 特定功能。
  • 學術基礎:基於在 PLDI 2022 和 ASPLOS 2025 上發表的研發成果。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案