当前位置: 首页 > news >正文

CANN/ge GE架构文档

GE 架构文档

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

本文档集从不同维度介绍 GE (Graph Engine) 的架构设计,面向希望为 GE 贡献代码的开发者,帮助快速理解项目整体结构、核心设计决策和各模块的实现细节。

排除测试后约79 万行有效代码,8千余个源文件:

模块占比职责
compiler34%图编译(优化、分区、构建)
runtime20%图执行(加载、执行、Hybrid)
graph_metadef12%IR 定义、算子注册
dflow11%分布式流框架
base7%基础设施
inc6%公共头文件
api4%API 接口
parser3%模型解析

架构总览

文档说明
GE 架构介绍系统架构总览、AscendIR 介绍、编译优化、插件扩展机制

模块架构文档

文档说明
AscendIRAscendIR 图中间表示的详细设计
编译器GE Compiler 的编译流程、优化 Pass、引擎分区、构建阶段
运行时GE Executor 的模型加载、Sink 模式、Hybrid 执行、v2 架构

特性设计文档

以下文档描述跨模块的特性设计:

文档说明
Dump 模块Dump 模块整体设计:架构分层、RT1.0/RT2.0 适配、HCCL 处理、动态开关
外置权重FileConstant 特性:权重从 OM 分离存储、编译期 Const→FileConstant 转换、RT V1/V2 加载流程、内存管理、全局权重管理器
常量折叠常量折叠优化:编译期常量表达式求值、维度计算、空张量替换、延迟生效机制、多编译阶段流水线
动态分档动态分档特性:动态 Batch / 动态分辨率 / ND 任意维度三种模式、档位枚举、静态子图生成与运行时分发
内存冲突处理内存冲突防护体系:语义读写冲突、内存布局冲突、子图地址隔离、Inplace 复用冲突、多流并发管理
模型缓存编译结果持久化机制:图编译缓存、JIT 编译缓存、算子模型缓存三级体系、缓存命中与失效策略
Profiling性能采集与可观测性:分层采集架构(API/Host/Device)、按需使能、msprof 统一上报
SO in OM算子自包含打包:将依赖的算子 .so 按需打包进 OM 文件、消除运行时对 OPP 算子包的依赖
TensorMove 消除TensorMove 冗余节点消除优化:识别并删除冗余内存拷贝节点、O3 优化级别
变量管理变量生命周期管理:注册、内存分配、格式转换、逻辑地址映射、序列化/反序列化全流程
零拷贝零拷贝特性:输入零拷贝(消除 H2D)、输出零拷贝(消除 D2H/D2D)、编译期规划与运行时执行
Concat No TaskConcat 连续内存优化:编译期识别输入连续的 Concat 算子,标记为虚拟算子跳过 Task 生成和内存搬运
GE Local 算子GE Local 引擎:承载非计算型节点(Data、Constant、控制流、形状变换等)的专用引擎,运行期零计算开销
引擎Engine 引擎体系:插件化引擎架构、优先级驱动自动选择、编译期引擎注册与分区、运行时分发
Tiling 下沉Tiling 下沉特性:将 Tiling 计算从 Host 搬到 Device AICPU 执行,消除 Host-Device 同步开销
图拆分图拆分特性:动静 Shape 拆分、引擎级拆分、流水线阶段拆分、JIT 增量拆分
静态执行器静态子图执行器:Task Sink 预分发、DavinciModel 加载/执行、混合执行模式地址刷新
动态执行器RT2.0 动态 Shape 执行器:Lowering 机制、ExecuteGraph、ModelV2Executor、三子图生命周期、Kernel 注册系统
Stream Allocator流分配特性:逻辑流分配、同步事件管理、物理流拆分、流激活机制
InferShapeShape 推导:OriginShape/StorageShape 双体系、编译期 InferShapePass、运行时推导节点、符号化推导
Format 推导格式推导:OriginFormat 锚点扩散推导、StorageFormat 自动选择、TransData 插入优化

模块关键设计原则与软件约束

以下文档记录特性的关键设计约束和开发规范:

文档说明
内存模块软件约束静态/动态内存复用、Allocator 线程模型、内存释放时序、进程退出清理
RT2 运行时设计原则RT2 动态 Shape 模块设计原则:加载/执行规则、性能、兼容性、并发、可调试性
图拆分模块设计原则图拆分模块设计原则:职责边界、拆分依据、多线程并发、维测日志、兼容性、评审检查清单
流分配模块设计原则静态/动态 Shape 流分配设计:Pass 架构、流复用、Event 同步、流激活机制
静态 Shape 运行时设计原则静态 Shape 模块设计原则:性能优化、ArgsFormat、地址刷新策略、内存管理
图基础结构设计原则图编译公共基础结构设计原则:独立性、兼容性、可观测性、并发模型、跨平台一致性

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/783373/

相关文章:

  • React 19 + TypeScript + Zod 构建现代化天气查询应用实战
  • AEC行业AI与机器人应用的九大伦理挑战与应对策略
  • 端边云协同空间大模型,镜像视界重构智慧港口感知新基座
  • VSCode配置全攻略:打造高效开发环境的瑞士军刀
  • 全温恒温摇床哪个品牌好?实验室采购必看:2026年全温摇床厂家横评与选购指南 - 品牌推荐大师1
  • 教育机构构建AI编程辅导平台时如何利用Taotoken聚合API
  • 从预测到理解:AI可解释性、因果推断与模型泛化的本质挑战
  • 基于LLM与Electron的CK3智能对话模组开发实战
  • 企业级多 Agent 规模化落地怎么做?群虾智能 AI 沙龙 PPT 限时领取
  • 网盘直链下载助手终极指南:三步告别限速,解锁九大网盘真实下载链接
  • 温州市方氏建材:龙湾靠谱的建材批发厂家有哪些 - LYL仔仔
  • AI神经影像异常检测:从实验室到临床的鸿沟与跨越
  • 如何在Windows上使用TMSpeech实现完全离线的实时语音识别与字幕生成
  • 2026届学术党必备的六大AI学术助手解析与推荐
  • 2026年4月聚氨酯保温管厂家口碑推荐,聚乙烯高密度保温管/聚氨酯地埋保温管,聚氨酯保温管源头厂家推荐 - 品牌推荐师
  • 快驴商品模块功能分析与数据库表结构设计文档(一)---升鲜宝生鲜配送供应链管理系统源代码服务(标准版、专业版)
  • ChatGPT如何重塑术语定义:从生成草稿到人机协同工作流
  • CONFIDERAI:融合规则模型与保形预测,为可解释AI注入统计可靠性
  • 非公理推理与操作条件反射:构建可解释AI的通用学习引擎
  • 基于MCP协议构建AI与Azure DevOps的自动化桥梁
  • CANN/pyasc AddRelu加法ReLU函数API
  • 【EI会议推荐 | IEEE、武汉理工大学联合主办】第八届能源系统与电气电力国际学术会议(ICESEP 2026) - 艾思科蓝AiScholar
  • 自然语言驱动芯片设计:NL2GDS框架解析与应用
  • Rust编译时代码生成:从宏到过程宏的深度实践
  • 夹耳式蓝牙耳机品牌推荐? - 中媒介
  • 2026年4月流水线视觉涂覆机工厂推荐,密封点胶机/全自动硅胶点胶机,流水线视觉涂覆机直销厂家选哪家 - 品牌推荐师
  • CANN/HCOMM Python样例执行指南
  • 企业生成式AI治理:从风险管控到价值实现的五维框架
  • 边缘AI能耗优化:目标导向DNN分割架构设计与工程实践
  • 1283C 构造