| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
refactor: 移除 FunctionCompile 对 numa 配置的依赖,资源类型改为编译期固定生成 Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !4424 merge refactor/remove-numa-config-dep into develop refactor: 移除 FunctionCompile 对 numa 配置的依赖,资源类型改为编译期固定生成 Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: # Pull Request ## 描述 移除 CompileConfigJson::GetResourceTypeFromNumaConfig,FunctionCompile 中资源类型改为编译期固定生成 Ascend + host(X86/Aarch),消除对 numa 配置 JSON 的不必要运行时依赖。 主要变更: - 删除 GetResourceTypeFromNumaConfig 函数(唯一读取 OPTION_NUMA_CONFIG 的非测试代码),资源类型固定为 {kResourceTypeAscend, ExecutionRuntime::IsX86() ? kResourceTypeX86 : kResourceTypeAarch} - 删除 DeployLocation 类,将 IsX86() 静态方法迁移到 ExecutionRuntime 中 - 清理 compile_config_json.cc 中 ge_global_options.h/ge_types.h 无用 include - 清理 UT 测试中冗余的 OPTION_NUMA_CONFIG 设置代码 - 更新 dflow.md 文档中 _dflow_runnable_resource 属性描述 ## 变更类型 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) ## 关联的Issue ## 如何测试 1. 编译 data_flow_base、dflow_runner、npu_executor_static(deployer)库 2. 编译并运行 ut_libge_helper_utest UT 测试 3. 编译 helper_runtime_test ST 测试 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 **验证结果**: - data_flow_base 编译通过 - dflow_runner 编译通过 - npu_executor_static(deployer)编译通过 - ut_libge_helper_utest 编译通过,83 个测试用例全部 PASSED - helper_runtime_test(ST)编译通过 **行为变化说明**:之前若 numa 配置只含 Ascend,则只编译 Ascend;之后始终编译两种类型。但 CompileAllResourceType 已有容错(toolchain 不存在则 skip),不会因多编译一种类型而失败。 See merge request: cann/ge!4424 | 1 个月前 | |
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 | 1 个月前 | |
refactor: 清理 dflow 中未使用的 include、using 别名、废弃函数和结构体 Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !3846 merge ln_0224 into develop refactor: 清理 dflow 中未使用的 include、using 别名、废弃函数和结构体 Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: # Pull Request ## 描述 系统性清理 dflow 目录下经全仓库交叉引用分析确认的废弃代码,共 4 个主题: **1. 清理未使用的 #include(4文件,8个)** 删除从未被引用的头文件 include,减少不必要的编译依赖: - data_flow_graph_auto_deployer.cc: ge_context.h、ge_local_context.h - compile_config_json.cc: mmpa_api.h、ge_context.h - flow_model_builder.cc: graph_rebuild_state_ctrl.h - flow_model_sender.cc: graph_var_manager.h、graph_utils.h、securec.h **2. 清理未使用的 using/typedef 别名(4个)** - AutoDeployFunc(data_flow_graph_auto_deployer.h)— 函数指针类型别名,全仓库零引用 - ComputeGraphPtr(flow_graph.cc,namespace ge::dflow 内)— 遮蔽 ge 命名空间同名且从未使用 - ConstSubmodelInfoPtr(master_model_deployer.h)— 私有别名,零引用 - DynamicSchedInfo(deploy_planner.cc)— 文件作用域别名,零引用 **3. 清理废弃函数(17个函数 + 1行注释代码)** 删除定义后从未被调用的函数(经全仓库搜索确认无调用点,排除虚函数/override/pybind注册): - DeployPlannerBase::IsHeadOrTail - FlowModelOmLoader::LoadToFlowModelDesc - FlowModelOmSaver::SaveToModelData - UdfModelBuilder::SetBin(保留 SetBinName) - Configurations::GetConfigDir - HeterogeneousExchangeDeployer::MutableRoute - NetworkManager::GetCtrlPanelIp / GetCtrlPanelPorts - ResourceManager::GetDeviceIp2DevicesMap - CpuIdResourceManager::GenerateAicpuStreamId / FreeAicpuStreamId - FlowModelManager::IsLoadedByFlowModel - ProcessNodeEngineManager::IsEngineRegistered - PneExecutorClient::GetProcessId - ExecutorContext::UpdateGraphOptions(保留 acl:: 和 ExecutionRuntimeUtils:: 同名函数) - FunctionPpImpl::GetAttrMap - ModelRelationReader::LogDebugString(保留 BasePartitioner::LogDebugString) - flow_func_processor.h 中注释掉的 writerGuard_ 成员 **4. 清理废弃结构体(1个)** - RunAsyncRequest(heterogeneous_model_executor.h)— HeterogeneousModelExecutor 私有嵌套结构,全仓库零引用 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 增量编译 flow_graph target 通过(0 error),覆盖了 compile_config_json、data_flow_graph_auto_deployer、flow_model_builder、process_point 等改动文件 2. git diff 确认所有删除均为干净的函数体/声明移除,无副作用 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 共 39 个文件,删除 184 行废弃代码。所有废弃项均经全仓库交叉引用搜索确认(排除虚函数、pybind注册、测试桩等)。 See merge request: cann/ge!3846 | 2 个月前 | |
refactor: 删除废弃的 FlowNodeBatchMemCfg 内存配置链路 Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !3820 merge ln_0224 into develop refactor: 删除废弃的 FlowNodeBatchMemCfg 内存配置链路 Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: # Pull Request ## 描述 FlowNodeBatchMemCfg 内存配置整条链路(JSON deploy_mem_info 解析 → proto model_mem_size 字段传递)属于功能废弃后遗留的死代码:接收端 FlowModelReceiver::UpdateDeployPlan(flow_model_receiver.cc)完全不读取 model_mem_size 字段,数据只解析传递无实际消费。 本次删除完整链路: - **proto 层**:deployer.proto 中 ModelMemSize message 及 UpdateDeployPlanRequest.model_mem_size 字段 - **编译期**:FlowNodeBatchMemCfg 结构体、CheckAndProcessMemCfg/SetMemCfgRecord 函数、deploy_mem_info JSON 解析、ATTR_NAME_DATA_FLOW_DEVICE_MEM_CFG 属性传递链路 - **部署期**:FlowModel::SetLogicDeviceToMemCfg/GetLogicDeviceToMemCfg 及成员、flow_model_sender 中设置 proto model_mem_size 的代码 - **测试**:删除专门测 mem limit 的 UT/ST 用例,清理其余用例中的 deploy_mem_info JSON 块 ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 增量编译 flow_graph target 通过(含 compile_config_json、data_flow_graph_auto_deployer、flow_model.h 改动) ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 共删除 606 行废弃代码,涉及 11 个文件。 See merge request: cann/ge!3820 | 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 | 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 个月前 | |
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 | 1 个月前 | |
fix: 修复DFlowInitialize失败不回滚和DFlowFinalize中aclFinalize顺序错误 Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !4473 merge fix/dflow-init-finalize-rollback-dev into develop fix: 修复DFlowInitialize失败不回滚和DFlowFinalize中aclFinalize顺序错误 Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: # Pull Request ## 描述 修复 DFlowInitialize 和 DFlowFinalize 中存在的 4 个问题: 1. **初始化失败无回滚,资源泄漏**:DFlowInitialize 中间步骤失败时(如 PNE SO 加载失败),已初始化的 ACL、SessionManager 不会被清理。用户调 DFlowFinalize 时因 g_dflow_ge_initialized 仍为 false 直接返回,资源泄漏。 2. **aclFinalize 顺序错误(use-after-free)**:DFlowFinalize 中 aclFinalize 在 SessionManager Finalize 之前执行,而 SessionManager Finalize 会触发 GeSession 析构调用 DestroyRtContexts,此时 ACL 已释放,存在 use-after-free 风险。 3. **并发初始化竞态**:DFlowInitialize 无锁保护,并发调用会覆盖 g_dflow_session_manager 指针导致泄漏。 4. **重复 Finalize 不清理**:DFlowFinalize 检查 g_dflow_ge_initialized,初始化失败后该标志为 false,导致 Finalize 跳过清理。 ### 修复方案 - 提取 DFlowFinalizeImpl() 到匿名命名空间,包含完整清理逻辑(ACL finalize 在末尾) - DFlowInitialize 入口加 g_dflow_ge_release_mutex 锁,失败时调 DFlowFinalizeImpl() 自动回滚 - DFlowFinalize 去掉 g_dflow_ge_initialized 检查,改为无条件幂等清理 - aclFinalize 移到 DFlowFinalizeImpl 末尾,在 SessionManager/PNE 清理之后 ## 变更类型 - [x] 🐛 Bug 修复 ## 关联的Issue ## 如何测试 1. 编译 dflow UT target ut_libge_helper_utest 2. 运行 DFlowInitialize 相关测试用例 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 测试结果:10 个相关 UT 全部通过,包括验证回滚路径的 DFlowInitialize_pne_init_failed、验证 ACL 重复初始化兼容的 DFlowInitialize_acl_repeat_init、验证 ACL 失败的 DFlowInitialize_acl_init_failed。 See merge request: cann/ge!4473 | 1 个月前 | |
fix: fix clean code warnings Co-authored-by: likun104<likun104@h-partners.com> # message auto-generated for no-merge-commit merge: !3941 merge br_fix_clean_code_warnings_0709 into develop fix: fix clean code warnings Created-by: likun104 Commit-by: likun104 Merged-by: cann-robot Description: # Pull Request ## 描述 清理ge仓中的clean code告警 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 流水线跑通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3941 | 1 个月前 | |
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 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |