已合并
fix examples and geir #445
liuyufan创建于 2025年12月19日
fix examples and geir #445
已合并
liuyufan创建于 2025年12月19日
liuyufan
liuyufan成员
2025年12月19日

描述

支持examples文件夹下样例算子的编译与运行,修复geir的run example脚本

关联的Issue

关联Issue #245
关联Issue #226

测试

add_example.PNG
image.png

文档更新

类型标签

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 liuyufan 的贡献)
liuyufanliuyufan成员
2025年12月19日 关联了issue:[Bug-Report|缺陷反馈]: 根据新的环境指导无法正常编译样例add_example样例
CANN-robot
CANN-robot成员
2025年12月19日 评论:

Thank your for your pull-request.

The full list of commands accepted by me can be found at here.

You can get sig-info at here

likedislike
CANN-robot
CANN-robot成员
2025年12月19日 评论:

以下是根据您提交的修改文件推荐的Reviewer和Committer序列,需各模块评审通过后方可合入

Module List Reviewers Committers
sig-ops-nn zhou-qilong, fanqirui, liu-wei, chaotang233, zhangyuxiang0119 chenqi317, liubo75, crystalhu, tangweiwei2
likedislike
CANN-robotCANN-robot成员
2025年12月19日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
2025年12月19日 评论:

CLA Signature Pass

Thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
CANN-robot
CANN-robot成员
2025年12月19日 评论:

🔵 source code change are detected, tasks labels is removed in this pull request!

likedislike
liuyufan
liuyufan成员
2025年12月19日 评论:

compile

likedislike
CANN-robot
CANN-robot成员
2025年12月19日 评论:

问题/功能描述

本次PR主要包含两项构建系统的优化与修复。第一,统一并简化了构建脚本中编译器相关的头文件与库文件路径配置,解决了Graph模式示例编译时的链接错误,提升了构建系统的健壮性和兼容性。第二,增加了对特定示例算子(add_exampleadd_example_aicpu)的编译支持,修复了当用户指定编译这些算子时,CMake脚本无法自动包含其源码目录的问题,确保了构建流程的完整性。

修改方案描述

修改方案分为两部分。首先,将多个编译器相关的路径从${ASCEND_HOME_PATH}/compiler/统一指向${ASCEND_HOME_PATH}/,并在Graph模式示例的编译命令中增加了通用头文件路径引用和-lge_compiler库的链接。其次,在CMake宏中增加了对特定示例算子名称的条件判断,以自动包含examples子目录,并在Python依赖解析脚本中预先将这两个算子加入列表,确保依赖分析逻辑正确。

likedislike
CANN-robot
CANN-robot成员2025年12月19日进行代码检视2
scripts/util/dependency_parser.py
@@ -50,3 +50,3 @@
5050 self.all_ops_dependency = {}
5151 self.all_ops_reverse_dependency = {}
52- self.all_ops = []
52+ self.all_ops = ["add_example", "add_example_aicpu"]
CANN-robot
CANN-robot2025年12月19日评论:

代码逻辑和结构: 在OpDependenciesParser.__init__方法中,将self.all_ops的初始化值从空列表[]修改为包含两个示例算子名称["add_example", "add_example_aicpu"]的列表。这一改动引入了硬编码的算子名称,与代码的整体逻辑和设计意图不符。代码的主要功能是从外部配置文件ops_config.txt中解析算子及其依赖关系,self.all_ops列表应动态地从配置文件中加载所有算子,而不是预先定义一部分。这种硬编码方式破坏了代码的通用性和可维护性,可能导致以下问题:1. 如果配置文件中不存在这两个算子,self.all_ops中将包含无效条目。2. 如果后续需要处理其他算子集,此硬编码列表会成为干扰项。3. 在find_all_dependency方法中,会检查算子是否在self.all_ops中,硬编码的条目可能导致本应报错的无效算子被错误地接受。

问题类型: 代码逻辑和结构
文件路径: scripts/util/dependency_parser.py
行号: 52
问题代码:

        self.all_ops = ["add_example", "add_example_aicpu"]

修改建议:

应恢复`self.all_ops`为空列表`[]`的初始化方式。代码的核心逻辑`parse_dependency`方法会通过读取`ops_config.txt`文件,在`parse_line`方法中(第85行)将解析出的算子(`op_type`)动态添加到`self.all_ops`列表中。这是正确且必要的做法,确保了`self.all_ops`的内容完全由外部配置文件决定,增强了代码的灵活性和可配置性。

此评论由代码审查工具自动生成

likedislike
liuyufan
liuyufan成员
2025年12月19日 评论:

add_example与add_example_aicpu作为样例算子不参与整包编译,需要进行特殊处理

CANN-robot
CANN-robot成员
2025年12月19日 评论:

🔵 ops-nn pipeline is running. Please wait a moment... (Link 1708)
🔵 Already succeed task list is: [Anti_Virus], will not be build again this time !

likedislike
CANN-robotCANN-robot成员
2025年12月19日 添加了label:ci-pipeline-running
CANN-robot
CANN-robot成员
2025年12月19日 评论:
Check Name Build Result Log Report Package Link
CI_Ascend_Ops-Nn_Compile SUCCESS #1708 >>>
check-commit-message SUCCESS >>>
download-business-code SUCCESS >>>
Compile_Ascend_X86 SUCCESS >>> >>>
Compile_Ascend_ARM SUCCESS >>> >>>
Compile_Ascend_ARM-single SUCCESS >>> >>>
Check_pr SUCCESS >>>
UT_Test_ophost SUCCESS >>>
UT_Test_opapi SUCCESS >>>
UT_Test_kernel SUCCESS >>>
Smoke_Test_A900 SUCCESS >>>
likedislike
CANN-robot
CANN-robot成员
2025年12月19日 评论:
Check Name Build Result Log Report Package Link
Anti Virus ✅ PASS >>> N/A
Codescan ✅ PASS >>> N/A
Code_Check ✅ PASS >>> N/A
likedislike
CANN-robotCANN-robot成员
2025年12月19日 删除了label:ci-pipeline-running
CANN-robotCANN-robot成员
2025年12月19日 添加了label:ci-pipeline-passed
liuyufanliuyufan成员
2025年12月19日 解决了最后一个问题
范其瑞
范其瑞成员
2025年12月19日 评论:

/lgtm

likedislike
Lliujie12345678成员
2025年12月19日 关联了issue:[Bug-Report|缺陷反馈]: 图模式的样例均无法执行成功
Lliujie12345678成员
2025年12月19日 修改了pull request 的描述
liuyufanliuyufan成员
2025年12月19日 修改了pull request 的描述
chenqi317成员
2025年12月19日 评论:

/approve

likedislike
CANN-robotCANN-robot成员
2025年12月19日 添加了label:lgtmapproved
CANN-robot
CANN-robot成员
2025年12月19日 评论:

Review Guide

This Pull-Request Passes Review.
Committers who writed a comment of /approve are: chenqi317.
Reviewers who writed a comment of /lgtm are: fanqirui, chenqi317.

likedislike
CANN-robotCANN-robot成员
2025年12月19日 关闭了关联的issue
CANN-robotCANN-robot成员
2025年12月19日 合入了pull request