cornell-zhang/allo

Allo Accelerator Design and Programming Framework (PLDI'24)

What it solves

Allo addresses the difficulty of designing and programming high-performance machine learning accelerators. It provides a unified way to both design the hardware architecture and write the programs that run on it, making the process more modular and reusable.

How it works

Allo is a Python-embedded language and compiler based on MLIR. It allows developers to use behavioral and structural composition to build complex accelerator systems from smaller, reusable components. It can automatically generate accelerators from PyTorch models and integrates with a high-performance simulator and a formal verifier to ensure correctness.

Who it’s for

Hardware architects and ML compiler engineers who are building custom AI accelerators for FPGAs (AMD and Intel) or NPUs (AMD Ryzen AI Engine).

Highlights

  • Unified Abstraction: Combines hardware design and software programming into a single framework.
  • End-to-End Workflow: Supports automatic generation from PyTorch models and includes tools for verification and simulation.
  • Multi-Backend Support: Targets AMD/Intel FPGAs and AMD Ryzen NPUs, with future plans for GPUs and ASICs.
  • MLIR-Based: Leverages the MLIR compiler framework for efficient optimization and code generation.

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト