CANN异构计算架构 异构计算 CANN软件栈 软件栈 ACL子系统 CANN软件栈可以分为神经网络软件流、工具链以及其它软件模块。 GE子系统 神经网络软件流主要包含了流程编排器(Matrix)、框架管理器 FE子系统 (Framework)、运行管理器(Runtime)、数字视觉预处理模块 (Digital Vision Pre--Processing,DWPP)、张量加速引擎 TBE子系统 (Tensor Boost Engine,TBE)以及任务调度器(Task Scheduler, TS子系统 TS)等功能模块。 ● 神经网络软件流主要用来完成神经网络模型的生成、加载和执行等功 AI CPU 能。工具链主要为神经网络实现过程提供了辅助便利。 DVPP子系统
CANN异构计算架构 CANN软件栈 CANN软件栈可以分为神经网络软件流、工具链以及其它软件模块。 神经网络软件流主要包含了流程编排器(Matrix)、框架管理器 ( Framework)、运行管理器( Runtime)、数字视觉预处理模块 ( Digital Vision Pre-Processing , DVPP ) 、 张 量 加 速 引 擎 (Tensor Boost Engine,TBE)以及任务调度器(Task Scheduler, TS)等功能模块。 神经网络软件流主要用来完成神经网络模型的生成、加载和执行等功 能。工具链主要为神经网络实现过程提供了辅助便利。 软件栈 异构计算 ACL子系统 GE子系统 FE子系统 TBE子系统 TS子系统 AI CPU DVPP子系统
CANN异构计算架构 异构计算 CANN软件栈 软件栈 AscendCL ACL子系统 图优 图引幸(GE) 化和 编译 融合和编F日 AICPUSI(AICPUE) 集合通信肇(HCCL) GE子系统 芯片 算子编译和填子库 能 FE子系统 张量加i速引紫TBE 算子库 运行管理器(runtime) 数字视觉预处理DVPP) TBE子系统 任务调度器Task Schedule) TS子系统 Driver AI CPU 计算资源 os 计复设备 通信链路 DVPP子系统 AlCore AICPU DVPP硬件 PCle HCCS RoCE
CANN异构计算架构 CANN软件栈 软件栈 异构计算 ACL子系统 GE子系统 FE子系统 TBE子系统 TS子系统 AI CPU DVPP子系统
CANN异构计算架构 异构计算 计算资源层 软件栈 计算资源层主要实现系统对数据的处理和运算执行。 ACL子系统 。计算设备主要包括: GE子系统 AI Core:执行NN类算子; FE子系统 AI CPU:执行CPU算子; DVPP:视频/图像编解码、预处理。 TBE子系统 TS子系统 ●通信链路主要包括: PCIe:芯片间或芯片与CPU间高速互联; AI CPU HCCS:实现芯片间缓存一致性功能; DVPP子系统 RoCE:实现芯片内存RDMA功能
CANN异构计算架构 计算资源层 计算资源层主要实现系统对数据的处理和运算执行。 计算设备主要包括: AI Core:执行NN类算子; AI CPU:执行CPU算子; DVPP:视频/图像编解码、预处理。 通信链路主要包括: PCIe:芯片间或芯片与CPU间高速互联; HCCS:实现芯片间缓存一致性功能; RoCE:实现芯片内存RDMA功能。 软件栈 异构计算 ACL子系统 GE子系统 FE子系统 TBE子系统 TS子系统 AI CPU DVPP子系统
CANN异构计算架构 异构计算 芯片使能层 软件栈 芯片使能层实现对外能力开放,以及基于计算图的业务流的控制和运行。 ● AscendCL昇腾计算语言库是开放编程框架,提供Device/Context,/Stream/,内 ACL子系统 存等的管理、模型及算子的加载与执行、媒体数据处理、Graph管理等API库, GE子系统 供用户开发深度神经网络应用; ·图优化和编译统一的IR接口对接不同前端,支持TensorFlow,/Caffe FE子系统 /MindSpore表达的计算图的解析/优化/编译,提供对后端计算引擎最优化部 TBE子系统 署能力; ●数字视觉预处理实现视频编解码(VENC/WDEC)、JPEG编解码(JPEGD/E)、PNG TS子系统 解码(PNGD)、VPC(预处理); AI CPU ·执行引擎包括两个部分,分别是运行管理器和任务调度器,Runtime为神经 网络的任务分配提供资源管理通道,Task Scheduler主要计算Task序列的管 DVPP子系统 理和调度以及执行
CANN异构计算架构 芯片使能层 芯片使能层实现对外能力开放,以及基于计算图的业务流的控制和运行。 AscendCL昇腾计算语言库是开放编程框架,提供Device/Context/Stream/内 存等的管理、模型及算子的加载与执行、媒体数据处理、Graph管理等API库, 供用户开发深度神经网络应用; 图 优 化 和 编 译 统 一 的 IR 接 口 对 接 不 同 前 端 , 支 持 TensorFlow/Caffe /MindSpore表达的计算图的解析/优化/编译,提供对后端计算引擎最优化部 署能力; 数字视觉预处理实现视频编解码(VENC/VDEC)、JPEG编解码(JPEGD/E)、PNG 解码(PNGD)、VPC(预处理); 执行引擎包括两个部分,分别是运行管理器和任务调度器,Runtime为神经 网络的任务分配提供资源管理通道,Task Scheduler主要计算Task序列的管 理和调度以及执行。 软件栈 异构计算 ACL子系统 GE子系统 FE子系统 TBE子系统 TS子系统 AI CPU DVPP子系统
CANN异构计算架构 异构计算 ACL子系统 软件栈 ACL子系统 ACL,即Ascend Computing Language,异腾计算语言库。 GE子系统 ● 提供Device管理、Context管理、Stream管理、内存管理、模型加载 FE子系统 与执行、算子加载与执行、媒体数据处理等C++API库供用户开发深 度神经网络应用,通过加载模型推理实现目标识别、图像分类等功 TBE子系统 能。 TS子系统 ● 用户可以通过第三方框架调用ACL接口,以便使用昇腾AI处理器的计 算能力;用户还可以使用ACL封装实现第三方1ib库,以便提供昇腾 AI CPU A虹处理器的运行管理、资源管理能力。 DVPP子系统
CANN异构计算架构 ACL子系统 ACL,即Ascend Computing Language,昇腾计算语言库。 提供Device管理、Context管理、Stream管理、内存管理、模型加载 与执行、算子加载与执行、媒体数据处理等C++ API库供用户开发深 度神经网络应用,通过加载模型推理实现目标识别、图像分类等功 能。 用户可以通过第三方框架调用ACL接口,以便使用昇腾AI处理器的计 算能力;用户还可以使用ACL封装实现第三方lib库,以便提供昇腾 AI处理器的运行管理、资源管理能力。 ACL子系统 异构计算 软件栈 GE子系统 FE子系统 TBE子系统 TS子系统 AI CPU DVPP子系统