CANN异构计算架构 异构计算 软件栈 ● Format转换模块:提供了选择具体芯片下算子实现支持的format.和插 入转换op的功能; ACL子系统 ●子图优化模块: 对GE拆分的AI core引擎子图进行优化处理; GE子系统 ●L2 buffer/cache优化模块:对图上算子进行L2 buffer/cache的优化 FE子系统 处理; ● Task生成模块:提供了生成taskinfo的功能; TBE子系统 ·算子适配层:提供了适配TBE算子,自定义算子的功能: TS子系统 ● 规则库:提供了融合的规则列表; ●算子信息库:提供了算子实现的信息库文件列表。 AI CPU DVPP子系统
CANN异构计算架构 Format转换模块:提供了选择具体芯片下算子实现支持的format和插 入转换op的功能; 子图优化模块: 对GE拆分的AI core引擎子图进行优化处理; L2 buffer/cache优化模块:对图上算子进行L2 buffer/cache的优化 处理; Task生成模块:提供了生成taskinfo的功能; 算子适配层:提供了适配TBE算子,自定义算子的功能; 规则库:提供了融合的规则列表; 算子信息库:提供了算子实现的信息库文件列表。 FE子系统 异构计算 软件栈 ACL子系统 GE子系统 TBE子系统 TS子系统 AI CPU DVPP子系统
CANN异构计算架构 异构计算 Fusion Engine FE的功能框架,从业务层 软件栈 接口管理层 次上划分,可以分为三层: ACL子系统 ●上层是接口层,对外提供 GE子系统 量化 原图优化模块 算子选择模块 format转换模块 部暑 各种接口: FE子系统 优化 ● 中间是业务层,主要是两 模块 子图优化模块 L2 Buffer/cache优 Tsk生成模块 块功能:图优化和Task生 TBE子系统 化模块 成 TS子系统 ● 底层是数据层,维护着计 算子适配层 算引擎信息、融合规则信 AI CPU 息和算子信息库。 规则库 算子信息库 DVPP子系统
CANN异构计算架构 FE的功能框架 ,从业务层 次上划分 ,可以分为三层: 上层是接口层 ,对外提供 各种接口; 中间是业务层 ,主要是两 块功能:图优化和Task 生 成; 底层是数据层 ,维护着计 算引擎信息 、融合规则信 息和算子信息库 。 FE子系统 异构计算 软件栈 ACL子系统 GE子系统 TBE子系统 TS子系统 AI CPU DVPP子系统
CANN异构计算架构 异构计算 TBE子系统 软件栈 ACL子系统 TBE,即Tensor Boost Engine,张量加速引擎,提供了基于TVM框架 的自定义算子开发能力,通过TBE提供的AP和自定义算子编程开发界面 GE子系统 可以完成相应神经网络算子的开发。 FE子系统 通常,神经网络使用不同的算子来组成功能各异的网络结构,而张量 TBE子系统 加速引擎为基于昇腾AI处理器运行的神经网络提供了算子开发能力。 TS子系统 AI CPU DVPP子系统
CANN异构计算架构 TBE子系统 TBE,即Tensor Boost Engine,张量加速引擎,提供了基于TVM框架 的自定义算子开发能力,通过TBE提供的API和自定义算子编程开发界面 可以完成相应神经网络算子的开发。 通常,神经网络使用不同的算子来组成功能各异的网络结构,而张量 加速引擎为基于昇腾AI处理器运行的神经网络提供了算子开发能力。 TBE子系统 异构计算 软件栈 ACL子系统 GE子系统 FE子系统 TS子系统 AI CPU DVPP子系统
CANN异构计算架构 异构计算 前端框架 软件栈 图引擎(Graph Engine:GE)是基 (Tensor flow/Caffe) 于昇腾AI处理器软件栈对不同的 ACL子系统 机器学习框架提供统一的IR接口, 图引擎 (Graph Engine) GE子系统 对接上层网络模型框架,例如 Tensorflow、Caffe。 FE子系统 融合引擎 (Fusion Engine) TBE子系统 ● 主要功能包括图准备、图拆分、 图优化、图编译、图加载、图执 张量加速引擎 TS子系统 Tensor Boost Engine) 行和图管理等(此处图指网络模 AI CPU 型拓扑图)。 昇腾AI处理器 DVPP子系统
CANN异构计算架构 图引擎(Graph Engine:GE)是基 于昇腾AI处理器软件栈对不同的 机器学习框架提供统一的IR接口, 对接上层网络模型框架,例如 Tensorflow、Caffe。 主要功能包括图准备、图拆分、 图优化、图编译、图加载、图执 行和图管理等(此处图指网络模 型拓扑图)。 TBE子系统 异构计算 软件栈 ACL子系统 GE子系统 FE子系统 TS子系统 AI CPU DVPP子系统
CANN异构计算架构 异构计算 前端框架 软件栈 ●融合引擎(Fusion Engine:FE)负 (Tensor flow/Caffe) 责对接GE和TBE算子,具备算子信息 ACL子系统 图引擎 库的加载与管理、融合规则管理、 (Graph Engine) GE子系统 原图融合和子图优化的能力。 FE子系统 融合引擎 ● GE在子图优化阶段将子图传递给FE, (Fusion Engine) TBE子系统 FE根据算子信息库以及FE融合优化 进行预编译,例如修改数据类型、 张量加速引擎 TS子系统 (Tensor Boost Engine) 插入转换算子等,该子图将再次传 AI CPU 递给GE进行子图合并及子图优化。 昇腾AI处理器 DVPP子系统
CANN异构计算架构 融合引擎(Fusion Engine:FE)负 责对接GE和TBE算子,具备算子信息 库的加载与管理、融合规则管理、 原图融合和子图优化的能力。 GE在子图优化阶段将子图传递给FE, FE根据算子信息库以及FE融合优化 进行预编译,例如修改数据类型、 插入转换算子等,该子图将再次传 递给GE进行子图合并及子图优化。 TBE子系统 异构计算 软件栈 ACL子系统 GE子系统 FE子系统 TS子系统 AI CPU DVPP子系统