| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: Inductor支持PGO(复用TF流程) Co-authored-by: zhang_shengjie<804425610@qq.com> # message auto-generated for no-merge-commit merge: !1541 merge feature/inductor-mspti-pgo-a into develop feat: Inductor支持PGO(复用TF流程) Created-by: zhang_shengjie Commit-by: zhang_shengjie Merged-by: cann-robot Description: ## 描述 本 PR 使 Inductor 静态 shape 场景的 GenerateTopnSolutions 可在开启 Autofuse PGO 时,复用 TF PGO 的候选生成、全核遍历、solver、完整 tiling data 归一和 MSPTI 实测统计能力,返回实测 TopN。不修改 TorchAir/TorcHair 调用流程和 GenerateTopnSolutions 接口。 PGO 关闭时,Inductor 仍使用原有性能公式 TopN,不启动子进程,不执行全核 PGO 遍历。 ## 一、主要解决的问题 1. Inductor 已默认使用 GenerateTopnSolutions,但原实现只按性能公式排序,--autofuse_enable_pgo=true 不会触发实际采样。 2. TF PGO 已具备 tiling key、核数、多 Group 和 Reduce RCore 多阶段候选实测能力,Inductor 需要复用该能力,不另起一套候选算法。 3. MSPTI Activity 与前端 profiling 可能存在同进程资源冲突,需在独立 runner 子进程内执行采样。 4. PGO sidecar 缺失、损坏、runner 失败或候选无效时,不应导致 Inductor 编译中断,需要保持原 TopN 能力作为回退。 ## 二、修改内容 ### 2.1 候选生成与选解 - PGO 开启时,Inductor 使用 TF PGO 同源的 tiling key/核数遍历、阈值、solver 和 MSPTI 采样逻辑。 - 支持多 Group、Reduce RCore phase1/phase2 多阶段和完整 tiling data 返回。 - 候选归一化、去重和排序时强制保留默认解;实测候选均不优于默认解时,最终保留默认解。 - PGO 关闭时保持原性能公式 TopN 行为。 ### 2.2 独立 PGO runner - host compile 产生 tiling.so、PGO runner 可执行文件、device kernel binary 和 manifest。 - GenerateTopnSolutions 的 proxy 校验 sidecar 协议、ABI、generation 和 SHA256,然后使用 posix_spawn 启动子进程。 - runner 独立初始化 ACL/MSPTI,加载 host tiling 与 device binary,执行 GenerateMeasuredTopnSolutions,通过有界二进制文件返回 TopN。 - 父进程校验返回数量、字段长度和结果完整性,临时结果文件在解析后删除。 ### 2.3 编译产物与回退 - PGO sidecar 按 generation 原子发布,保留当前和上一代。 - manifest 记录 protocol/version/ABI、产物文件名、SHA256 和 MSPTI preload 路径。 - MSPTI 自动从当前 CANN 根目录的 tools/mspti 发现;不需要 AUTOFUSE_MSPTI_PATH,不需要用户手工设置 LD_PRELOAD。proxy 创建 runner 时自动将 libmspti.so 及可用的 libprof_common.so 合入子进程 LD_PRELOAD。 - MSPTI 不可用时跳过 sidecar 生成;sidecar 缺失/损坏、runner 异常或结果解析失败时,按请求数量回退到原性能公式 TopN。 ### 2.4 采集语义对齐 - Inductor 与 TF 一致接收所有 MSPTI_ACTIVITY_KIND_KERNEL 记录。 - 删除 Inductor 专属的 kernel name/type/correlationId/timestamp 过滤,避免合法 Reduce 候选被误判为无采样数据。 - 保留空指针、内存分配、MSPTI 状态、重复时间 key 和预期 record 数的完整性校验。TF legacy callback 不修改。 ## 三、调用流程 mermaid sequenceDiagram participant Frontend as TorchAir/Inductor participant Proxy as tiling.so proxy participant Runner as PGO runner process participant Host as measured tiling host participant Device as PGO device kernel participant MSPTI as MSPTI Activity Frontend->>Proxy: GenerateTopnSolutions(input_configs, topn, res_limit) Proxy->>Proxy: validate manifest, ABI and SHA256 Proxy->>Runner: posix_spawn with automatic LD_PRELOAD Runner->>Runner: aclInit, set device, create stream Runner->>Host: GenerateMeasuredTopnSolutions Host->>Device: launch every measured candidate MSPTI-->>Host: kernel activity duration Host-->>Runner: measured and protected TopN Runner-->>Proxy: bounded binary result Proxy-->>Frontend: tiling data, workspace and block dimensions 任意 sidecar/runner/MSPTI/IPC 基础设施失败,proxy 都转入原性能公式 TopN,不要求前端增加 PGO 分支。 ## 四、使能方式 ### 4.1 环境准备 仅加载当前要验证的 CANN 包,例如: bash source "${CANN_ROOT}/bin/setenv.bash" CANN 包内需包含: text tools/mspti/include/mspti.h tools/mspti/lib64/libmspti.so ### 4.2 开启 Inductor PGO Top3 bash export AUTOFUSE_FLAGS="--autofuse_enable_pgo=true" export TORCHINDUCTOR_NPU_EXT_AUTOTUNE_TOPN=3 python <inductor_case.py> TORCHINDUCTOR_NPU_EXT_AUTOTUNE_TOPN 由现有前端流程决定传入 GenerateTopnSolutions 的 TopN,本 PR 不新增前后端接口。 不需要配置: text AUTOFUSE_MSPTI_PATH LD_PRELOAD ### 4.3 关闭 PGO bash export AUTOFUSE_FLAGS="--autofuse_enable_pgo=false" export TORCHINDUCTOR_NPU_EXT_AUTOTUNE_TOPN=1 python <inductor_case.py> 关闭后 GenerateTopnSolutions 按原性能公式返回 TopN,不遍历 PGO 全核候选。 ### 4.4 当前支持边界 - 支持 Inductor 静态 shape、非 Cube 融合 kernel。 - 支持多 Group 和 Reduce RCore phase1/phase2 多阶段候选。 - 动态 shape 或 Cube 融合不进入当前 Inductor PGO 路径。 ## 五、维测信息 ### 5.1 关键日志 | 日志 | 含义 | |------|------| | GenerateTopnSolutions enter: topn=... | Inductor TopN 入口及请求数量 | | [PGO] MSPTI is unavailable, skip Inductor PGO sidecars | 当前 CANN 根目录下未找到完整 MSPTI 头文件/动态库 | | GenerateMeasuredTopnSolutions failed | runner 内实测选解失败 | | Inductor PGO failed, fallback to modeled TopN | PGO 基础设施失败,已转入原性能公式 TopN | | Inductor PGO runner or result parsing failed | 子进程退出或 IPC 结果校验失败 | ### 5.2 sidecar 产物 tiling.so 同级目录下生成: text tiling.so tiling.so.pgo.<generation>/ ├── manifest.json ├── tiling.so.pgo_runner └── tiling.so.pgo_kernel.aicore_binary_elf_v1 manifest 可用于检查: - protocol/version/generation - runner_abi/proxy_abi/device_source_abi - runner、kernel 和 tiling.so 的 SHA256 - 子进程自动使用的 MSPTI preload 路径 ### 5.3 建议排查顺序 1. 确认 AUTOFUSE_FLAGS 和前端传入 TopN。 2. 确认当前 CANN 根目录及 tools/mspti 内容,避免混用多套 CANN lib。 3. 检查 sidecar generation 与 manifest SHA256/ABI。 4. 检查 runner 退出码、GenerateMeasuredTopnSolutions 和 MSPTI record 数。 5. 如已回退,确认返回的候选数是否与请求 TopN 一致。 ## 六、文件结构与职责 | 模块 | 文件 | 职责 | |------|------|------| | Inductor TopN | autofuse/codegen/codegen_tiling_inductor_topn.cpp | 生成模型 TopN/实测 TopN、默认解保护及回退入口 | | PGO 共用层 | codegen_tiling_pgo_common.cpp | TF/Inductor 共用 wrapper、MSPTI Activity 采集与重复测量 | | PGO 内存 | codegen_tiling_pgo_memory.cpp | tensor/workspace/launch params 设备内存准备与回收 | | PGO 搜索 | codegen_tiling_pgo_search.cpp | 候选归一、实测结果聚合、核数搜索和排序 | | PGO runtime | codegen_tiling_pgo_runtime.cpp | runner 入口翻译单元组装 | | 父进程 proxy | codegen_tiling_inductor_pgo_proxy.cpp | sidecar/manifest 校验、环境组装、子进程创建、IPC 解析和回退 | | 子进程 runner | codegen_tiling_inductor_pgo_runner.cpp | 参数校验、ACL 初始化、加载 host/device 产物、调用实测入口和结果写回 | | Python compile | autofuse/compiler/python/compile_adapter.py | 拆分 PGO host/runner/device 源码,从当前 CANN 根自动发现 MSPTI | | Python publish | autofuse/compiler/python/ascendc_compile.py | 编译 runner/device binary,生成 manifest,原子发布并清理历史 generation | ## 七、测试与实测结果 ### 7.1 回归 | 范围 | 结果 | |------|------| | PGO 定向 C++ UT | 35/35 PASS | | TestCodegenTiling 定向回归 | 113/113 PASS | | Python compile flow | 106/106 PASS | | ARM PGO UT | 31/31 PASS | | 历史 13 个编译失败用例 | baseline 13/13 PASS,PGO Top3 13/13 PASS | ### 7.2 A5收益实测 环境:Python 3.12.9、torch 2.12.0+cu130、torch_npu 2.12.0。  ## 变更类型 - [ ] Bug 修复 - [x] 新功能 - [x] 重构 - [x] 测试相关 - [x] 构建过程或辅助工具变动 - [ ] 文档内容更新 ## 变更统计 - 相对 develop:39 个文件,+5268/-517。 - PR 不包含 docs/ 目录修改。 ## 提交记录 | Commit | 描述 | |--------|------| | 994c971c | 支持 Inductor MSPTI PGO TopN | | 4e698e4a | 修复 Reduce PGO 候选内存大小解析 | | e84c8f6c | 修复 Inductor PGO ST 预期 | | 6ec8156f | 拆分模块并解决代码检查告警 | | d0af8bdc | 修复 compile adapter 导入顺序告警 | | e723220a | 对齐 Inductor 与 TF PGO Activity 采集语义 | ## 核对清单 - [x] 未修改 TorchAir/TorcHair 前后端接口 - [x] PGO 关闭路径保持原性能公式 TopN - [x] TF legacy PGO callback 未修改 - [x] PGO 失败按请求 TopN 回退 - [x] 默认解参与实测并受保护 - [x] 不需要额外 MSPTI 路径或手工 LD_PRELOAD 配置 See merge request: cann/graph-autofusion!1541 | 2 个月前 | |
【PR】: [feat] 支持设置L2CacheHint Co-authored-by: xchu42<chuxing@huawei.com> # message auto-generated for no-merge-commit merge: !1538 merge devel into develop 【PR】: [feat] 支持设置L2CacheHint Created-by: xchu42 Commit-by: xchu42 Merged-by: cann-robot Description: # Pull Request ## 描述 为 Autofuse 融合算子自动生成 L2 Cache Hint 配置代码,根据 GM tensor 总大小动态决定是否禁用 L2 Cache。 当前仅在inductor场景生效 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1538 | 2 个月前 | |
feat: 支持 IndirectLoad SIMD 多实现并修复精度问题 Co-authored-by: xiebangrui<xiebangrui@huawei.com> # message auto-generated for no-merge-commit merge: !1660 merge IL into develop feat: 支持 IndirectLoad SIMD 多实现并修复精度问题 Created-by: xiebangrui2025 Commit-by: xiebangrui Merged-by: cann-robot Description: ## 描述 支持 IndirectLoad SIMD 的 MicroAPI 和 GatherApi 多实现生成及运行时选择,并修复索引加载、流水同步和 UB 内存管理问题: 1. 增加 GatherApi 实现及 implementation 属性传递,根据模板和实现类型选择运行时候选,保留 MicroAPI 实现。 2. 修复 int32 索引跨 repeat 复用加载状态导致的偏移精度问题,同时保持 int64 连续加载路径。 3. 完善 SIMD offset 构造后的 PIPE_V 依赖、queue/临时缓冲区分配,以及 direct-GM SIMT 路径的生命周期处理。 4. 扩展 full-prefix、direct-index、混合前后融合、后融合 Reduce 和多数据类型场景,并收敛 CI 中的 IndirectLoad 验证集合。 ## 变更类型 - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. IndirectLoad optimize UT:34/34 通过;codegen UT:8/8 通过。 2. IndirectLoad codegen ST:18/18 通过;模拟器 E2E:18/18 通过。 3. 对17个提交文件执行限定范围 pre-commit 和 OAT 检查,全部通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 本次变更不涉及对外接口文档更新 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - PR 已整理为单个提交:f5681160。 - PR 源分支为 xiebangrui2025:IL,目标分支为 cann:develop。 See merge request: cann/graph-autofusion!1660 | 2 个月前 | |
【PR】: [fix] [autofuse] adapt reform of the same-named header files of ge. Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !1149 merge develop_change_dir_of_metadef_headers into develop 【PR】: [fix] [autofuse] adapt reform of the same-named header files of ge. Created-by: xingzhixiong Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 metadef在做同名头文件整改,整改完编译发现gaf失败,原因是gaf仓和ge仓也有同名且子目录相同的头文件,故需要将gaf仓的同名头文件的子目录进行整改,只给gaf仓内部使用,避免产生耦合编译问题。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. ci流水线pass 2. RDV pass ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1149 | 3 个月前 | |
revert: 回退 preserve shared low precision cast semantics Co-authored-by: zhang_shengjie<804425610@qq.com> # message auto-generated for no-merge-commit merge: !1702 merge revert/shared-cast-precision into develop revert: 回退 preserve shared low precision cast semantics Created-by: zhang_shengjie Commit-by: zhang_shengjie Merged-by: cann-robot Description: # Pull Request ## 描述 回退 commit 136deb13e14100aec4bd1f0a594164d6c376f2d9(fix: preserve shared low precision cast semantics)。 原始 commit 的背景是解决一个精度问题:当 Cast 节点(高精度→低精度,如 FP32→BF16)同时被 Store 和计算节点共享时,新增 IsSharedRoundingBoundary 检查阻止 ImprovePrecision 删除该 Cast,以保留低精度舍入边界。 经分析,该修改无必要: - 原始问题基于单算子与融合算子的精度对比,不足以说明融合算子本身有精度问题,以此作为基准修正融合 pass 缺乏依据。 - IsSharedRoundingBoundary 会在 Store 与计算节点共享低精度 Cast 的场景下阻止删除冗余 Cast,与 ImprovePrecision 提升中间计算精度的目标相悖。 本 PR 完全对称回退该 commit: - improve_precision.cpp:移除 IsSharedRoundingBoundary,ShouldDeleteCastNode 恢复为原始两参数签名 (peer_output_dtype, output_dtype),CastNodeProc 调用点同步更新。 - test_improve_precision.cpp:删除 Fp32ToBf16CastSharedByStoreAndCompute_Preserved 测试用例。 ## 变更类型 - [x] 🐛 Bug 修复 ## 关联的Issue 关联 PR #1662(已合入 develop,含被回退的 commit)。 ## 如何测试 1. 编译 Autofuse 框架:sh build.sh -u --module=autofuse_framework -j 8 2. 运行 ImprovePrecision ST:sh build.sh -s --module=autofuse_e2e -j 8 3. 验证 ShouldDeleteCastNode 恢复为浮点间 Cast 一律删除的原始语义 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(revert:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 - 回退 diff 与原 commit 完全对称(+3/-43 vs 原 +43/-3)。 - peer_in_nodes 在 CastNodeProc 中仍被 ShouldChangeDataType 使用,无未使用变量告警。 See merge request: cann/graph-autofusion!1702 | 2 个月前 | |
revert: 回退 preserve shared low precision cast semantics Co-authored-by: zhang_shengjie<804425610@qq.com> # message auto-generated for no-merge-commit merge: !1702 merge revert/shared-cast-precision into develop revert: 回退 preserve shared low precision cast semantics Created-by: zhang_shengjie Commit-by: zhang_shengjie Merged-by: cann-robot Description: # Pull Request ## 描述 回退 commit 136deb13e14100aec4bd1f0a594164d6c376f2d9(fix: preserve shared low precision cast semantics)。 原始 commit 的背景是解决一个精度问题:当 Cast 节点(高精度→低精度,如 FP32→BF16)同时被 Store 和计算节点共享时,新增 IsSharedRoundingBoundary 检查阻止 ImprovePrecision 删除该 Cast,以保留低精度舍入边界。 经分析,该修改无必要: - 原始问题基于单算子与融合算子的精度对比,不足以说明融合算子本身有精度问题,以此作为基准修正融合 pass 缺乏依据。 - IsSharedRoundingBoundary 会在 Store 与计算节点共享低精度 Cast 的场景下阻止删除冗余 Cast,与 ImprovePrecision 提升中间计算精度的目标相悖。 本 PR 完全对称回退该 commit: - improve_precision.cpp:移除 IsSharedRoundingBoundary,ShouldDeleteCastNode 恢复为原始两参数签名 (peer_output_dtype, output_dtype),CastNodeProc 调用点同步更新。 - test_improve_precision.cpp:删除 Fp32ToBf16CastSharedByStoreAndCompute_Preserved 测试用例。 ## 变更类型 - [x] 🐛 Bug 修复 ## 关联的Issue 关联 PR #1662(已合入 develop,含被回退的 commit)。 ## 如何测试 1. 编译 Autofuse 框架:sh build.sh -u --module=autofuse_framework -j 8 2. 运行 ImprovePrecision ST:sh build.sh -s --module=autofuse_e2e -j 8 3. 验证 ShouldDeleteCastNode 恢复为浮点间 Cast 一律删除的原始语义 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(revert:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 - 回退 diff 与原 commit 完全对称(+3/-43 vs 原 +43/-3)。 - peer_in_nodes 在 CastNodeProc 中仍被 ShouldChangeDataType 使用,无未使用变量告警。 See merge request: cann/graph-autofusion!1702 | 2 个月前 | |
【feat】: 支持norm融合R轴分tile Co-authored-by: wang-yan-male<wangyan220@huawei.com> # message auto-generated for no-merge-commit merge: !1626 merge develop into develop 【feat】: 支持norm融合R轴分tile Created-by: WangYanMale Commit-by: wang-yan-male Merged-by: cann-robot Description: # Pull Request ## 描述 1、norm类也生成双切分模板; 2、增加重复sub消除pass; 3、后移softmax pattern pass。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 1、inductor的norm算子开启自动融合,观察生成模板; 2、layernorm算子开启自动融合,观察pass前后是否存在重复的sub节点(输入一样); 3、softmax开启自动融合,观察是否是全载模板,模板里直接调用softmax api。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 NA See merge request: cann/graph-autofusion!1626 | 2 个月前 | |
【PR】: [fix] [autofuse] remove 'external' in headers' paths. Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !1241 merge develop_rm_external into develop 【PR】: [fix] [autofuse] remove 'external' in headers' paths. Created-by: xingzhixiong Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 删除文件路径中的'external'字样,避免外部误认为此路径下的文件为对外头文件。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. ci流水线pass 2. RDV pass ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1241 | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 3 个月前 |