| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
docs: 新增 ONNX Plugin Python API 参考文档 Co-authored-by: gentle-knight<3045324663@qq.com> # message auto-generated for no-merge-commit merge: !4963 merge docs/onnx-plugin-python-api into develop docs: 新增 ONNX Plugin Python API 参考文档 Created-by: gentle-knight Commit-by: gentle-knight Merged-by: cann-robot Description: # Pull Request ## 描述 新增 ONNX Plugin 转 IR Python 化链路的 API 参考文档: - 新增 ge.onnx_plugin 模块文档 12 篇:onnx_plugin() 工厂函数、OnnxPlugin descriptor(parse_node/parse_operator/decompose 三类回调)、OnnxNode 只读值对象(name/origin_type/inputs/outputs/attrs)及模块简介(含插件部署语义)。 - 新增 ge.graph.Operator 文档 10 篇:算子属性读写(get_attr/set_attr)与端口注册(register_input/register_optional_input/register_output/register_dynamic_input/register_dynamic_output)。 - README 补齐 25 条索引,新增 3 个类入口页。 文档关键约束均与源码逐条核对:parse_operator 与 parse_node 同阶段二选一(前者优先)、source 算子只读语义、attribute JSON 序列化字段形态(标量 f 为 %g 字符串、列表为原生数值的不对称)、attrs 整体读取的复合类型限制、graph-only 场景约束、set_attr 不做属性名校验等。 ## 变更类型 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 纯文档变更,无代码逻辑修改。已完成的验证: 1. 26 个文件内部全部相对链接有效性检查(0 断链),README 索引条目与磁盘文件一一对应; 2. 全部 7 个 Python 示例代码块 ast.parse 语法校验通过,import 齐全、变量均有定义; 3. pre-commit 等价检查通过(trailing-whitespace / end-of-file / merge-conflict / private-key / 拼写);本地 pre-commit 环境损坏(virtualenv segfault),已按 hook 语义逐项人工执行。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 单 commit 交付(文档初版与评审修复合并),基于 0fa3324a9(upstream develop 历史内)切出。 - 文档经过三轮独立评审迭代(API 完备性、源码一致性、新用户可读性),全部实质问题已闭环。 See merge request: cann/ge!4963 | 13 天前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3726 | 3 个月前 | |
fix: 自定义算子 compile 修改为公共能力,注册表按 priority 域收敛实例共享语义 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4966 merge new into develop fix: 自定义算子 compile 修改为公共能力,注册表按 priority 域收敛实例共享语义 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 包含两个关联提交,完成自定义算子能力模型与注册表的语义治理: 实现基准:算子注册属性 priority 是op级别,engine 是算子实现级别,compile/infer/portal 是op级公共 **1. compile 修改为公共能力**(9d36da56b) - kCompilable 虽然 host 使用场景可能不涉及,但不应该限制为device能力,应为公共能力;纳入 common capability 集合,与 infer 同语义:backend 无关、跨 backend 唯一 provider - CustomGraphOptimizer 改用 GetCustomOpCommonCapability<CompilableOp> 获取唯一 provider,删除 host 执行节点跳过 compile 的逻辑 - host-only 自定义算子实现 CompilableOp 后可收到编译回调;多个实例同时实现 CompilableOp 时拒绝编译,保证唯一 provider **2. 注册表层级调整为 priority -> engine -> backend**(dbb17730f) - OpRegistrationPriority 表达注册来源分层(kTop 外部默认槽 / kBottom 内部注册槽),提升为外层维度 - 实例缓存以 priority 为收敛域:同 op_type 同 priority 下相同实现类跨 engine/backend 共享同一实例 - GetCustomOpCommonCapability 在 priority 子树内做唯一 provider 检查,公共能力与 engine 无关,删除无效的 engine 参数 - 常量折叠优先查询 kBottom + kHostCpu 外部 Host CPU 实现的仲裁点行为不变 - 中英文设计文档同步更新层级与 priority 域收敛语义 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 编译 ut_register,运行 --gtest_filter='*CustomOpRegistry*'; 2. 编译 ut_libge_multiparts_utest,运行 --gtest_filter='UtestCustomOpsKernelInfoStore.CustomGraphOptimizer*:UtestCustomOpFactory*'; 3. 编译 ut_libge_others_utest,运行 --gtest_filter='UtestGraphPassesConstantFoldingPass*'。 测试结果: - CustomOpRegistry 12/12 通过(含跨 engine 实例共享、跨 engine 多 provider 冲突、非默认 engine 命中等新增用例) - CustomGraphOptimizer + CustomOpFactory 30/30 通过(含 host-only 编译回调、多 provider 冲突跳过等新增用例) - ConstantFoldingPass 45/45 通过 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 See merge request: cann/ge!4966 | 14 天前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3726 | 3 个月前 | |
feat: 支持 DT_HIFLOAT4_SCALE 数据类型 Co-authored-by: shangdf<shangdongfang1@huawei.com> # message auto-generated for no-merge-commit merge: !4737 merge feature/hifloat4-scale-datatype into develop feat: 支持 DT_HIFLOAT4_SCALE 数据类型 Created-by: shangdf Commit-by: shangdf Merged-by: cann-robot Description: # Pull Request ## 描述 新增 DT_HIFLOAT4_SCALE(hifloat4 带缩放因子的 4bit 浮点)数据类型支持,与 metadef 仓 C_DT_HIFLOAT4_SCALE = 43 配套。GE 侧登记内容包括: - **proto 定义**:ge_ir.proto、dump_task.proto 的 DataType 枚举新增 DT_HIFLOAT4_SCALE = 42 - **atc/模型转换**:atc --output_type 与 netoutput 的输出类型映射新增 HIF4SCALE,option_utils 校验提示文案同步 - **单算子解析**:single_op_parser 的 kDataTypeDict 新增 hifloat4_scale 字符串映射 - **编译 pass**:cond_remove_pass、switch_dead_branch_elimination 的 1 字节判值分支、IsFloatType(atomic_memory_assigner.h)登记新类型 - **Host CPU 引擎**:PrepareOutputs 支持的数据类型集合登记 - **dump/序列化**:datatype_util dump 数据类型映射、ge_tensor/serialization_util 序列化双向映射、type_utils_inner 字符串映射补充 - **Python API**:pyge DataType 枚举新增 DT_HIFLOAT4_SCALE = 43,DT_MAX 适配为 44,中英文 API 文档与 UT 断言同步 - **说明**:constant_clip_pass 的 clip 上下限尚未适配 hif4_scale,与原方案一致保持现状并在函数处注释标记 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 运行 pyge UT:tests/ge/ut/ge/graph/pyge_tests/types_test.py(含 DT_HIFLOAT4_SCALE=43、DT_MAX=44 断言) 2. atc 转换时指定 --output_type=HIF4SCALE 验证输出类型映射 3. 单算子 IR 传入 hifloat4_scale 数据类型字符串验证解析 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 依赖 metadef 仓头文件新增 C_DT_HIFLOAT4_SCALE = 43(metadef develop 已包含),GE 构建使用该发布包头文件,本仓不重复定义 C++ 枚举。原 diff 中 IsFloatType 位于 graph_mem_assigner.h,当前 develop 上该函数已迁移至 atomic_memory_assigner.h,本次修改跟随函数落位。 See merge request: cann/ge!4737 | 18 天前 | |
【PR】: 更新资料中的链接 Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !4550 merge develop into develop 【PR】: 更新资料中的链接 Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: # Pull Request ## 描述 1、更新资料中的跳转链接,修改为仓内跳转。 2、修改表格展示错乱问题。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue https://gitcode.com/cann/ge/issues/540 ## 如何测试 根据最新资料进行测试 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4550 | 1 个月前 | |
【PR】: 更新资料 Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !4695 merge develop into develop 【PR】: 更新资料 Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: # Pull Request ## 描述 更新资料中的参考手册名称。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 不涉及 ## 如何测试 根据最新资料测试 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4695 | 26 天前 | |
【PR】: 更新资料 Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !4695 merge develop into develop 【PR】: 更新资料 Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: # Pull Request ## 描述 更新资料中的参考手册名称。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 不涉及 ## 如何测试 根据最新资料测试 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4695 | 26 天前 |
GE资料书架总览
文档
-
面向单卡的图编译和执行,提供GE基本概念、原理介绍、以及如何使用GE图引擎接口进行图的构建,编译和运行等。
-
面向异构和集群的图编译和执行,介绍如何通过DataFlow接口构建、修改、编译和执行计算图。
-
面向大模型,介绍如何使用LLM-DataDist接口实现集群间的数据传输,构建大模型推理分离式框架。
技术文章
-
介绍GE如何通过通用的图优化技术(比如常量折叠)和特有的增强图优化技术(比如Shape优化技术),提升算法计算效率。
-
介绍多流并行技术的实现原理和使能方式,以及通过该技术,如何提高硬件资源利用率。
-
介绍GE如何结合业界标准的内存优化手段,利用全图视角精细调优内存复用算法和拓扑排序,进一步压缩网络内存占用,从而降低网络内存占用。
-
介绍GE如何通过图模式的Host调度和模型下沉调度的方式,提升模型调度性能,缩短模型E2E执行时间。
-
介绍Host调度优化的关键技术,以及如何通过这些技术提升异构系统资源的利用率。
-
介绍自动融合的实现原理和使能方式,以及通过该技术,如何缩短模型E2E时间。
API
- GraphEngine API
- DataFlow API
- LLM DataDist API