arXiv:2509.06794cs.PLcs.AR2025-09被引 9

Dato让开发者用任务流编程加速器,轻松实现高性能数据流动。

Dato: A Task-Based Programming Model for Dataflow Accelerators

  • 用任务和流类型显式定义数据流动,支持细粒度控制。
  • 在NPU上实现84%硬件利用率,注意力核提速2.81倍。
  • 适合需要高效数据流调度的AI加速器开发人员。

当前深度学习工作负载对计算的需求已超出内存系统承载能力,大量算子因数据移动而停滞。尽管现代数据流加速器采用片上流机制缓解外部带宽瓶颈,但现有编程模型难以有效利用这些能力。低层接口虽提供精细控制,却增加开发负担;高层基于区块的语言抽象通信细节,限制优化空间并迫使编译器重建数据流。我们提出Dato,一种嵌入Python的任务型编程模型,将数据通信与分片提升为一等类型构造。开发者以任务图形式编写程序,通过显式流类型连接,分片输入使用布局类型指定。任务首先虚拟映射至加速器的空间结构,编译器再生成满足硬件约束的物理映射。在AMD Ryzen AI NPU和Alveo FPGA上的实验表明,Dato实现高效率的同时显著降低优化代码编写负担:在NPU上GEMM达到84%硬件利用率,注意力核相比先进商业框架提速2.81倍;在FPGA上生成定制化阵列性能超越主流框架,达理论峰值的98%。

原文摘要 · Abstract (English)

Recent deep learning workloads increasingly push computational demand beyond what current memory systems can sustain, with many kernels stalling on data movement rather than computation. While modern dataflow accelerators incorporate on-chip streaming to mitigate off-chip bandwidth limitations, existing programming models struggle to harness these capabilities effectively. Low-level interfaces provide fine-grained control but impose significant development overhead, whereas high-level tile-based languages abstract away communication details, restricting optimization and forcing compilers to reconstruct the intended dataflow. We present Dato, a Python-embedded, task-based programming model for dataflow accelerators that elevates data communication and sharding to first-class type constructs. Developers write programs as a graph of tasks connected via explicit stream types, with sharded inputs specified using layout types. These tasks are first mapped virtually onto the accelerator's spatial fabric, and the compiler then generates a physical mapping that respects hardware constraints. Experimental results on both AMD Ryzen AI NPU and Alveo FPGA devices demonstrate that Dato achieves high performance while significantly reducing the burden of writing optimized code. On the NPU, Dato attains up to 84% hardware utilization for GEMM and delivers a 2.81x speedup on attention kernels compared to a state-of-the-art commercial framework. On the FPGA, Dato surpasses leading frameworks in performance when generating custom systolic arrays, achieving 98% of the theoretical peak performance.

编程模型数据流加速器Python

Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。