CANN异构计算架构 异构计算 CANN软件栈 软件栈 今】 ACL子系统 CANN软件栈可以分为神经网络软件流、工具链以及其它软件模块。 GE子系统 神经网络软件流主要包含了流程编排器(Matrix)、框架管理器 FE子系统 (Framework)、运行管理器(Runtime)、数字视觉预处理模块 (Digital Vision Pre--Processing,DVPP)、张量加速引擎 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子系统 图优 图華(G) 和 编译 融合和编译F日 AICPUS(AICPUE) 集合通信紫(HCCL) GE子系统 芯片便 算子编译和草子库 FE子系统 张量加速引案TB日 算子库 运行管理器(runtime) 数字视觉预处理DVPP) TBE子系统 任务调度器(Task Schedule) TS子系统 Driver os AI CPU 计算资源 计算设备 通信链路 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封装实现第三方Iib库,以便提供昇腾 AI CPU AI处理器的运行管理、资源管理能力。 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子系统