Ascend C笔记
收藏回复举报
Ascend C笔记
新人帖
发表于2024-07-10 14:07:13
0 查看

昇腾AI处理器:华为达芬奇架构+高集成SoC设计。内部集成CPU、NPU、网卡与编解码器。

CANN 达芬奇架构 算子

AI core:AI处理器的计算核心,采用达芬奇架构。其中不同处理器版本,AI core的计算、存储和带宽资源不同。
达芬奇架构主要组成:

1. 计算单元:矩阵、向量、标量

2. 存储单元:多层级

3. 控制单元 :指令控制

20210519225027356.png

AI core内部并行计算架构抽象

异步指令流

同步信号流:保证不同指令队列的指令按正确逻辑执行

计算数据流

算子

在神经网络中的含义:网络中层或节点的计算逻辑

数学含义:一个函数空间到函数空间的映射。

使用算子的优点:对常用计算逻辑进行封装,避免重复工作

算子基本概念:

算子名称:算子名称需保持唯一

算子类型:相同类型的算子实现逻辑相同

数据容器: 承载算子数据的容器为张量

属性:轴

张量——Tensor

名称(name)

形状(shape)

数据类型(dtype)

数据排布格式(format):各数据有各自排布方式,对应不同处理

eg:卷积神经网络的特征图,通常用四维数组表示(4D格式),N,batch数量;H,特征图高度;W,特征图宽度;C,channels,特征图通道

昇腾Ascend C快速入门

Ascend C是CANN针对算子开发场景推出的编程语言。

核函数:Ascend C 算子设备侧的入口

如何编写核函数:

用户可统一使用unit8_t指针类型。
__gm__为变量限定符

内核调用符<<<…>>>

kernel_name<<<blockDim, l2ctrl, stream>>>(argument list);

编程模型——SPMD

单程序,多数据

开发流程

zh-cn_image_0000001912977634.png

我要发帖子