中文

Vyasa:面向 Xilinx AI Engine 张量卷积的高性能向量化编译器

分布式、并行与集群计算 2020-06-03 v1

摘要

Xilinx 的 AI Engine 是能效向量处理的近期工业实例,包含对 2D SIMD 数据通路和 shuffle 互连网络的新颖支持。当前 AI Engine 的编程方法依赖于用于向量内联函数的 C/C++ API。虽然这比汇编级编程有所进步,但它要求程序员基于对硬件的详细了解来指定大量低级操作。为了应对这些挑战,我们引入了 Vyasa,这是一个扩展了 Halide DSL 编译器以自动为 AI Engine 生成代码的新编程系统。我们在 36 个 CONV2D 和 6 个 CONV3D 工作负载上评估了 Vyasa,对于 32 位和 16 位操作数分别实现了 7.6 和 23.3 MACs/cycle 的几何平均值(分别代表了 95.9% 和 72.8% 的峰值性能)。在我们获得了专家编写代码的 4 个工作负载中,与专家编写的代码相比,Vyasa 展现出了 1.10 倍的几何平均性能提升,且代码量缩小了 50 倍。

关键词

引用

@article{arxiv.2006.01331,
  title  = {Vyasa: A High-Performance Vectorizing Compiler for Tensor Convolutions on the Xilinx AI Engine},
  author = {Prasanth Chatarasi and Stephen Neuendorffer and Samuel Bayliss and Kees Vissers and Vivek Sarkar},
  journal= {arXiv preprint arXiv:2006.01331},
  year   = {2020}
}