GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【feat】: add acl external api skills Co-authored-by: tang-haojie<tanghaojie1@huawei.com> # message auto-generated for no-merge-commit merge: !4308 merge develop into develop 【feat】: add acl external api skills Created-by: tang-haojie Commit-by: tang-haojie Merged-by: cann-robot Description: # Pull Request ## 描述 新增acl对外接口skills,辅助agent方案分析和需求开发 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4308 | 24 天前 | |
fix: 修复代码提交模板问题&&拼写错误问题 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3828 merge dev-pull0702 into develop fix: 修复代码提交模板问题&&拼写错误问题 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 修复代码提交模板问题&&拼写错误问题 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的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!3828 | 2 个月前 | |
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 | 2 个月前 | |
feat: 用native bindings替换ONNX plugin Python objects Co-authored-by: gentle-knight<522025150054@smail.nju.edu.cn> # message auto-generated for no-merge-commit merge: !4421 merge feat/onnx-plugin-python-pr1-ctypes-pybind into develop feat: 用native bindings替换ONNX plugin Python objects Created-by: gentle-knight Commit-by: gentle-knight Merged-by: cann-robot Description: ## 描述 将 ONNX Plugin Python 对象实现切换为评审确定的原生绑定链路:OnnxNode 使用 pybind11,Operator 使用 ctypes 调用 GE C API。补充对应构建接入、Operator 借用句柄接口和单元测试。 本 PR 只提交 PR1 的源码、构建配置和测试代码,不包含设计文档、开发日志或构建产物。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. 使用 CANN 9.2.0 配置并编译 graph_wrapper 和 _ge_onnx_plugin_native,两个目标均成功。 2. 运行原生 OnnxNode smoke test,通过;PR1 Python 对象和 callback 测试隔离运行 25 个通过。完整 Python 测试仍需匹配 CANN 9.2.0 的 runtime wrapper。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已在标题中使用合适的类型标签(如:feat:, fix:) - [ ] 我已更新了相关的文档(文档按本轮要求不纳入 PR1,另行维护) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守其中规定 ## 其他信息 - 目标分支:develop - 源分支:gentle-knight:feat/onnx-plugin-python-pr1-ctypes-pybind - 基于最新 upstream/develop 提交 809de117d。 See merge request: cann/ge!4421 | 14 天前 | |
质量加固 Signed-off-by: Fiee16267377383 <242161157@qq.com> | 14 天前 | |
fix: 统一USE_CXX11_ABI管理,移除分散的ABI宏定义 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !4408 merge dev-abi0817 into develop fix: 统一USE_CXX11_ABI管理,移除分散的ABI宏定义 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 统一USE_CXX11_ABI管理,将分散在各处的_GLIBCXX_USE_CXX11_ABI宏定义移除,改为在顶层CMakeLists.txt中统一管理。主要变更: 1. **CMakeLists.txt**: 在init_cann_project()后统一设置USE_CXX11_ABI默认值为0,简化ENABLE_BUILD_DEVICE逻辑 2. **build.sh**: USE_CXX11_ABI默认值从1改为0 3. **cmake/ge_intf_pub_linux.cmake**: 移除ge_intf_pub_base对intf_pub_base的链接和_GLIBCXX_USE_CXX11_ABI定义 4. **dflow/llm_datadist/v1/CMakeLists.txt**: 移除分散的add_definitions ABI设置 5. **dflow/udf/cmake/device/protobuf.cmake**: 删除不再需要的protobuf构建文件 6. **parser/parser/func_to_graph/CMakeLists.txt**: 移除-D_GLIBCXX_USE_CXX11_ABI=0 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 适配 https://gitcode.com/cann/ge/pull/4397 ## 如何测试 1. 执行 bash build.sh 验证构建正常 2. 检查各组件编译时ABI一致性 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 从上游PR #4397适配到当前分支。 See merge request: cann/ge!4408 | 16 天前 | |
feat: 支持自动多流配置与自动寻优工作流 Co-authored-by: KenChow<zhouchen53@huawei.com> # message auto-generated for no-merge-commit merge: !4301 merge multi_stream_custom_pass into develop feat: 支持自动多流配置与自动寻优工作流 Created-by: KenChow Commit-by: KenChow Merged-by: cann-robot Description: # Pull Request ## 描述 新增 GE 自动多流的配置入口与自动寻优工作流,使用户无需修改模型代码即可选择、验证并挑选最优的多流并行策略。 **1. 自动多流配置入口(compiler)** - StreamUtils 新增 AutoMultistreamMode / AutoMultistreamConfig,统一解析 ge.autoMultistreamParallelMode 的取值:cv、LoadBalance:N、MainStream:N、WeightedLoadBalance:N(N 取值 [1, 64]),以及仅允许由自定义 Pass 通过图属性下发的 default。 - 模式来源从「仅 option」扩展为「option + 根图同名图属性」,图属性优先,便于自定义 Pass 在编译期动态切换策略。 - 收敛 LogicalStreamAllocator、EnginePartitioner 与 MiniDAGStreamPass 的门控逻辑,统一走上述解析结果,非法取值统一报错。 **2. 执行步骤打点(runtime/v1)** - 新增 runtime/v1/common/multi_stream_tuning:model_tuning_config 通过模型属性 _auto_multistream_tuning_mode 识别调优态;step_recorder 提供 RAII 的 StepScope,按 STEP 日志输出单步耗时。 - 非调优态(mode 为空)退化为空对象,不取时间戳、不分配资源,生产路径零开销;同线程仅统计最外层执行,避免嵌套重复打点。 - 打点接入 DavinciModel(NnExecute / Run)与 RT2.0 ModelV2Executor,覆盖 ACL、静态执行器、Hybrid 与 RT2.0 四条执行路径。 **3. 自动寻优样例(examples/multi_stream_autotune)** - ge_ms_autotune.py:候选模式批量编译、OM 复用、输出一致性校验、耗时统计与最优策略推荐。 - 配套自定义 Pass(下发 auto_multistream_tuning_graph 图属性)、sample_run.py 运行脚本及中英文 README。 **4. 测试** - 新增/补充 UT 与 ST,覆盖模式解析与非法值分支、门控跳过分支、打点记录与执行器集成路径。 ## 变更类型 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无关联 Issue。 ## 如何测试 前提条件:已安装 CANN Toolkit,并 source <ASCEND_INSTALL_PATH>/set_env.sh。 1. 编译 UT/ST: bash cmake -DCMAKE_BUILD_TYPE=GCOV -DENABLE_OPEN_SRC=True -DENABLE_GE_UT=ON -DENABLE_GE_ST=ON \ -DENABLE_TEST=True -DENABLE_PKG=ON -DASCEND_INSTALL_PATH=${ASCEND_INSTALL_PATH} \ -S . -B cmake-build-gcov make -C cmake-build-gcov ut_libge_multiparts_utest ut_libge_distinct_load_utest \ ut_fast_runtime2_test graph_engine_test st_fast_runtime2_test -j$(nproc) 2. 执行本次新增/修改的用例: bash unset LD_LIBRARY_PATH; unset ASCEND_OPP_PATH ./cmake-build-gcov/ut_libge_multiparts_utest --gtest_filter='*MultiStreamTuning*:*StreamUtils*:*DagStreamAllocatorPass*' ./cmake-build-gcov/ut_libge_distinct_load_utest --gtest_filter='*DavinciModel*' ./cmake-build-gcov/ut_fast_runtime2_test --gtest_filter='*CustomPass*:*ModelV2ExecutorBuilder*' ./cmake-build-gcov/graph_engine_test --gtest_filter='*MultiStreamTuning*:*DagStreamAllocatorPass*' ./cmake-build-gcov/st_fast_runtime2_test --gtest_filter='*MultiStream*' 3. 运行自动寻优样例(端到端): bash cd examples/multi_stream_autotune # 编译并安装寻优自定义 Pass cmake -S custom_pass -B build && cmake --build build --parallel # 单独跑一次被测样例,确认多流生效 GE_AUTO_MULTISTREAM_PARALLEL_MODE=LoadBalance:4 python3 sample_run.py --steps 12 --dim 512 # 批量寻优并查看推荐结果 python3 ge_ms_autotune.py --run-command "python3 sample_run.py --steps 12" \ --strategies LoadBalance,MainStream --streams 2,4,8 --repeat 3 --output-dir ./tune_out 预期:各候选配置的 STEP 打点被正确解析,输出耗时排名与推荐配置;详细步骤与参数见 examples/multi_stream_autotune/README.md。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 本 PR 不改变默认行为:未配置 ge.autoMultistreamParallelMode 时编译流程与打点逻辑保持原状。 - git diff --check origin/develop...HEAD 的行尾提示仅涉及 3 个上游原本即全量使用 CRLF 的测试文件,本次保持其既有行尾格式,未引入行尾转换。 See merge request: cann/ge!4301 | 14 天前 | |
fix: 修复 DeployContext transfer_queues_ 和 tansfer_routes_ 数据竞争 Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !4467 merge fix/dflow-deploy-context-race into develop fix: 修复 DeployContext transfer_queues_ 和 tansfer_routes_ 数据竞争 Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: ## 描述 修复 DeployContext 中 transfer_queues_ 和 tansfer_routes_ 的数据竞争和原子性违规问题。 多个 ThreadPool worker 线程并发调用 GetOrCreateTransferQueue 和 ProcessSharedContent 时,对 std::map 成员进行无锁的 find→CreateQueue→insert 序列,导致: 1. **数据竞争**:std::map 红黑树并发写 → 堆损坏/崩溃 2. **原子性违规**:重复执行 HService::CreateQueue(非幂等设备资源分配)→ rtMemQueue 句柄永久泄漏 ## 变更类型 - [x] 🐛 Bug 修复 ## 关联的Issue Closes cann/ge#3 ## 如何测试 1. bash build.sh --dflow 编译通过 2. 分析确认:HService::CreateQueue 不回调 DeployContext、不获取 DeployContext::mu_、不阻塞,加 mu_ 锁不会引入死锁 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 ### 修改内容 1. GetOrCreateTransferQueue:函数入口加 std::lock_guard<std::mutex> lk(mu_),保护 find→CreateQueue→insert 整个序列 2. ProcessSharedContent:tansfer_routes_ 的 find→Deploy→insert 序列加 mu_ 锁 3. Finalize:transfer_queues_ 和 tansfer_routes_ 使用 swap 模式,锁内 swap 出局部变量后锁外销毁资源,避免与并发写入竞争 ### 死锁分析 - HService::CreateQueue 是独立单例,不回调 DeployContext,不获取 DeployContext::mu_,无锁序环 - HeterogeneousExchangeDeployer::Deploy 同理,不回调 DeployContext - Finalize 的 swap 模式确保锁内仅做 O(1) swap,锁外才调用可能阻塞的 DestroyQueue/Undeploy See merge request: cann/ge!4467 | 14 天前 | |
【PR】: 更新资料 Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !4463 merge develop into develop 【PR】: 更新资料 Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: # Pull Request ## 描述 更新资料,修改ATC参数中的缩进问题 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [] 📝 文档内容更新 ## 关联的Issue 不涉及 ## 如何测试 根据最新资料测试 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4463 | 16 天前 | |
feat: 支持自动多流配置与自动寻优工作流 Co-authored-by: KenChow<zhouchen53@huawei.com> # message auto-generated for no-merge-commit merge: !4301 merge multi_stream_custom_pass into develop feat: 支持自动多流配置与自动寻优工作流 Created-by: KenChow Commit-by: KenChow Merged-by: cann-robot Description: # Pull Request ## 描述 新增 GE 自动多流的配置入口与自动寻优工作流,使用户无需修改模型代码即可选择、验证并挑选最优的多流并行策略。 **1. 自动多流配置入口(compiler)** - StreamUtils 新增 AutoMultistreamMode / AutoMultistreamConfig,统一解析 ge.autoMultistreamParallelMode 的取值:cv、LoadBalance:N、MainStream:N、WeightedLoadBalance:N(N 取值 [1, 64]),以及仅允许由自定义 Pass 通过图属性下发的 default。 - 模式来源从「仅 option」扩展为「option + 根图同名图属性」,图属性优先,便于自定义 Pass 在编译期动态切换策略。 - 收敛 LogicalStreamAllocator、EnginePartitioner 与 MiniDAGStreamPass 的门控逻辑,统一走上述解析结果,非法取值统一报错。 **2. 执行步骤打点(runtime/v1)** - 新增 runtime/v1/common/multi_stream_tuning:model_tuning_config 通过模型属性 _auto_multistream_tuning_mode 识别调优态;step_recorder 提供 RAII 的 StepScope,按 STEP 日志输出单步耗时。 - 非调优态(mode 为空)退化为空对象,不取时间戳、不分配资源,生产路径零开销;同线程仅统计最外层执行,避免嵌套重复打点。 - 打点接入 DavinciModel(NnExecute / Run)与 RT2.0 ModelV2Executor,覆盖 ACL、静态执行器、Hybrid 与 RT2.0 四条执行路径。 **3. 自动寻优样例(examples/multi_stream_autotune)** - ge_ms_autotune.py:候选模式批量编译、OM 复用、输出一致性校验、耗时统计与最优策略推荐。 - 配套自定义 Pass(下发 auto_multistream_tuning_graph 图属性)、sample_run.py 运行脚本及中英文 README。 **4. 测试** - 新增/补充 UT 与 ST,覆盖模式解析与非法值分支、门控跳过分支、打点记录与执行器集成路径。 ## 变更类型 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无关联 Issue。 ## 如何测试 前提条件:已安装 CANN Toolkit,并 source <ASCEND_INSTALL_PATH>/set_env.sh。 1. 编译 UT/ST: bash cmake -DCMAKE_BUILD_TYPE=GCOV -DENABLE_OPEN_SRC=True -DENABLE_GE_UT=ON -DENABLE_GE_ST=ON \ -DENABLE_TEST=True -DENABLE_PKG=ON -DASCEND_INSTALL_PATH=${ASCEND_INSTALL_PATH} \ -S . -B cmake-build-gcov make -C cmake-build-gcov ut_libge_multiparts_utest ut_libge_distinct_load_utest \ ut_fast_runtime2_test graph_engine_test st_fast_runtime2_test -j$(nproc) 2. 执行本次新增/修改的用例: bash unset LD_LIBRARY_PATH; unset ASCEND_OPP_PATH ./cmake-build-gcov/ut_libge_multiparts_utest --gtest_filter='*MultiStreamTuning*:*StreamUtils*:*DagStreamAllocatorPass*' ./cmake-build-gcov/ut_libge_distinct_load_utest --gtest_filter='*DavinciModel*' ./cmake-build-gcov/ut_fast_runtime2_test --gtest_filter='*CustomPass*:*ModelV2ExecutorBuilder*' ./cmake-build-gcov/graph_engine_test --gtest_filter='*MultiStreamTuning*:*DagStreamAllocatorPass*' ./cmake-build-gcov/st_fast_runtime2_test --gtest_filter='*MultiStream*' 3. 运行自动寻优样例(端到端): bash cd examples/multi_stream_autotune # 编译并安装寻优自定义 Pass cmake -S custom_pass -B build && cmake --build build --parallel # 单独跑一次被测样例,确认多流生效 GE_AUTO_MULTISTREAM_PARALLEL_MODE=LoadBalance:4 python3 sample_run.py --steps 12 --dim 512 # 批量寻优并查看推荐结果 python3 ge_ms_autotune.py --run-command "python3 sample_run.py --steps 12" \ --strategies LoadBalance,MainStream --streams 2,4,8 --repeat 3 --output-dir ./tune_out 预期:各候选配置的 STEP 打点被正确解析,输出耗时排名与推荐配置;详细步骤与参数见 examples/multi_stream_autotune/README.md。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 本 PR 不改变默认行为:未配置 ge.autoMultistreamParallelMode 时编译流程与打点逻辑保持原状。 - git diff --check origin/develop...HEAD 的行尾提示仅涉及 3 个上游原本即全量使用 CRLF 的测试文件,本次保持其既有行尾格式,未引入行尾转换。 See merge request: cann/ge!4301 | 14 天前 | |
feat: 支持自动多流配置与自动寻优工作流 Co-authored-by: KenChow<zhouchen53@huawei.com> # message auto-generated for no-merge-commit merge: !4301 merge multi_stream_custom_pass into develop feat: 支持自动多流配置与自动寻优工作流 Created-by: KenChow Commit-by: KenChow Merged-by: cann-robot Description: # Pull Request ## 描述 新增 GE 自动多流的配置入口与自动寻优工作流,使用户无需修改模型代码即可选择、验证并挑选最优的多流并行策略。 **1. 自动多流配置入口(compiler)** - StreamUtils 新增 AutoMultistreamMode / AutoMultistreamConfig,统一解析 ge.autoMultistreamParallelMode 的取值:cv、LoadBalance:N、MainStream:N、WeightedLoadBalance:N(N 取值 [1, 64]),以及仅允许由自定义 Pass 通过图属性下发的 default。 - 模式来源从「仅 option」扩展为「option + 根图同名图属性」,图属性优先,便于自定义 Pass 在编译期动态切换策略。 - 收敛 LogicalStreamAllocator、EnginePartitioner 与 MiniDAGStreamPass 的门控逻辑,统一走上述解析结果,非法取值统一报错。 **2. 执行步骤打点(runtime/v1)** - 新增 runtime/v1/common/multi_stream_tuning:model_tuning_config 通过模型属性 _auto_multistream_tuning_mode 识别调优态;step_recorder 提供 RAII 的 StepScope,按 STEP 日志输出单步耗时。 - 非调优态(mode 为空)退化为空对象,不取时间戳、不分配资源,生产路径零开销;同线程仅统计最外层执行,避免嵌套重复打点。 - 打点接入 DavinciModel(NnExecute / Run)与 RT2.0 ModelV2Executor,覆盖 ACL、静态执行器、Hybrid 与 RT2.0 四条执行路径。 **3. 自动寻优样例(examples/multi_stream_autotune)** - ge_ms_autotune.py:候选模式批量编译、OM 复用、输出一致性校验、耗时统计与最优策略推荐。 - 配套自定义 Pass(下发 auto_multistream_tuning_graph 图属性)、sample_run.py 运行脚本及中英文 README。 **4. 测试** - 新增/补充 UT 与 ST,覆盖模式解析与非法值分支、门控跳过分支、打点记录与执行器集成路径。 ## 变更类型 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无关联 Issue。 ## 如何测试 前提条件:已安装 CANN Toolkit,并 source <ASCEND_INSTALL_PATH>/set_env.sh。 1. 编译 UT/ST: bash cmake -DCMAKE_BUILD_TYPE=GCOV -DENABLE_OPEN_SRC=True -DENABLE_GE_UT=ON -DENABLE_GE_ST=ON \ -DENABLE_TEST=True -DENABLE_PKG=ON -DASCEND_INSTALL_PATH=${ASCEND_INSTALL_PATH} \ -S . -B cmake-build-gcov make -C cmake-build-gcov ut_libge_multiparts_utest ut_libge_distinct_load_utest \ ut_fast_runtime2_test graph_engine_test st_fast_runtime2_test -j$(nproc) 2. 执行本次新增/修改的用例: bash unset LD_LIBRARY_PATH; unset ASCEND_OPP_PATH ./cmake-build-gcov/ut_libge_multiparts_utest --gtest_filter='*MultiStreamTuning*:*StreamUtils*:*DagStreamAllocatorPass*' ./cmake-build-gcov/ut_libge_distinct_load_utest --gtest_filter='*DavinciModel*' ./cmake-build-gcov/ut_fast_runtime2_test --gtest_filter='*CustomPass*:*ModelV2ExecutorBuilder*' ./cmake-build-gcov/graph_engine_test --gtest_filter='*MultiStreamTuning*:*DagStreamAllocatorPass*' ./cmake-build-gcov/st_fast_runtime2_test --gtest_filter='*MultiStream*' 3. 运行自动寻优样例(端到端): bash cd examples/multi_stream_autotune # 编译并安装寻优自定义 Pass cmake -S custom_pass -B build && cmake --build build --parallel # 单独跑一次被测样例,确认多流生效 GE_AUTO_MULTISTREAM_PARALLEL_MODE=LoadBalance:4 python3 sample_run.py --steps 12 --dim 512 # 批量寻优并查看推荐结果 python3 ge_ms_autotune.py --run-command "python3 sample_run.py --steps 12" \ --strategies LoadBalance,MainStream --streams 2,4,8 --repeat 3 --output-dir ./tune_out 预期:各候选配置的 STEP 打点被正确解析,输出耗时排名与推荐配置;详细步骤与参数见 examples/multi_stream_autotune/README.md。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 本 PR 不改变默认行为:未配置 ge.autoMultistreamParallelMode 时编译流程与打点逻辑保持原状。 - git diff --check origin/develop...HEAD 的行尾提示仅涉及 3 个上游原本即全量使用 CRLF 的测试文件,本次保持其既有行尾格式,未引入行尾转换。 See merge request: cann/ge!4301 | 14 天前 | |
质量加固 Signed-off-by: Fiee16267377383 <242161157@qq.com> | 14 天前 | |
fix: 增加 ONNX 算子 IO 名称解析失败校验和日志(#503) Co-authored-by: @SeasonChu<zhuxincheng2@huawei.com> # message auto-generated for no-merge-commit merge: !4449 merge issue503fix into develop fix: 增加 ONNX 算子 IO 名称解析失败校验和日志(#503) Created-by: SeasonChu Commit-by: @SeasonChu Merged-by: cann-robot Description: # Pull Request ## 描述 ONNX 模型解析在 SetOperatorInputs 阶段根据输入、输出索引解析 IO 名称并完成算子连边。原流程未显式校验解析结果;当索引无法对应有效 IO 名称时,错误信息不足,难以定位具体的张量和算子。 本次变更: - 提前获取源算子、目的算子的名称、类型及对应 IO 名称; - 在源输出名或目的输入名为空时,输出包含张量名、算子名称/类型、IO 索引及解析结果的错误信息; - 异常场景返回 PARAM_INVALID,避免继续使用空 IO 名称调用 SetInput; - 正常场景继续使用已解析的 IO 名称完成连边,原有处理逻辑不变。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 关联 #503。 ## 如何测试 1. 解析 IO 名称有效的 ONNX 模型,确认算子输入连边行为保持不变。 2. 构造源输出或目的输入索引无法解析出 IO 名称的场景,确认解析返回 PARAM_INVALID。 3. 检查错误日志,确认包含张量名、源/目的算子名称与类型、IO 索引及解析出的 IO 名称。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 本次变更不涉及对外接口或架构,无需更新相关文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次 PR 仅修改 parser/parser/onnx/onnx_parser.cc 的异常校验和诊断信息,未新增测试用例。 See merge request: cann/ge!4449 | 16 天前 | |
【refactor】: move amct headers to pkg_inc dir Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !3863 merge develop into develop 【refactor】: move amct headers to pkg_inc dir Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 将与 amct 相关的两个头文件移到 pkg_inc/ 目录下,方便统一管控。 上一单合入PR是:https://gitcode.com/cann/ge/pull/3317 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.不影响 toolkit 包内头文件位置 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3863 | 1 个月前 | |
质量加固 Signed-off-by: Fiee16267377383 <242161157@qq.com> | 14 天前 | |
【PR】: delete redundant code Co-authored-by: hd920483084<handong38@h-partners.com> # message auto-generated for no-merge-commit merge: !4431 merge develop into develop 【PR】: delete redundant code Created-by: hd920483084 Commit-by: hd920483084 Merged-by: cann-robot Description: # Pull Request ## 描述 删除fe build冗余脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4431 | 16 天前 | |
feat: 支持自动多流配置与自动寻优工作流 Co-authored-by: KenChow<zhouchen53@huawei.com> # message auto-generated for no-merge-commit merge: !4301 merge multi_stream_custom_pass into develop feat: 支持自动多流配置与自动寻优工作流 Created-by: KenChow Commit-by: KenChow Merged-by: cann-robot Description: # Pull Request ## 描述 新增 GE 自动多流的配置入口与自动寻优工作流,使用户无需修改模型代码即可选择、验证并挑选最优的多流并行策略。 **1. 自动多流配置入口(compiler)** - StreamUtils 新增 AutoMultistreamMode / AutoMultistreamConfig,统一解析 ge.autoMultistreamParallelMode 的取值:cv、LoadBalance:N、MainStream:N、WeightedLoadBalance:N(N 取值 [1, 64]),以及仅允许由自定义 Pass 通过图属性下发的 default。 - 模式来源从「仅 option」扩展为「option + 根图同名图属性」,图属性优先,便于自定义 Pass 在编译期动态切换策略。 - 收敛 LogicalStreamAllocator、EnginePartitioner 与 MiniDAGStreamPass 的门控逻辑,统一走上述解析结果,非法取值统一报错。 **2. 执行步骤打点(runtime/v1)** - 新增 runtime/v1/common/multi_stream_tuning:model_tuning_config 通过模型属性 _auto_multistream_tuning_mode 识别调优态;step_recorder 提供 RAII 的 StepScope,按 STEP 日志输出单步耗时。 - 非调优态(mode 为空)退化为空对象,不取时间戳、不分配资源,生产路径零开销;同线程仅统计最外层执行,避免嵌套重复打点。 - 打点接入 DavinciModel(NnExecute / Run)与 RT2.0 ModelV2Executor,覆盖 ACL、静态执行器、Hybrid 与 RT2.0 四条执行路径。 **3. 自动寻优样例(examples/multi_stream_autotune)** - ge_ms_autotune.py:候选模式批量编译、OM 复用、输出一致性校验、耗时统计与最优策略推荐。 - 配套自定义 Pass(下发 auto_multistream_tuning_graph 图属性)、sample_run.py 运行脚本及中英文 README。 **4. 测试** - 新增/补充 UT 与 ST,覆盖模式解析与非法值分支、门控跳过分支、打点记录与执行器集成路径。 ## 变更类型 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无关联 Issue。 ## 如何测试 前提条件:已安装 CANN Toolkit,并 source <ASCEND_INSTALL_PATH>/set_env.sh。 1. 编译 UT/ST: bash cmake -DCMAKE_BUILD_TYPE=GCOV -DENABLE_OPEN_SRC=True -DENABLE_GE_UT=ON -DENABLE_GE_ST=ON \ -DENABLE_TEST=True -DENABLE_PKG=ON -DASCEND_INSTALL_PATH=${ASCEND_INSTALL_PATH} \ -S . -B cmake-build-gcov make -C cmake-build-gcov ut_libge_multiparts_utest ut_libge_distinct_load_utest \ ut_fast_runtime2_test graph_engine_test st_fast_runtime2_test -j$(nproc) 2. 执行本次新增/修改的用例: bash unset LD_LIBRARY_PATH; unset ASCEND_OPP_PATH ./cmake-build-gcov/ut_libge_multiparts_utest --gtest_filter='*MultiStreamTuning*:*StreamUtils*:*DagStreamAllocatorPass*' ./cmake-build-gcov/ut_libge_distinct_load_utest --gtest_filter='*DavinciModel*' ./cmake-build-gcov/ut_fast_runtime2_test --gtest_filter='*CustomPass*:*ModelV2ExecutorBuilder*' ./cmake-build-gcov/graph_engine_test --gtest_filter='*MultiStreamTuning*:*DagStreamAllocatorPass*' ./cmake-build-gcov/st_fast_runtime2_test --gtest_filter='*MultiStream*' 3. 运行自动寻优样例(端到端): bash cd examples/multi_stream_autotune # 编译并安装寻优自定义 Pass cmake -S custom_pass -B build && cmake --build build --parallel # 单独跑一次被测样例,确认多流生效 GE_AUTO_MULTISTREAM_PARALLEL_MODE=LoadBalance:4 python3 sample_run.py --steps 12 --dim 512 # 批量寻优并查看推荐结果 python3 ge_ms_autotune.py --run-command "python3 sample_run.py --steps 12" \ --strategies LoadBalance,MainStream --streams 2,4,8 --repeat 3 --output-dir ./tune_out 预期:各候选配置的 STEP 打点被正确解析,输出耗时排名与推荐配置;详细步骤与参数见 examples/multi_stream_autotune/README.md。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 本 PR 不改变默认行为:未配置 ge.autoMultistreamParallelMode 时编译流程与打点逻辑保持原状。 - git diff --check origin/develop...HEAD 的行尾提示仅涉及 3 个上游原本即全量使用 CRLF 的测试文件,本次保持其既有行尾格式,未引入行尾转换。 See merge request: cann/ge!4301 | 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 | 2 个月前 | |
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 | 2 个月前 | |
refactor: 抽取AtomicMemoryAssigner独立类 Co-authored-by: tangqunzhang<tangqunzhang@huawei.com> # message auto-generated for no-merge-commit merge: !4171 merge refactor/extract-atomic-memory-assigner into develop refactor: 抽取AtomicMemoryAssigner独立类 Created-by: tangqunzhang Commit-by: tangqunzhang Merged-by: cann-robot Description: # Pull Request ## 描述 将GraphMemoryAssigner中的atomic内存分配与清零相关逻辑抽取为独立的AtomicMemoryAssigner类,降低graph_mem_assigner.cc复杂度,提升可维护性。 抽取内容: - atomic_memory_assigner.cc/h:新增文件,包含atomic清零相关的结构体(MemoryOffset、CleanMemInfo、CleanDataTypeValue、AtomicNodeCleanTypeVals)、成员函数(ReAssign、SetAtomicCleanOffset、FilterAtomicNodes、AssignAtomicOutputMemory、AssignFusionAtomicWorkspaceMemory等)及辅助函数 - graph_mem_assigner.cc/h:移除atomic相关函数和结构体,通过atomic_memory_assigner_成员委托调用 - graph_mem_splitter.h:新增GraphMemSplitterPtr类型别名 - 测试用例:适配AtomicMemoryAssigner拆分,封装InitAtomicMemoryAssigner辅助函数 同时补充HCCL算子零拷贝地址刷新判断:IsAddressRefreshable在动态shape静态子图场景认为hccl算子可刷新,统一使用IsHcomNodeNotSupportAddrRefresh的结果。 ## 变更类型 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) ## 关联的Issue ## 如何测试 1. 基于develop分支编译ge_compiler 2. 运行graph_mem_assigner_unittest、mem_assigner_unittest等单元测试 3. 运行test_graph_compiler系统测试 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签 - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md) ## 其他信息 与PR #4229(从block_mem_assigner抽取零拷贝及辅助函数)拆分,本PR仅包含atomic内存分配逻辑的抽取。 See merge request: cann/ge!4171 | 30 天前 | |
fix: OAT检查适配仅检查修改文件 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3984 merge dev-precommit0713 into develop fix: OAT检查适配仅检查修改文件 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 OAT检查适配仅检查修改文件 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的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!3984 | 1 个月前 | |
【feat】: add acl external api skills Co-authored-by: tang-haojie<tanghaojie1@huawei.com> # message auto-generated for no-merge-commit merge: !4308 merge develop into develop 【feat】: add acl external api skills Created-by: tang-haojie Commit-by: tang-haojie Merged-by: cann-robot Description: # Pull Request ## 描述 新增acl对外接口skills,辅助agent方案分析和需求开发 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4308 | 24 天前 | |
提交英文资料 | 2 个月前 | |
fix: 统一USE_CXX11_ABI管理,移除分散的ABI宏定义 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !4408 merge dev-abi0817 into develop fix: 统一USE_CXX11_ABI管理,移除分散的ABI宏定义 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 统一USE_CXX11_ABI管理,将分散在各处的_GLIBCXX_USE_CXX11_ABI宏定义移除,改为在顶层CMakeLists.txt中统一管理。主要变更: 1. **CMakeLists.txt**: 在init_cann_project()后统一设置USE_CXX11_ABI默认值为0,简化ENABLE_BUILD_DEVICE逻辑 2. **build.sh**: USE_CXX11_ABI默认值从1改为0 3. **cmake/ge_intf_pub_linux.cmake**: 移除ge_intf_pub_base对intf_pub_base的链接和_GLIBCXX_USE_CXX11_ABI定义 4. **dflow/llm_datadist/v1/CMakeLists.txt**: 移除分散的add_definitions ABI设置 5. **dflow/udf/cmake/device/protobuf.cmake**: 删除不再需要的protobuf构建文件 6. **parser/parser/func_to_graph/CMakeLists.txt**: 移除-D_GLIBCXX_USE_CXX11_ABI=0 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 适配 https://gitcode.com/cann/ge/pull/4397 ## 如何测试 1. 执行 bash build.sh 验证构建正常 2. 检查各组件编译时ABI一致性 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 从上游PR #4397适配到当前分支。 See merge request: cann/ge!4408 | 16 天前 | |
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 | 2 个月前 | |
提交英文文档 | 2 个月前 | |
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 | 2 个月前 | |
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 | 2 个月前 | |
【PR】: 更新README,新增MsLite使用GE后端 Co-authored-by: yangyongqiang0606<yangyongqiang7@hisilicon.com> # message auto-generated for no-merge-commit merge: !4077 merge develop into develop 【PR】: 更新README,新增MsLite使用GE后端 Created-by: yangyongqiang0606 Commit-by: yangyongqiang0606 Merged-by: cann-robot Description: # Pull Request ## 描述 更新README,新增MS使用GE后端 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4077 | 1 个月前 | |
【PR】: 更新README,新增MsLite使用GE后端 Co-authored-by: yangyongqiang0606<yangyongqiang7@hisilicon.com> # message auto-generated for no-merge-commit merge: !4077 merge develop into develop 【PR】: 更新README,新增MsLite使用GE后端 Created-by: yangyongqiang0606 Commit-by: yangyongqiang0606 Merged-by: cann-robot Description: # Pull Request ## 描述 更新README,新增MS使用GE后端 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4077 | 1 个月前 | |
【feat】: upgrade json to v3.12.0 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !4283 merge upgrade_json into develop 【feat】: upgrade json to v3.12.0 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 将 json 升级到 v3.12.0 以及修改相关的文档、脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. DT 验证即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4283 | 25 天前 | |
【feat】: upgrade json to v3.12.0 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !4283 merge upgrade_json into develop 【feat】: upgrade json to v3.12.0 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 将 json 升级到 v3.12.0 以及修改相关的文档、脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. DT 验证即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4283 | 25 天前 | |
【feat】: upgrade json to v3.12.0 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !4283 merge upgrade_json into develop 【feat】: upgrade json to v3.12.0 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 将 json 升级到 v3.12.0 以及修改相关的文档、脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. DT 验证即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4283 | 25 天前 | |
【feat】: upgrade json to v3.12.0 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !4283 merge upgrade_json into develop 【feat】: upgrade json to v3.12.0 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 将 json 升级到 v3.12.0 以及修改相关的文档、脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. DT 验证即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4283 | 25 天前 | |
refactor: dflow session/compiler/executor 目录结构调整到 runner 平级目录 Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !4263 merge dflow into develop refactor: dflow session/compiler/executor 目录结构调整到 runner 平级目录 Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: ## 描述 将 dflow 的 session、compiler、executor 三个目录统一移入 dflow/runner/ 下,使 session 与 compiler、executor 处于平行层级。编译产物 libdflow_runner.so 输出到 dflow/runner/ 目录,目录结构与编译结果对应。 **调整前**: dflow/ ├── compiler/ ← 编译层(含 session 子目录) │ ├── CMakeLists.txt ← dflow_runner 编译定义 │ ├── data_flow_graph/ │ ├── model/ │ ├── pne/ │ └── session/ ← session 原在此 ├── executor/ ← 执行层 ├── deployer/ ├── ... **调整后**: dflow/ ├── runner/ ← 新建,dflow_runner 编译入口 │ ├── CMakeLists.txt ← dflow_runner 编译定义 │ ├── compiler/ ← 编译层 │ ├── executor/ ← 执行层 │ └── session/ ← session 层(与 compiler/executor 平级) ├── deployer/ ├── ... ## 变更类型 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 ## 关联的Issue ## 如何测试 1. 增量编译 dflow_runner 目标,确认 libdflow_runner.so 输出到 dflow/runner/ 目录 2. 确认所有 #include 路径正确解析 3. 确认 pre-commit 检查全部通过 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 涉及 112 个文件变更(目录 rename + include 路径更新) - 编译验证通过:libdflow_runner.so 正确输出到 cmake-build-gcov/dflow/runner/libdflow_runner.so - 文档同步更新:docs/zh/design/modules/dflow/dflow.md、docs/en/design/modules/dflow/dflow.md、blacklist.txt See merge request: cann/ge!4263 | 30 天前 | |
fix: 统一USE_CXX11_ABI管理,移除分散的ABI宏定义 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !4408 merge dev-abi0817 into develop fix: 统一USE_CXX11_ABI管理,移除分散的ABI宏定义 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 统一USE_CXX11_ABI管理,将分散在各处的_GLIBCXX_USE_CXX11_ABI宏定义移除,改为在顶层CMakeLists.txt中统一管理。主要变更: 1. **CMakeLists.txt**: 在init_cann_project()后统一设置USE_CXX11_ABI默认值为0,简化ENABLE_BUILD_DEVICE逻辑 2. **build.sh**: USE_CXX11_ABI默认值从1改为0 3. **cmake/ge_intf_pub_linux.cmake**: 移除ge_intf_pub_base对intf_pub_base的链接和_GLIBCXX_USE_CXX11_ABI定义 4. **dflow/llm_datadist/v1/CMakeLists.txt**: 移除分散的add_definitions ABI设置 5. **dflow/udf/cmake/device/protobuf.cmake**: 删除不再需要的protobuf构建文件 6. **parser/parser/func_to_graph/CMakeLists.txt**: 移除-D_GLIBCXX_USE_CXX11_ABI=0 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 适配 https://gitcode.com/cann/ge/pull/4397 ## 如何测试 1. 执行 bash build.sh 验证构建正常 2. 检查各组件编译时ABI一致性 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 从上游PR #4397适配到当前分支。 See merge request: cann/ge!4408 | 16 天前 | |
Initial commit | 8 个月前 | |
【PR】: sync master to develop 20260723 Co-authored-by: Archerls<wuhuiyang3@huawei.com> Co-authored-by: jiang-mingming01<jiangmingming16@h-partners.com> Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> Co-authored-by: liangxuheng<741015122@qq.com> Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4121 merge master into develop 【PR】: sync master to develop 20260723 Created-by: zhanj Commit-by: zhanj;zhengfeiteng;Feiteng Zheng;jiang-mingming01;Chang-an-HW;yangyongqiang0606;du-hua1024;liangxuheng;Archerls;jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 sync master to develop 20260723 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4121 | 1 个月前 | |
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 | 2 个月前 | |
fix: update GE version to 9.2.0 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !4199 merge fix-ge-version-9.2.0 into develop fix: update GE version to 9.2.0 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: Updates the GE package versions and build dependencies to 9.2. See merge request: cann/ge!4199 | 1 个月前 |
GE(Graph Engine 图引擎)
🔥 Latest News
- [2026/03] 持续增强图优化能力,完善单元测试覆盖,修复多个边缘场景的编译问题;优化文档结构,提升开发者体验。
- [2026/02] 优化自动融合与广播场景支持,新增 BF16 数据类型支持;增强 HostCPU 引擎能力,优化 session 创建销毁锁机制;修复外置权重、线程加载等场景下的 bug;支持 Reduce 分核轴 Store 地址冲突惩罚,提升算子融合效果。
- [2026/01] GE 项目首次上线,开源图编译器和执行器,支持 PyTorch、TensorFlow 前端接入以及 ONNX、PB 模型格式解析与编译。
🚀 概述
GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。详见昇腾社区文档-图模式开发指南。

⚡️ 快速入门
若希望快速体验 GE 的工作方式及基本开发流程,可参考以下文档:
- 构建验证:介绍组件的完整构建、测试样例运行流程。
- 快速开始:以 ResNet50 模型为例,介绍如何使用 ATC 工具进行模型转换,并在昇腾 AI 处理器上执行推理。
- 快速开始-LLM:以 Qwen 模型为例,介绍如何使用 ATC 工具进行LLM模型转换,并实现LLM模型的加载、执行和获取执行结果等。
📚 文档
如需了解如何使用 GE 进行模型编译与执行,可参见图模式开发指南、技术文章等内容: GE 参考资料
如果希望深入了解 GE 的内部设计、架构机制与开发流程,可参考以下文档:
- GE 架构说明文档:介绍核心组件、执行流程、优化机制等内部原理。
- 贡献指南:说明如何提交 Issue、Pull Request 以及代码规范。
- AI Agent支持:介绍仓内默认使用的一些skills及使用agent辅助开发流程
🌐 生态集成
以下项目已集成 GE 作为推理或图模式后端:
- TorchAir:将 GE 接入 PyTorch 图模式。链接
- TFA(TensorFlow Adapter):将 GE 作为 TensorFlow 后端。链接
- JittorInfer:基于昇腾芯片的大模型 C++ 推理框架。链接
- Triton GE Backend:GE 的 Triton Inference Server 后端。链接
- MindSpore Lite: 将 GE 作为 MindSpore Lite 后端。 链接
说明: 上述列表为已知并对外公开的集成案例,并非完整清单。 若您正在使用 GE,欢迎通过 Issue 或 PR 补充,我们将持续更新相关信息。
📝 其他信息
📝 联系我们
