文件最后提交记录最后更新时间
Initial commit 5 个月前
Initial commit 5 个月前
Initial commit 5 个月前
feat: 兼容使用lcov2.3.2并行处理覆盖率 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !2566 merge dev-st0430 into develop feat: 兼容使用lcov2.3.2并行处理覆盖率 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request 兼容使用lcov2.3.2并行处理覆盖率 ## 描述 拆分st ge_common ## 变更类型 请选择本次引入的变更类型: <!-- [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!256622 天前
【PR】:ge一月份需求合入(包含整改dflow ST、自定义算子执行Context等) Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !223 merge master into master 【PR】:ge一月份需求合入(包含整改dflow ST、自定义算子执行Context等) Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 ge一月份需求合入: 1、llt测试用例相关重复stub文件清理 2、Triton入图parser解析dlopen的handle关闭 - Triton入图parser解析dlopen的handle关闭 - 补充tensorflow 中其他的入参类型 - 优化parser 解析的的代码 3、UserGraphsManager suppport gert::Tensor - UserGraphsManager及JitExecutor等RunGraphAsync入参由ge::Tensor改为gert::Tensor - 老的兼容接口Session::RunGraph/RunGraphAsync在ge_api.cc 将ge::Tensor转换为gert::Tensor,然后调用InnerSession的接口。 4、整改dflow ST中的HELPER_RES_FILE_PATH - HELPER_RES_FILE_PATH配置文件已经废弃,需要删除并整改用例使用RESOURCE_CONFIG_PATH。 - rtGetIsHeterogenous接口已经废弃,需要删除并整改用例使用RESOURCE_CONFIG_PATH环境变量。 5、注册ge错误码 - 从error_code.json文件中拆分出GE错误码,通过ErrorManager模块的对外接口REG_FORMAT_ERROR_MSG宏完成GE错误码的注册 6、使能acl目录覆盖率拦截项 7、triton入图parser解析优化 8、告警规则处理 9、refactor parser/common/tuple.h 10、fix UserGraphControl SetCompiledFlag/SetCompiledFlag 11、修复Sample问题 - Include stdint and stddef for base mdl - move CheckRunGraphMode to ge_api_v2.cc 12、自定义算子执行Context 13、fix AllRealInputsAreTheSameOutAnchor error log issue - 在Session::AddGraph时会造一个UserGraphControl实例。因此在UserGraphControl中增加compiled_flag 14、bugfix:handling excessively long name - 避免因字符串过长导致二进制匹配耗尽资源而coredump,裁剪name,只保留最开始的128字符 15、acl code check告警处理 16、modify 3rd compile para 17、修改自定义ES_API Sample问题 && README.md 18、Refined inner session to no longer retrieve GraphNode or GraphOptions via graph_id from graph_manager. 19、ES关键类PIMPL实现 && 修改命名空间 - EsCGraphBuilder, CompliantNodeBuilder, EsCTensorHolder改为PIMPL实现 - 修改AddEdgeAndUpdatePeerDesc和CompliantNodeBuilder命名空间至ge::es 20、手动实现log功能, 实现debug_print函数来定位 ## 变更类型 请选择本次引入的变更类型: <!-- [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!2233 个月前
【PR】:ge一月份需求合入(包含整改dflow ST、自定义算子执行Context等) Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !223 merge master into master 【PR】:ge一月份需求合入(包含整改dflow ST、自定义算子执行Context等) Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 ge一月份需求合入: 1、llt测试用例相关重复stub文件清理 2、Triton入图parser解析dlopen的handle关闭 - Triton入图parser解析dlopen的handle关闭 - 补充tensorflow 中其他的入参类型 - 优化parser 解析的的代码 3、UserGraphsManager suppport gert::Tensor - UserGraphsManager及JitExecutor等RunGraphAsync入参由ge::Tensor改为gert::Tensor - 老的兼容接口Session::RunGraph/RunGraphAsync在ge_api.cc 将ge::Tensor转换为gert::Tensor,然后调用InnerSession的接口。 4、整改dflow ST中的HELPER_RES_FILE_PATH - HELPER_RES_FILE_PATH配置文件已经废弃,需要删除并整改用例使用RESOURCE_CONFIG_PATH。 - rtGetIsHeterogenous接口已经废弃,需要删除并整改用例使用RESOURCE_CONFIG_PATH环境变量。 5、注册ge错误码 - 从error_code.json文件中拆分出GE错误码,通过ErrorManager模块的对外接口REG_FORMAT_ERROR_MSG宏完成GE错误码的注册 6、使能acl目录覆盖率拦截项 7、triton入图parser解析优化 8、告警规则处理 9、refactor parser/common/tuple.h 10、fix UserGraphControl SetCompiledFlag/SetCompiledFlag 11、修复Sample问题 - Include stdint and stddef for base mdl - move CheckRunGraphMode to ge_api_v2.cc 12、自定义算子执行Context 13、fix AllRealInputsAreTheSameOutAnchor error log issue - 在Session::AddGraph时会造一个UserGraphControl实例。因此在UserGraphControl中增加compiled_flag 14、bugfix:handling excessively long name - 避免因字符串过长导致二进制匹配耗尽资源而coredump,裁剪name,只保留最开始的128字符 15、acl code check告警处理 16、modify 3rd compile para 17、修改自定义ES_API Sample问题 && README.md 18、Refined inner session to no longer retrieve GraphNode or GraphOptions via graph_id from graph_manager. 19、ES关键类PIMPL实现 && 修改命名空间 - EsCGraphBuilder, CompliantNodeBuilder, EsCTensorHolder改为PIMPL实现 - 修改AddEdgeAndUpdatePeerDesc和CompliantNodeBuilder命名空间至ge::es 20、手动实现log功能, 实现debug_print函数来定位 ## 变更类型 请选择本次引入的变更类型: <!-- [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!2233 个月前
Initial commit 5 个月前
【feat】:自定义算子入图支持地址刷新 Co-authored-by: yuht9<yuhaitao6@huawei.com> # message auto-generated for no-merge-commit merge: !3270 merge develop into develop 【feat】:自定义算子入图支持地址刷新 Created-by: yuht9 Commit-by: yuht9 Merged-by: cann-robot Description: # Pull Request ## 描述 新增接口与数据结构: - ArgsHandler: args 内存管理抽象接口(VA 分配 + H2D 拷贝) - KernelArgs: kernel launch arguments 结构体,含 placement 信息 - UpdateArgsContext: 地址刷新上下文,继承自 EagerOpExecutionContext - ArgsUpdater: 自定义算子地址刷新能力接口,算子继承后框架在 I/O 地址变化时回调 UpdateHostArgs - SinkOpArgsHandler: SinkOp 场景下 ArgsHandler 实现,委托 CustomTaskInfo 完成分配 - ArgsAllocationResult: 分配结果描述,含 reserved/extra 来源信息 - TaskInfo 新增 NeedReserveArgsTable/UpdateHostArgs/GetArgsAllocationResults 虚接口 CustomTaskInfo 扩展: - 支持 ArgsUpdater 算子检测(IsAddressRefreshable)及地址刷新策略 - MallocReadOnlyDevArgsImpl 双路径分配:reserved 段(支持刷新)/ 动态内存(H2D 直拷) - UpdateHostArgs 实现 I/O 地址更新及算子回调 - InitArgsIoAddrsUpdater 初始化地址映射关系 ModelArgsManager 扩展: - 三级内存分配:reserved segment -> existing extra pool -> new extra pool - IntegrateCustomOpArgs 将自定义算子 args 集成到统一刷新流程 - IntegrateReservedH2DCopyDatas/IntegrateExtraH2DCopyDatas 注册 H2D 刷新数据 - IntegrateReservedUpdateDatas/IntegrateExtraUpdateDatas 注册 host args 刷新数据 - UpdateCustomOpHostArgs/RefreshExtraH2DCopyDatas 执行阶段触发刷新 - custom_op_policies_to_task_infos_ 使用 unordered_set 保证去重 编译器适配: - block_mem_assigner: 自定义算子支持零拷贝(IsAddressRefreshable 动态判断) - mem_layout_conflict_util: 自定义算子支持地址刷新 CustomOpFactory 扩展: - IsAddressRefreshable: 通过 dynamic_cast 判断算子是否支持地址刷新 UT/ST 用例: - SinkOpArgsHandler/CustomTaskInfo/ModelArgsManager/ArgsIoAddrsUpdater/UpdateArgsContext/DavinciModel 单元测试 - 自定义算子地址刷新端到端 ST 用例及 CustomTaskInfo 地址刷新模式验证 - reserved+extra 去重验证、多个 ArgsUpdater 并发刷新测试 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.构造自定算子连接模型边界场景,算子实现UpdateHostArgs函数,模型执行精度正确。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 20260423评审通过 See merge request: cann/ge!32701 天前
【PR】:ge一月份需求合入(包含整改dflow ST、自定义算子执行Context等) Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !223 merge master into master 【PR】:ge一月份需求合入(包含整改dflow ST、自定义算子执行Context等) Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 ge一月份需求合入: 1、llt测试用例相关重复stub文件清理 2、Triton入图parser解析dlopen的handle关闭 - Triton入图parser解析dlopen的handle关闭 - 补充tensorflow 中其他的入参类型 - 优化parser 解析的的代码 3、UserGraphsManager suppport gert::Tensor - UserGraphsManager及JitExecutor等RunGraphAsync入参由ge::Tensor改为gert::Tensor - 老的兼容接口Session::RunGraph/RunGraphAsync在ge_api.cc 将ge::Tensor转换为gert::Tensor,然后调用InnerSession的接口。 4、整改dflow ST中的HELPER_RES_FILE_PATH - HELPER_RES_FILE_PATH配置文件已经废弃,需要删除并整改用例使用RESOURCE_CONFIG_PATH。 - rtGetIsHeterogenous接口已经废弃,需要删除并整改用例使用RESOURCE_CONFIG_PATH环境变量。 5、注册ge错误码 - 从error_code.json文件中拆分出GE错误码,通过ErrorManager模块的对外接口REG_FORMAT_ERROR_MSG宏完成GE错误码的注册 6、使能acl目录覆盖率拦截项 7、triton入图parser解析优化 8、告警规则处理 9、refactor parser/common/tuple.h 10、fix UserGraphControl SetCompiledFlag/SetCompiledFlag 11、修复Sample问题 - Include stdint and stddef for base mdl - move CheckRunGraphMode to ge_api_v2.cc 12、自定义算子执行Context 13、fix AllRealInputsAreTheSameOutAnchor error log issue - 在Session::AddGraph时会造一个UserGraphControl实例。因此在UserGraphControl中增加compiled_flag 14、bugfix:handling excessively long name - 避免因字符串过长导致二进制匹配耗尽资源而coredump,裁剪name,只保留最开始的128字符 15、acl code check告警处理 16、modify 3rd compile para 17、修改自定义ES_API Sample问题 && README.md 18、Refined inner session to no longer retrieve GraphNode or GraphOptions via graph_id from graph_manager. 19、ES关键类PIMPL实现 && 修改命名空间 - EsCGraphBuilder, CompliantNodeBuilder, EsCTensorHolder改为PIMPL实现 - 修改AddEdgeAndUpdatePeerDesc和CompliantNodeBuilder命名空间至ge::es 20、手动实现log功能, 实现debug_print函数来定位 ## 变更类型 请选择本次引入的变更类型: <!-- [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!2233 个月前
【PR】:ge一月份需求合入(包含整改dflow ST、自定义算子执行Context等) Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !223 merge master into master 【PR】:ge一月份需求合入(包含整改dflow ST、自定义算子执行Context等) Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 ge一月份需求合入: 1、llt测试用例相关重复stub文件清理 2、Triton入图parser解析dlopen的handle关闭 - Triton入图parser解析dlopen的handle关闭 - 补充tensorflow 中其他的入参类型 - 优化parser 解析的的代码 3、UserGraphsManager suppport gert::Tensor - UserGraphsManager及JitExecutor等RunGraphAsync入参由ge::Tensor改为gert::Tensor - 老的兼容接口Session::RunGraph/RunGraphAsync在ge_api.cc 将ge::Tensor转换为gert::Tensor,然后调用InnerSession的接口。 4、整改dflow ST中的HELPER_RES_FILE_PATH - HELPER_RES_FILE_PATH配置文件已经废弃,需要删除并整改用例使用RESOURCE_CONFIG_PATH。 - rtGetIsHeterogenous接口已经废弃,需要删除并整改用例使用RESOURCE_CONFIG_PATH环境变量。 5、注册ge错误码 - 从error_code.json文件中拆分出GE错误码,通过ErrorManager模块的对外接口REG_FORMAT_ERROR_MSG宏完成GE错误码的注册 6、使能acl目录覆盖率拦截项 7、triton入图parser解析优化 8、告警规则处理 9、refactor parser/common/tuple.h 10、fix UserGraphControl SetCompiledFlag/SetCompiledFlag 11、修复Sample问题 - Include stdint and stddef for base mdl - move CheckRunGraphMode to ge_api_v2.cc 12、自定义算子执行Context 13、fix AllRealInputsAreTheSameOutAnchor error log issue - 在Session::AddGraph时会造一个UserGraphControl实例。因此在UserGraphControl中增加compiled_flag 14、bugfix:handling excessively long name - 避免因字符串过长导致二进制匹配耗尽资源而coredump,裁剪name,只保留最开始的128字符 15、acl code check告警处理 16、modify 3rd compile para 17、修改自定义ES_API Sample问题 && README.md 18、Refined inner session to no longer retrieve GraphNode or GraphOptions via graph_id from graph_manager. 19、ES关键类PIMPL实现 && 修改命名空间 - EsCGraphBuilder, CompliantNodeBuilder, EsCTensorHolder改为PIMPL实现 - 修改AddEdgeAndUpdatePeerDesc和CompliantNodeBuilder命名空间至ge::es 20、手动实现log功能, 实现debug_print函数来定位 ## 变更类型 请选择本次引入的变更类型: <!-- [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!2233 个月前
【PR】: sync develop to master 0517 Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !2939 merge develop into master 【PR】: sync develop to master 0517 Created-by: wangxiaotian995 Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!293916 天前
Initial commit 5 个月前
fix: arm关闭asan检测&&默认不执行gcov Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !2819 merge dev-gcov0513 into develop fix: arm关闭asan检测&&默认不执行gcov Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 默认不带gcov编译参数 arm环境默认关闭asan检测 1. 执行bash tests/run_test.sh --asan=true就开启asan --asan=false就关闭asan; 2. 如果没有--asan参数,在x86环境下就默认开启asan; 3. 如果没有--asan参数,arm环境下就给个用户交互解释【arm环境下开启asan或导致执行性能下降3-18倍,然后问是否开启asan yes or no,按照用户选择开启或关闭】如果用户5s内没有选择,则默认关闭asan然后继续执行 ## 变更类型 请选择本次引入的变更类型: <!-- [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!281919 天前
fix: arm关闭asan检测&&默认不执行gcov Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !2819 merge dev-gcov0513 into develop fix: arm关闭asan检测&&默认不执行gcov Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 默认不带gcov编译参数 arm环境默认关闭asan检测 1. 执行bash tests/run_test.sh --asan=true就开启asan --asan=false就关闭asan; 2. 如果没有--asan参数,在x86环境下就默认开启asan; 3. 如果没有--asan参数,arm环境下就给个用户交互解释【arm环境下开启asan或导致执行性能下降3-18倍,然后问是否开启asan yes or no,按照用户选择开启或关闭】如果用户5s内没有选择,则默认关闭asan然后继续执行 ## 变更类型 请选择本次引入的变更类型: <!-- [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!281919 天前
fix: arm关闭asan检测&&默认不执行gcov Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !2819 merge dev-gcov0513 into develop fix: arm关闭asan检测&&默认不执行gcov Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 默认不带gcov编译参数 arm环境默认关闭asan检测 1. 执行bash tests/run_test.sh --asan=true就开启asan --asan=false就关闭asan; 2. 如果没有--asan参数,在x86环境下就默认开启asan; 3. 如果没有--asan参数,arm环境下就给个用户交互解释【arm环境下开启asan或导致执行性能下降3-18倍,然后问是否开启asan yes or no,按照用户选择开启或关闭】如果用户5s内没有选择,则默认关闭asan然后继续执行 ## 变更类型 请选择本次引入的变更类型: <!-- [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!281919 天前
feat: 兼容使用lcov2.3.2并行处理覆盖率 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !2566 merge dev-st0430 into develop feat: 兼容使用lcov2.3.2并行处理覆盖率 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request 兼容使用lcov2.3.2并行处理覆盖率 ## 描述 拆分st ge_common ## 变更类型 请选择本次引入的变更类型: <!-- [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!256622 天前
feat:OpCompileContext添加output相关接口 Co-authored-by: Ekoxier<husizhe@huawei.com> # message auto-generated for no-merge-commit merge: !3254 merge feat/op-compile-context-output-second-pr into develop feat:OpCompileContext添加output相关接口 Created-by: Ekoxier Commit-by: Ekoxier Merged-by: cann-robot Description: # Pull Request ## 描述 OpCompileContext添加output相关接口 const Tensor *GetOutputTensor(size_t index) const; const Tensor *GetRequiredOutputTensor(size_t ir_index) const; const Tensor *GetDynamicOutputTensor(size_t ir_index, size_t relative_index) const; ## 变更类型 请选择本次引入的变更类型: <!-- [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!32543 天前
Initial commit 5 个月前
【PR】: [fix]修复check_env.sh中对于libtool安装的校验 Co-authored-by: zhaowei1936<zhaowei6@huawei.com> # message auto-generated for no-merge-commit merge: !1259 merge zhw_03_18 into develop 【PR】: [fix]修复check_env.sh中对于libtool安装的校验 Created-by: zhaowei1936 Commit-by: zhaowei1936 Merged-by: cann-robot Description: # Pull Request ## 描述 修复check_env.sh中对于libtool安装的校验 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 修复后的测试效果如下: ![image.png](https://raw.gitcode.com/user-images/assets/8824148/1efbaa17-546f-4211-892f-df8073e83ce2/image.png 'image.png') 执行bash scripts/check_env.sh验证效果如下: ![image.png](https://raw.gitcode.com/user-images/assets/8824148/799cdbea-f9f8-46e8-99aa-86d88634d3ee/image.png 'image.png') ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 关联的issue https://gitcode.com/cann/ge/issues/216 See merge request: cann/ge!12592 个月前
支持三方库离线编译 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !646 merge dev-3rd0224 into develop 支持三方库离线编译 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 支持三方库离线编译 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.参照readme中离线编译指导,进行代码仓的下载及安装 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!6463 个月前
Initial commit 5 个月前
Initial commit 5 个月前
fix: 更新镜像初始化脚本下包链接 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !2378 merge dev-image0428 into develop fix: 更新镜像初始化脚本下包链接 Created-by: yelongjian Commit-by: 叶龙剑 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!23781 个月前
【PR】:ge一月份需求合入(包含整改dflow ST、自定义算子执行Context等) Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !223 merge master into master 【PR】:ge一月份需求合入(包含整改dflow ST、自定义算子执行Context等) Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 ge一月份需求合入: 1、llt测试用例相关重复stub文件清理 2、Triton入图parser解析dlopen的handle关闭 - Triton入图parser解析dlopen的handle关闭 - 补充tensorflow 中其他的入参类型 - 优化parser 解析的的代码 3、UserGraphsManager suppport gert::Tensor - UserGraphsManager及JitExecutor等RunGraphAsync入参由ge::Tensor改为gert::Tensor - 老的兼容接口Session::RunGraph/RunGraphAsync在ge_api.cc 将ge::Tensor转换为gert::Tensor,然后调用InnerSession的接口。 4、整改dflow ST中的HELPER_RES_FILE_PATH - HELPER_RES_FILE_PATH配置文件已经废弃,需要删除并整改用例使用RESOURCE_CONFIG_PATH。 - rtGetIsHeterogenous接口已经废弃,需要删除并整改用例使用RESOURCE_CONFIG_PATH环境变量。 5、注册ge错误码 - 从error_code.json文件中拆分出GE错误码,通过ErrorManager模块的对外接口REG_FORMAT_ERROR_MSG宏完成GE错误码的注册 6、使能acl目录覆盖率拦截项 7、triton入图parser解析优化 8、告警规则处理 9、refactor parser/common/tuple.h 10、fix UserGraphControl SetCompiledFlag/SetCompiledFlag 11、修复Sample问题 - Include stdint and stddef for base mdl - move CheckRunGraphMode to ge_api_v2.cc 12、自定义算子执行Context 13、fix AllRealInputsAreTheSameOutAnchor error log issue - 在Session::AddGraph时会造一个UserGraphControl实例。因此在UserGraphControl中增加compiled_flag 14、bugfix:handling excessively long name - 避免因字符串过长导致二进制匹配耗尽资源而coredump,裁剪name,只保留最开始的128字符 15、acl code check告警处理 16、modify 3rd compile para 17、修改自定义ES_API Sample问题 && README.md 18、Refined inner session to no longer retrieve GraphNode or GraphOptions via graph_id from graph_manager. 19、ES关键类PIMPL实现 && 修改命名空间 - EsCGraphBuilder, CompliantNodeBuilder, EsCTensorHolder改为PIMPL实现 - 修改AddEdgeAndUpdatePeerDesc和CompliantNodeBuilder命名空间至ge::es 20、手动实现log功能, 实现debug_print函数来定位 ## 变更类型 请选择本次引入的变更类型: <!-- [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!2233 个月前
feat: 修改OAT检测脚本 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3261 merge dev-oat0530 into develop feat: 修改OAT检测脚本 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 feat: 修改OAT检测脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [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!32613 天前
优化离线编译流程及指导 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !890 merge dev-offline0305 into develop 优化离线编译流程及指导 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 优化离线编译流程及指导 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> [#175](https://gitcode.com/cann/ge/issues/175) [#174](https://gitcode.com/cann/ge/issues/174) ## 如何测试 描述测试此变更的步骤和前提条件: 1.按照新的readme指导进行离线编译,编译不报错,且易用 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!8902 个月前
Initial commit 5 个月前
feat: 兼容使用lcov2.3.2并行处理覆盖率 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !2566 merge dev-st0430 into develop feat: 兼容使用lcov2.3.2并行处理覆盖率 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request 兼容使用lcov2.3.2并行处理覆盖率 ## 描述 拆分st ge_common ## 变更类型 请选择本次引入的变更类型: <!-- [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!256622 天前
fix: 处理buildcheck问题 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !1859 merge dev-build0413 into develop fix: 处理buildcheck问题 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 处理buildcheck问题 ## 变更类型 请选择本次引入的变更类型: <!-- [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!18591 个月前
readme.md

graph engine 个人开发工具链使用说明

GE开发者工具链是graph engine中的一套面向个人开发者的自动化脚本工具链。

目前支持基于容器开发环境准备、构建依赖的自动下载安装和配置、代码格式化、编译、测试、代码覆盖率检查、文档生成等一系列开发者常用功能。

前置准备

下面是使用GE开发者工具链,需要手动进行的前置准备;

下列是经过验证后的性能最佳推荐配置:

  1. 操作系统,以下任选其一:

    • 原生的Linux操作系统,如ubuntu;
    • Windows操作系统,推荐安装WSL的ubuntu系统,强烈建议登录WSL内直接下载代码,不要挂卷(构建性能差)!
    • MAC OS;
  2. docker安装:

    • docker安装成功,并且相关镜像源已经设置正确,可正常下载外部镜像。
  3. OS支持的命令行工具: 原生Linux or WSL shell;

可用但不推荐的配置:

  • 在windows中直接安装docker,采用仿linux bash(Cygwin,minGW等)执行ge工具链; (使用这种方式也可以执行所有GE工具链的操作,但是因为windows和容器异构内核的文件访问限制会导致构建速度比较慢)

快速上手

GE工具链对应的脚本在scripts下,可以按照下面流程来执行:

  1. 进入到scripts目录:
$ cd ./scripts

2.执行ge env自动下载容器环境,并登陆到环境中

$ ./ge.sh env 

3.下载和安装构建所依赖的外部库 sh $ ge update (注:进入容器后,ge命令已经自动注册进系统,因此容器内不需要写脚本全称)

4.执行测试,默认执行单元测试用例,ge test会自动触发构建

$ ge test

详细用法

在scripts目录下,运行./ge.sh -h 即可查看到所有的子命令集合。

$ ./ge.sh -h

Usage: ge  COMMANDS

Run ge commands

Commands:
    env         Prepare docker env
    config      Config dependencies server
    update      Update dependencies
    format      Format code
    lint        Static verify
    build       Build code
    test        Run test of UT/ST
    cov         Run Coverage
    docs        Generate documents
    clean       Clean

脚本内置的每个子命令,代表一个独立功能;每个子命令还提供了二级参数用于灵活指定执行方式。

每个子命令可以通过-h查看支持的可配参数。

例如查询env子命令的参数,可以使用如下命令:

$  ./ge.sh env -h

每个子命令在不带参数时,会有一个默认的行为。

ge env

该命令用于准备构建和测试使用的容器环境,具体包含参数如下:

$  ./ge.sh env -h

Usage: ge env [OPTIONS]

Prepare for docker env for build and test

Options:
    -b, --build  Build docker image
    -p, --pull   Pull  docker image
    -e, --enter  Enter container
    -r, --reset  Reset container
    -h, --help

参数详细解释:

  • -b -- build: 依据“scripts/env/Dockerfile”生成需要运行的容器镜像;
  • -p -- pull : 从本地配置的容器中央仓拉取需要的的容器镜像;
  • -e -- enter: 在本地已有容器镜像的前提下,登录容器运行环境;
  • -r -- reset: 删除本地运行的容器镜像环境;

默认:从中央容器仓拉取对应的容器镜像,运行实例并登陆。

ge config

配置外部依赖服务器,具体参数如下:

$ ge config -h

Usage: ge config [OPTIONS]

update server config for ge, you need input all config info (ip, user, password)

Options:
    -i, --ip           Config ip config
    -u, --user         Config user name
    -p, --password     Config password
    -h, --help

Example: ge config -i=<ip-adress> -u=<username> -p=<password> (Need add escape character \ before special charactor $、#、!)

参数详细解释:

  • -i, --ip : 配置依赖库服务器IP地址;
  • -u, --usr : 配置依赖库服务器用户名;
  • -p, --password : 配置依赖库地址;

默认:打印帮助信息。

ge update

安装graph engine构建所需的外部依赖库,具体参数如下:

$ ge update -h

Usage: ge update [OPTIONS]

update dependencies of build and test

Options:
    -p, --public       Download dependencies from community
    -d, --download     Download dependencies
    -i, --install      Install dependencies
    -c, --clear        Clear dependencies
    -h, --help

参数详细解释:

  • -p, --public : 从社区下载安装依赖库;
  • -d, --download : 下载构建需要外部依赖库;
  • -i, --install : 安装外部依赖包到对应位置;
  • -c, --clear : 清除下载的外部依赖包;

默认:根据"scripts/update/deps_config.sh"的配置下载外部依赖库并安装到对应目录。 (注:请确保“scripts/update/server_config.sh”中的服务器地址、用户名、密码已经配置)

ge format

使用clang-format进行代码格式化,具体参数如下:

$ ge format -h
Options:
    -a format of all files
    -c format of the files changed compared to last commit, default case
    -l format of the files changed in last commit
    -h Print usage

参数详细解释:

  • -a : 格式化所有代码;
  • -c : 只格式化本次修改的代码;
  • -l : 格式化上次提交的代码;

默认:格式化本次修改代码。

ge build

执行构建 (注:调用原有build.sh脚本,改造中...);

ge test

构建和运行测试用例,目前可以支持参数如下:

$ ge test -h

Usage: ge test [OPTIONS]

Options:
    -u, --unit          Run unit Test
    -c, --component     Run component Test
    -h, --help

参数详细解释:

  • -u, --unit : 执行单元测试
  • -c, --component : 执行组件测试

默认:执行单元测试。

ge cov

执行代码覆盖率检查, 支持全量覆盖和增量覆盖的功能,该命令需要已经跑完测试用例,目前可以支持参数如下:

$ ge cov -h

Usage: ge cov [OPTIONS]

Options:
    -a, --all          Full coverage
    -i, --increment    Increment coverage
    -d, --directory    Coverage of directory
    -h, --help

参数详细解释:

  • -a, --all : 执行全量覆盖率统计;
  • -i, --increment : 执行增量覆盖率检查,默认是分析未提交修改的代码覆盖率(如果存在新增加的git未跟踪文件,需要先git add 添加进来才可以);
  • -d, --directory : 代码进行增量覆盖率检查的代码路径,支持传入路径参数;

默认:执行增量覆盖率检查;

下面的命令演示了如何检查ge目录下所有代码的增量覆盖率:

$ ge cov -d=ge 

ge docs

Doxygen文档生成,包含代码逻辑和物理结构和关系,方便阅读和理解代码;目前可以支持参数如下:

$ ge docs -h

Usage: ge docs [OPTIONS]

Options:
    -b, --brief  Build brief docs
    -a, --all    Build all docs
    -h, --help

参数详细解释:

  • -b, --brief : 生成简要文档,忽略部分关系图生成,速度快;
  • -a, --all : 生成全量文档,包含各种代码关系图,速度相对慢;

默认: 生成全量代码文档。

ge clean

清除各种下载或生成的中间文件,目前支持的参数如下:

$ ge clean -h

Usage: ge clean [OPTIONS]

Options:
    -b, --build         Clean build dir
    -d, --docs          Clean generate docs
    -i, --install       Clean dependenices
    -a, --all           Clean all
    -h, --help

参数详细解释:

  • -b, --build : 清除生成的编译构建临时文件;
  • -d, --docs : 清除生成的文档临时文件;
  • -i, --install : 清除安装的依赖文件;
  • -a, --all : 清除所有下载和生成的临时文件;

默认:清除编译构建产生临时文件。

Follow us

工具链的功能还在不断完善中,有问题请提issue,谢谢!