* Update intermediate_representation.md

fix bug

* Update accelerator_programming.md

Co-authored-by: Dalong <39682259+eedalong@users.noreply.github.com>
This commit is contained in:
yuanzhigang
2022-03-20 09:42:21 +08:00
committed by GitHub
parent 99f650d070
commit f9dccfc9f4

View File

@@ -9,7 +9,7 @@
:numref:`accelerator-design-title`节中列出的硬件加速器均具有一定的可编程性,程序员可以通过软件编程,有效的使能上述加速器进行计算加速。现有硬件加速器常见的两类编程方式主要有编程接口调用以及算子编译器优化。
#### 编程接口使能加速器
#### 编程接口使能加速器
硬件加速器出于计算效率和易用性等方面考虑将编程接口使能方式分为不同等级一般包括算子库层级编程原语层级以及指令层级。为了更具象的解释上述层级的区别我们以Volta架构的Tensor Core加速器为例由高层至底层对比介绍这三种不同编程方式
@@ -19,7 +19,7 @@
- **指令层级**如PTX ISA MMA指令集提供更细粒度的mma指令便于用户组成更多种形状的接口通过CUDA Device端内联编程使能TensorCore。
#### 算子编译器使能加速器
#### 算子编译器使能加速器
DSA架构的多维度AI加速器通常提供了更多的指令选择3D-Matrix/2D-Vector/1D-Scalar以及更加复杂的数据流处理通过提供接口调用的方式对程序开发人员带来较大的挑战。此外由于调度、切分的复杂度增加直接提供算子库的方式由于缺少根据目标shape调优的能力往往无法在所有shape下均得到最优的性能。因此对于DSA加速器业界通常采用算子编译器的解决方案。