详情介绍
图引擎模块(GE)是MindSpore的一个子模块,其代码由C++实现,位于前端模块ME和底层硬件之间,起到承接作用。图引擎模块以ME下发的图作为输入,然后进行一系列的深度图优化操作,最后输出一张可以在底层硬件上高效运行的图。GE针对昇腾AI处理器的硬件结构特点,做了特定的优化工作,以此来充分发挥出昇腾AI处理器的强大算力。在进行模型训练/推理时,GE会被自动调用而用户并不感知。
GE主要由GE API和GE Core两部分组成。
GE API
GE API是连接前端模块ME和GE Core的接口,负责GE Core中初始化、Session管理模块的接口,支持运行环境初始化,Session创建、销毁,图添加执行。
GE Core
GE Core是GE的核心模块,负责整个训练过程中的图管理。GE Core中的图处理可细分为六大步骤,分别是图准备、图拆分、图优化、图编译、图加载和图执行,对于ME下发的每一张图都会经过这六个步骤的操作,最终得到可以直接在底层硬件上高效执行的图。
1、图准备 & 整图优化
完成整图级别的数据准备和优化,涉及到IR库及算子库。使用IR库中算子的InferShape函数,完成整图的Shape推导,以便后续申请内存;同时根据算子的聚合属性,完成某些算子的聚合优化,如allreduce算子,会按照聚合参数,将若干各参数对应梯度的allreduce算子聚合为一个,以此减少通讯耗时。
2、图拆分
昇腾AI处理器是一种异构芯片,含有CPU(AICPU)和向量计算部件AICORE,图中每个算子会按照开销模型选择执行的核心,此阶段会对算子进行最优的核心分配,每种核心对应软件上的一个抽象引擎;按照之前对各算子的引擎分配,以引擎为边界,将整图拆分为若干子图,在图边界算子上插入相应的Placeholder算子以做标识,之后的优化、编译、加载操作均会以子图为单位进行,这样可以有效减少优化过程的耗时。
3、子图优化
根据子图所属引擎,调用不同的优化器接口执行优化。为了充分发挥昇腾AI处理器中AICORE模块的算力,在AICORE内CUBE单元进行计算的算子会采用一种5D的数据格式,图优化阶段会对相应算子进行4D/5D的类型转换;为了进一步发挥CUBE单元的算力,减少数据搬运次数,GE会对某种范式的算子连接进行融合操作,此步骤也在图优化阶段进行;对所有子图优化之后,需进行算子运行属性计算,以计算输入输出内存大小。
4、图编译 & 图加载
GE采用即时算子编译技术,即按照实际网络结构即时编译生成算子可执行程序,同时完成内存复用与内存分配、流分配、算子可执行程序加载等。每个算子执行任务绑定到特定的流上,同一个流的任务是串行执行的,不同流上的任务可以并行执行。图加载阶段按照引擎归属的runtime,将子图加载到硬件上准备执行。
5、图执行
最终在硬件上执行子图,并返回相应的输出值。为了提高运行效率,图执行阶段提供了一种下沉模式,可以在底层硬件上连续运行多轮再返回输出值,以此减少从底层硬件拷贝数据的次数。
在训练/推理过程中,上述过程会自动执行,通过上述图操作,GE可以将前端下发的图转换为一种可以在昇腾AI处理器上高效运行的图模式。
安装GE
GE内嵌在MindSpore安装包中,MindSpore安装完毕后,GE以三个动态库的方式被调用。
下载地址
人气源码
相关文章
-
泰顶项目管理软件(全功能开源版) v2024.10
泰顶项目管理软件[综合平台],始于2010年,具有强大的项目计划和流程管控功能,上千用户使用,模块俱全,架构灵活,成熟可靠,适用于多个行业的专业的项目管理软件平台...
-
DBCHM beta数据库文档生成工具 v1.9.0.1
DBCHM 是一款简单、实用的数据库文档生成工具,该工具从最初支持chm文档格式开始,通过开源,集思广益,不断改进,本文给大家介绍DBCHM beta数据库文档生成工具 v1.9.0.1 ...
-
eCRM(E客CRM)客户关系管理系统 v1.0.10
eCRM(E客CRM)是基于eFrameWork低代码开发平台搭建的客户关系管理系统。其主要功能包括:系统管理、产品管理、产品分类、客户管理、订单管理、客户回访、通知公告、销售计划...
-
Util6MIS(优六企服系统_附CMS插件及模板) v5.0 源码版
Util6MIS(优六企服系统)已集成多项插件系统,其Util6 CMS、DMS、OAS、WXS 是在信息化管理系统框架(Util6MIS)基础上开发的插件系统,欢迎需要的朋友下载使用...
-
C#实现插件式开发源码
今天给大家分享基于c#开发的插件式源码,喜欢的朋友快来下载体验吧...
-
C#实现报警收集系统源码
今天给大家分享的是一款基于C#实现报警收集系统源码,非常不错,喜欢的朋友快来下载体验吧...
-
C# 文字转语音源码
今天给大家分享的实例代码是C# 文字转语音源码,喜欢的朋友快来下载体验吧...
-
基于C#语言开发文件上传、后缀名称判别功能
今天给大家分享基于c#语言开发的文件上传、后缀名称判别功能,喜欢的朋友快来下载使用吧...
-
C#图片去背景示例源码
今天给大家分享基于c#实现图片去背景示例源码,喜欢的朋友快来下载体验吧...
-
C# remoting聊天室源码
使用C#编的聊天工具的程序, 此程序是一款用与REMOTING技术的程序,非常不错,喜欢的朋友快来下载体验吧...
下载声明
☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
☉ 本站提供的graphengine图引擎模块 v2.4.0资源来源互联网,版权归该下载资源的合法拥有者所有。