cornell-zhang/allo

Allo Accelerator Design and Programming Framework (PLDI'24)

解决的问题

Allo 解决了设计和编程高性能机器学习加速器的困难。它提供了一种统一的方法,既能设计硬件架构,又能编写在上面运行的程序,使整个过程更加模块化和可复用。

工作原理

Allo 是一个基于 MLIR 的 Python 嵌入式语言和编译器。它允许开发者通过行为和结构的组合,从更小、可复用的组件构建复杂的加速器系统。它可以自动从 PyTorch 模型生成加速器,并与高性能模拟器和形式化验证器集成,以确保正确性。

适用人群

正在为 FPGA(AMD 和 Intel)或 NPU(AMD Ryzen AI 引擎)构建定制 AI 加速器的硬件架构师和 ML 编译器工程师。

主要亮点

  • 统一抽象:将硬件设计与软件编程整合到一个框架中。
  • 端到端工作流:支持从 PyTorch 模型自动生成,并包含验证和模拟工具。
  • 多后端支持:目标为 AMD/Intel FPGA 和 AMD Ryzen NPU,未来计划支持 GPU 和 ASIC。
  • 基于 MLIR:利用 MLIR 编译器框架实现高效的优化和代码生成。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目