新闻详情

新闻详情

首页 / 资讯中心 / 详情

CANN/ge: C++ ES API兼容性设计

发布时间:2026/9/10 6:38:40来源:尧图网络
CANN/ge: C++ ES API兼容性设计
RFC-001: C ES API 兼容性设计【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge概述和目标背景在 ES (Eager Style) 构图中为了保证 C ES API 的向后 API 兼容性生成工具需要掌握不同商发版本的 IR 原型演进情况。历史原型库负责沉淀并提供这些历史原型数据供gen_esb在生成阶段对比差异、生成重载接口。目标建立历史原型库协议实现跨版本算子 IR 原型信息的归档和查询设计 C ES API 的重载生成机制确保向后兼容性解决重载接口的二义性问题提供清晰的用户调用语义建立完整的生成、发布、消费流程详细设计历史原型库协议设计详细设计参考历史原型库协议文档关键设计要点定位与职责历史原型库是一套长期维护的协议与数据产物用于跨版本归档算子 IR 原型信息目录结构按算子分包组织包含版本索引、元信息和算子原型数据数据格式采用 JSON 格式包含最小字段集确保向后兼容生成与发布由gen_esb --extract-history生成随 Ops run 包发布消费方式通过文件系统接口读取服务于ES或者其他场景C API 兼容性设计详细设计参考C API 兼容性设计文档关键设计要点模块架构与职责划分历史原型库模块负责存储和管理历史原型数据Ops组件gen_esb 工具模块负责数据生成、读取、业务逻辑和代码生成GE组件重载生成与二义性处理核心问题C 默认参数必须在参数列表末尾的限制EsTensorLike支持标量类型隐式转换导致的二义性数据流与构建流程商发版本构建同时生成 C 重载接口和历史原型库数据非商发构建仅生成 C 重载接口工程-算子-GE 三方配合通过编译宏传递信息统一打包发布实现计划阶段一接口对齐与基础模块开发1周M0阶段0.5天数据结构定义与接口对齐第1周基础模块开发包括公共提取器、历史数据读写器阶段二核心功能开发1周第2周重载规划器、二义性检测器、C生成器对接阶段三集成联调1周第3周端到端测试、边界场景验证总预计耗时3~4周影响分析技术影响正向影响提供稳定的 C API 兼容性保障提升用户体验风险重载二义性处理复杂度较高需要严格的测试验证架构影响模块依赖增加历史原型库模块但职责边界清晰构建流程商发版本构建流程需要调整增加历史数据生成步骤兼容性影响向后兼容通过重载机制支持确保现有 API 调用不受影响维护成本协议维护需要长期维护历史原型库协议工具维护gen_esb工具需要持续维护重载生成逻辑替代方案方案B版本命名空间将不同版本 API 放到不同命名空间如ge::es与ge::es::v2优点完全避免重载二义性缺点用户调用习惯改变Runnable Dump 成本较高注Runnable Dump指的是将内存中的图对象 dump为构图的代码因此需要知道具体要写成什么样的构图代码方案对比维度方案A推荐方案B二义性风险低通过防呆机制无用户习惯稳定需要显式选择命名空间维护成本中等较高Dump 成本低高推荐方案A在保证兼容性的前提下最大程度保持用户调用习惯稳定。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

ESP32-C3 BLE与微信小程序GATT双向通信实战 2026/9/10 7:23:47

ESP32-C3 BLE与微信小程序GATT双向通信实战

简介:本资源是一套完整的乐鑫ESP32-C3 BLE与微信小程序双向通信开发源码,面向物联网初学者及嵌入式开发者,解决硬件端BLE外设开发与小程序端低门槛无线交互的集成难题。项目涵盖Arduino框架下的ESP32-C3固件代码(.ino/.cpp/.h&…

阅读更多 →
电动汽车整车Simulink模型:从源码下载到参数标定实战指南 2026/9/10 7:23:47

电动汽车整车Simulink模型:从源码下载到参数标定实战指南

简介:电动汽车整车Simulink模型源码是一套面向新能源汽车研发与仿真学习者的MATLAB/Simulink工程包,覆盖电池、电机、控制器、传动系统及车辆负载等核心模块,可用于动力系统建模、工况性能分析、能耗评估与故障诊断等场景。压缩包共7个文件&a…

阅读更多 →
基于MCP4725与MicroPython的简易波形发生器设计 2026/9/10 7:23:47

基于MCP4725与MicroPython的简易波形发生器设计

MCP4725 是一颗 12 位 I2C 接口的 DAC 芯片,配上任何一块能跑 MicroPython 的开发板,就能在十几分钟内组装出一台能输出正弦波、方波、三角波和锯齿波的简易波形发生器。这个项目我在 ESP32 和树莓派 Pico 上都完整搭过一遍,中间踩过的坑不算…

阅读更多 →
Flipper Zero 红外遥控实战:导入 600+ 设备代码,让它成为家用万能遥控器 2026/9/10 7:23:47

Flipper Zero 红外遥控实战:导入 600+ 设备代码,让它成为家用万能遥控器

Flipper Zero 红外遥控实战:导入 600 设备代码,让它成为家用万能遥控器 【免费下载链接】Flipper Playground (and dump) of stuff I make or modify for the Flipper Zero 项目地址: https://gitcode.com/GitHub_Trending/fl/Flipper 这篇文章带…

阅读更多 →
Vue 3开发环境搭建全攻略:从Node.js到Vite一步到位 2026/9/10 7:23:47

Vue 3开发环境搭建全攻略:从Node.js到Vite一步到位

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Python破解替换密码:从频率分析到映射推断的完整实战 2026/9/10 7:20:47

Python破解替换密码:从频率分析到映射推断的完整实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞