CANN异构计算架构 异构计算 应用程序(APPs) 软件栈 ●在运行应用时,ACL调 黄三方框架 开发第三方引b库 ACL子系统 用GE执行器提供的接 ACL Ascend Computing Language 口实现模型和算子的加 GE子系统 莫型如线 算子能力开故 Runtime开故 Driver开放 载与执行 FE子系统 GEt执行a(Graph Engine Executor) ● 调用运行管理器的接口 TBE子系统 实现Device管理 运行管理器(Runtime) /Context管理/Stream TS子系统 照动(Driver) 管理/内存管理等。 AI CPU t算资原(AI Core/AI CPU) DVPP子系统 软件栈
CANN异构计算架构 在运行应用时 ,ACL 调 用GE执行器提供的接 口实现模型和算子的加 载与执行 调用运行管理器的接口 实 现 Device 管 理 /Context 管 理 /Stream 管理 /内存管理等 。 ACL子系统 异构计算 软件栈 GE子系统 FE子系统 TBE子系统 TS子系统 AI CPU DVPP子系统
CANN异构计算架构 异构计算 ACL提供的是分层开放能力的管控,通过不同的组件对不同的使能部 软件栈 件进行对接。包含GE能力开放、算子能力开放、Runtime能力开放、 Driver能力开放等。 ACL子系统 GE子系统 ● GE能力开放:处理基于图及session的开放,能力引擎在GE侧,但接 FE子系统 口的开放是通过ACL,包含图编辑、图编译、图执行的能力; ● 算子能力开放:算子能力实现在CANN中,但算子能力开放是通过ACL; TBE子系统 ● Runtime能力开放:处理基于stream的设备能力、内存、event等资源 TS子系统 能力开发诉求,对app屏蔽底层实现; 。Driver能力开放:使用户程序能够使用驱动提供的队列等管理机制, AI CPU 屏蔽硬件架构的复杂性和异构性。 DVPP子系统
CANN异构计算架构 ACL提供的是分层开放能力的管控,通过不同的组件对不同的使能部 件进行对接。包含GE能力开放、算子能力开放、Runtime能力开放、 Driver能力开放等。 GE能力开放:处理基于图及session的开放,能力引擎在GE侧,但接 口的开放是通过ACL,包含图编辑、图编译、图执行的能力; 算子能力开放:算子能力实现在CANN中,但算子能力开放是通过ACL; Runtime能力开放:处理基于stream的设备能力、内存、event等资源 能力开发诉求,对app屏蔽底层实现; Driver能力开放:使用户程序能够使用驱动提供的队列等管理机制, 屏蔽硬件架构的复杂性和异构性。 ACL子系统 异构计算 软件栈 GE子系统 FE子系统 TBE子系统 TS子系统 AI CPU DVPP子系统
CANN异构计算架构 异构计算 GE子系统 软件栈 GE,即Graph Engine,图引擎模块,是 ACL子系统 图编译和运行的控制中心,提供运行环境管 Tensor Valiable 理、执行引擎管理、算子库管理、子图优化 GE子系统 管理、图操作管理和图执行控制。 operation FE子系统 GE通过统一的接口提供多前端的支持,不 同的前端框架可以通过适配层完成不同格 TBE子系统 式图到GE IR Graph的转换。 TS子系统 ● GE API对外呈现GE Core中初始化、 Tensor Tensor Session管理模块的接口,支持运行环境初 AI CPU operation 始化,Session创建和销毁,图添加执行。 DVPP子系统
CANN异构计算架构 GE子系统 GE,即Graph Engine,图引擎模块,是 图编译和运行的控制中心,提供运行环境管 理、执行引擎管理、算子库管理、子图优化 管理、图操作管理和图执行控制。 GE通过统一的接口提供多前端的支持,不 同的前端框架可以通过适配层完成不同格 式图到GE IR Graph的转换。 GE API 对外呈现 GE Core 中初始化 、 Session管理模块的接口,支持运行环境初 始化,Session创建和销毁,图添加执行。 GE子系统 异构计算 软件栈 ACL子系统 FE子系统 TBE子系统 TS子系统 AI CPU DVPP子系统
CANN异构计算架构 异构计算 TensorFlow ME ●执行控制层,提供API接口实 Frontend 软件栈 TFAapter 现逻辑的控制,通过Runtime、 业务功能模块、数据管理模块 ACL子系统 GEAPI GE API 的接口,完成功能的实现: 0 GE子系统 ● 业务功能层,为图执行提供最 初始化 Session管理 优执行引擎匹配,端到端执行 FE子系统 GE Core 图准备 蚕拆分 委优化 图编译 图加载 蚕执行 路径优化,提供最低执行开销, TBE子系统 引擎管理 算子管理 图管理 支持不同的物理运行环境部署; ③ ·数据管理层,包含对外部插件 4 TS子系统 的管理(执行引擎、算子库) GEPlugins 执行引擎 算子信息 子优化 及GE执行过程中需要的内部数 AI CPU 据管理(图),对业务功能提 DVPP子系统 Runtime Runtime 供支持
CANN异构计算架构 执行控制层 ,提供API接口实 现逻辑的控制 ,通过Runtime 、 业务功能模块 、数据管理模块 的接口 ,完成功能的实现; 业务功能层 ,为图执行提供最 优执行引擎匹配 ,端到端执行 路径优化 ,提供最低执行开销 , 支持不同的物理运行环境部署; 数据管理层 ,包含对外部插件 的管理 (执行引擎 、算子库 ) 及GE执行过程中需要的内部数 据管理 ( 图 ) ,对业务功能提 供支持 。 GE子系统 异构计算 软件栈 ACL子系统 FE子系统 TBE子系统 TS子系统 AI CPU DVPP子系统
CANN异构计算架构 异构计算 FE子系统 软件栈 异腾为了业务的编排,抽象出融合引擎FE(Fusion Engine)。FE定 ACL子系统 位于A!Cor的数据引擎,它提供图的优化分析、管理算子融合规则、算 子融合功能、算子信息库管理、使能自定义算子等功能,具体如下: GE子系统 FE子系统 ·接口管理层:对GE提供了算子管理,优化管理,task生成等接口: ●量化部署优化模块:提供INT8量化的部署优化,辅助量化工具完成对 TBE子系统 图的INT8量化处理; TS子系统 ·原图优化模块:提供对整图的图融合处理: ●算子选择模块:提供了对图上各节点优先选择AI core算子实现: AI CPU DVPP子系统
CANN异构计算架构 FE子系统 昇腾为了业务的编排,抽象出融合引擎FE(Fusion Engine)。FE定 位于AI Core的数据引擎,它提供图的优化分析、管理算子融合规则、算 子融合功能、算子信息库管理、使能自定义算子等功能,具体如下: 接口管理层:对GE提供了算子管理,优化管理,task生成等接口; 量化部署优化模块:提供INT8量化的部署优化,辅助量化工具完成对 图的INT8量化处理; 原图优化模块:提供对整图的图融合处理; 算子选择模块:提供了对图上各节点优先选择AI core算子实现; FE子系统 异构计算 软件栈 ACL子系统 GE子系统 TBE子系统 TS子系统 AI CPU DVPP子系统