| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 | 5 天前 | |
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 | 5 天前 | |
【PR】: 新增中英文跳转链接 Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !4750 merge develop into develop 【PR】: 新增中英文跳转链接 Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: # Pull Request ## 描述 RAEDME以及一级文件夹根目录添加中英文跳转链接。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 不涉及 ## 如何测试 根据最新资料进行测试 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4750 | 13 天前 | |
【PR】: 新增中英文跳转链接 Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !4750 merge develop into develop 【PR】: 新增中英文跳转链接 Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: # Pull Request ## 描述 RAEDME以及一级文件夹根目录添加中英文跳转链接。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 不涉及 ## 如何测试 根据最新资料进行测试 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4750 | 13 天前 |
项目文档
简体中文 | English
目录结构
└── zh
├── api/ # API参考文档
├── contributions/ # 开发规范与指南
├── design/ # 设计文档
├── figures/ # 图片资源
├── user_guides/ # 用户指南
├── build.md # 源码构建
└── quick_install.md # 环境部署