Ascend C算子学习

Ascend C学习笔记

  1. 昇腾AI处理器:自研达芬奇架构+高集成SoC设计
  1. CPU分类: Control/AI/TS
  2. 达芬奇架构:包含大Cube结构,专为计算而生。
  3. 重点:AI Core
  1. 达芬奇架构主要构成部分:
  • 计算单元:三种基础计算资源(矩阵计算单元,向量计算单元,标量计算单元)
  • 存储单元:AI Core的片上存储单元和相应数据通路构成存储单元
  • 控制单元:提供指令控制,相当于AI Core的司令部,负责整个AI Core的运行。
  1.  AI Core的内部并行计算架构抽象

  • 异步指令流:Sclar计算单元读取指令序列,把向量计算、矩阵计算、数据搬运指令发射给对应的单元的指令队列,向量计算单元、矩阵计算单元、数据搬运单元异步的并行执行接受到的指令。
  • 同步信号流:指令间可能存在依赖关系,为了保证不同指令队列间的指令按照正确的逻辑关系执行,Sclar计算单元也会给对应单元下发同步指令。
  • 计算数据流:DMA搬入单元把数据搬运到Local Memory, Vector/Cube计算单元完成数据计算,并把计算结果写回Local Memory,DMA搬出单元把处理好的数据搬运回Global Memory.
  1. 算子
  1. 算子的定义:算子对应网络中层或者节点的计算逻辑。
  2. 基本概念:
  • 算子名称:用于标志网络中的某个算子,同一网络中算子名称需要保持唯一。
  • 算子类型:根据算子类型进行实现匹配,相同类型算子实现逻辑相同。同一网络中同一类型的算子可能不止一个。
  • 数据容器:承载算子数据的容器-Tensor
  • Tensor:

     

属性

定义

名称

用于对Tensor进行索引,不同Tensor的name需要保持唯一。

形状

形式(i1,i2,...,n) 其中i1到n均为正整数。

数据类型

指定Tensor对象的数据类型。例如:float16,float32等

数据排布格式

物理排布格式,定义了解读数据的维度。

  1. 形状物理含义:以shape=(4,20,20,3)为例

     4:假设有4张照片;

     20:宽为20,高为20,共有400个像素

     3:每个像素点由红/绿/蓝 3色组成

  1. 数据排布格式:卷积网络的特征图由四维数组保存,即4D格式:

     N:Batch数量,例如图像数目。

     H:Height,特征图高度,即垂直高度方向的像素个数。

     W:Width,特征图宽度,即水平方向的像素个数。

     C:Channels,特征图通道,例如彩色RGB图像的Channel就是3.

  1. 属性:不同算子包含的属性值不同。几种常见的算子属性:

     轴:代表张量中维度的下标,比如张量5是一个5行6列的二维数组,那么轴0是张量的第一维。

    例: 张量数据[[[1,2],[3,4]],[[5,6],[7,8]]]

         Shape=(2,2,2)

    轴0:第一个维度的数据:[[1,2],[3,4]]和[[5,6],[7,8]] 矩阵

    轴1:第二个维度的数据:[1,2] [3,4] [5,6] [7,8]     数组

    轴3:第三个维度的数据:1,2,3,4,5,6,7,8 数

轴可为负数,表示倒数第几个维度。

N维Tensor的轴:0~N-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值