已合并
fix examples and geir #445
liuyufan创建于 2025年12月19日
fix examples and geir #445
已合并
共 3 个文件变更+11-5
| @@ -114,7 +114,7 @@ ARCH_INFO=$(uname -m) | |||
| 114 | 114 | ||
| 115 | export INCLUDE_PATH="${ASCEND_HOME_PATH}/include" | 115 | export INCLUDE_PATH="${ASCEND_HOME_PATH}/include" |
| 116 | export ACLNN_INCLUDE_PATH="${INCLUDE_PATH}/aclnn" | 116 | export ACLNN_INCLUDE_PATH="${INCLUDE_PATH}/aclnn" |
| 117 | -export COMPILER_INCLUDE_PATH="${ASCEND_HOME_PATH}/compiler/include" | 117 | +export COMPILER_INCLUDE_PATH="${ASCEND_HOME_PATH}/include" |
| 118 | export GRAPH_INCLUDE_PATH="${COMPILER_INCLUDE_PATH}/graph" | 118 | export GRAPH_INCLUDE_PATH="${COMPILER_INCLUDE_PATH}/graph" |
| 119 | export EXTERNAL_INCLUDE_PATH="${COMPILER_INCLUDE_PATH}/external" | 119 | export EXTERNAL_INCLUDE_PATH="${COMPILER_INCLUDE_PATH}/external" |
| 120 | export GE_INCLUDE_PATH="${COMPILER_INCLUDE_PATH}/ge" | 120 | export GE_INCLUDE_PATH="${COMPILER_INCLUDE_PATH}/ge" |
| @@ -122,8 +122,8 @@ export INC_INCLUDE_PATH="${ASCEND_OPP_PATH}/built-in/op_proto/inc" | |||
| 122 | export LINUX_INCLUDE_PATH="${ASCEND_HOME_PATH}/${ARCH_INFO}-linux/include" | 122 | export LINUX_INCLUDE_PATH="${ASCEND_HOME_PATH}/${ARCH_INFO}-linux/include" |
| 123 | export EAGER_LIBRARY_OPP_PATH="${ASCEND_OPP_PATH}/lib64" | 123 | export EAGER_LIBRARY_OPP_PATH="${ASCEND_OPP_PATH}/lib64" |
| 124 | export EAGER_LIBRARY_PATH="${ASCEND_HOME_PATH}/lib64" | 124 | export EAGER_LIBRARY_PATH="${ASCEND_HOME_PATH}/lib64" |
| 125 | -export GRAPH_LIBRARY_STUB_PATH="${ASCEND_HOME_PATH}/compiler/lib64/stub" | 125 | +export GRAPH_LIBRARY_STUB_PATH="${ASCEND_HOME_PATH}/lib64/stub" |
| 126 | -export GRAPH_LIBRARY_PATH="${ASCEND_HOME_PATH}/compiler/lib64" | 126 | +export GRAPH_LIBRARY_PATH="${ASCEND_HOME_PATH}/lib64" |
| 127 | CANN_3RD_LIB_PATH="${BUILD_PATH}/third_party" | 127 | CANN_3RD_LIB_PATH="${BUILD_PATH}/third_party" |
| 128 | # print usage message | 128 | # print usage message |
| 129 | usage() { | 129 | usage() { |
| @@ -1075,7 +1075,9 @@ build_single_example() { | |||
| 1075 | exit 1 | 1075 | exit 1 |
| 1076 | fi | 1076 | fi |
| 1077 | elif [[ "${EXAMPLE_MODE}" == "graph" ]]; then | 1077 | elif [[ "${EXAMPLE_MODE}" == "graph" ]]; then |
| 1078 | - g++ ${file} -I ${GRAPH_INCLUDE_PATH} -I ${GE_INCLUDE_PATH} -I ${EXTERNAL_INCLUDE_PATH} -I ${LINUX_INCLUDE_PATH} -I ${INC_INCLUDE_PATH} -L ${GRAPH_LIBRARY_STUB_PATH} -L ${GRAPH_LIBRARY_PATH} -lgraph -lge_runner -lgraph_base -o test_geir_${example} | 1078 | + g++ ${file} -I ${GRAPH_INCLUDE_PATH} -I ${GE_INCLUDE_PATH} -I ${INCLUDE_PATH} -I ${EXTERNAL_INCLUDE_PATH} -I ${LINUX_INCLUDE_PATH} -I ${INC_INCLUDE_PATH} \ |
| 1079 | + -L ${GRAPH_LIBRARY_STUB_PATH} -L ${GRAPH_LIBRARY_PATH} \ | ||
| 1080 | + -lgraph -lge_runner -lgraph_base -lge_compiler -o test_geir_${example} | ||
| 1079 | fi | 1081 | fi |
| 1080 | ${BUILD_PATH}/"${pattern}${example}" && success_example+=(${example}) && echo -e "\n$dotted_line\nRun ${pattern}${example} success.\n$dotted_line\n" | 1082 | ${BUILD_PATH}/"${pattern}${example}" && success_example+=(${example}) && echo -e "\n$dotted_line\nRun ${pattern}${example} success.\n$dotted_line\n" |
| 1081 | } | 1083 | } |
| @@ -254,6 +254,10 @@ macro(add_category_subdirectory) | |||
| 254 | endforeach() | 254 | endforeach() |
| 255 | endif() | 255 | endif() |
| 256 | endforeach() | 256 | endforeach() |
| 257 | + | ||
| 258 | + if("${ASCEND_OP_NAME}" STREQUAL "add_example" OR "${ASCEND_OP_NAME}" STREQUAL "add_example_aicpu") | ||
| 259 | + add_subdirectory(examples) | ||
| 260 | + endif() | ||
| 257 | endmacro() | 261 | endmacro() |
| 258 | 262 | ||
| 259 | function(concat_op_names) | 263 | function(concat_op_names) |
| @@ -49,7 +49,7 @@ class OpDependenciesParser: | |||
| 49 | def __init__(self, build_path): | 49 | def __init__(self, build_path): |
| 50 | self.all_ops_dependency = {} | 50 | self.all_ops_dependency = {} |
| 51 | self.all_ops_reverse_dependency = {} | 51 | self.all_ops_reverse_dependency = {} |
| 52 | - self.all_ops = [] | 52 | + self.all_ops = ["add_example", "add_example_aicpu"] |
| 53 | self.all_category_ops = {} | 53 | self.all_category_ops = {} |
| 54 | self.parse_dependency(build_path) | 54 | self.parse_dependency(build_path) |
| 55 | pass | 55 | pass |
代码逻辑和结构: 在
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"]修改建议:
此评论由代码审查工具自动生成