文件最后提交记录最后更新时间
【fix】: Unified compilation options Co-authored-by: tangqunzhang<tangqunzhang@huawei.com> # message auto-generated for no-merge-commit merge: !1108 merge develop into develop 【fix】: Unified compilation options Created-by: tangqunzhang Commit-by: tangqunzhang Merged-by: cann-robot Description: # Pull Request ## 描述 编译选项整改,构建工程公共编译选项统一通过intf_pub设置,测试工程编译选项统一通过intf_llt_pub设置。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.编译通过,UT,ST运行正确 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!11082 个月前
【PR】:修改不规范的日志 Co-authored-by: chenqian1365<chenqian2@huawei.com> # message auto-generated for no-merge-commit merge: !2583 merge develop into develop 【PR】:修改不规范的日志 Created-by: chenqian1365 Commit-by: chenqian1365 Merged-by: cann-robot Description: # Pull Request ## 描述 将日志里 can not/Can not 改为 cannot/Cannot ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!258324 天前
【PR】:【feat】支持自定义算子实例复用并完善 ShapeInfer 推导流程 Co-authored-by: coconut_tree<tongjinjian@huawei.com> # message auto-generated for no-merge-commit merge: !2467 merge develop_0430 into develop 【PR】:【feat】支持自定义算子实例复用并完善 ShapeInfer 推导流程 Created-by: coconut_tree Commit-by: coconut_tree Merged-by: cann-robot Description: # Pull Request ## 描述 完善自定义算子 ShapeInfer / DataTypeInfer 编译期推导流程 - 在 custom_op.h 中新增 ShapeInferOp 接口,支持自定义算子显式实现: - InferShape - InferDataType - 在 InferCustomOpShape 流程中接入 ShapeInferOp 调用路径: - 创建或复用 custom op 实例 - 构造推导上下文 - 调用自定义 InferShape / InferDataType - 将推导结果回写到 OpDesc ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 在历史交付件中继承ShapeInferOp类并实现inferhape 和 inferDateType 接口 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!246724 天前
【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 天前
Unified compilation project Co-authored-by: tangqunzhang<tangqunzhang@huawei.com> # message auto-generated for no-merge-commit merge: !833 merge develop into develop Unified compilation project Created-by: tangqunzhang Commit-by: tangqunzhang Merged-by: cann-robot Description: # Pull Request ## 描述 问题/功能描述 本次PR是一个综合性的代码优化与重构集合,主要围绕三个核心目标展开。首先,对CMake构建系统进行了大规模标准化和优化,旨在提升构建配置的集中管理能力、灵活性和可维护性,包括统一编译/链接选项、重构库依赖、增强测试构建支持(如ASAN/GCOV)以及新增目标克隆功能。其次,对多个C++单例类(如AclResourceManager、ModelSaveHelperFactory、GlobalProfilingWrapper、KernelBinRegistry等)的实现进行了重构,将内联定义从头文件移至源文件,以消除潜在的链接期多重定义风险和静态初始化顺序问题,提升代码健壮性。最后,修复了多个明确的编码缺陷,包括空指针解引用、内存管理错误、测试环境隔离问题以及单元测试逻辑错误,增强了代码的稳定性和测试的可靠性。 修改方案描述 修改方案主要包括三个方面。在构建系统层面,将大量硬编码的编译和链接选项(如-Werror、-O2)替换为统一的CMake变量(如${AIR_COMMON_COMPILE_OPTION}、${AIR_COMMON_LINK_OPTION}),重构了UDF、部署器等模块的构建流程以使用预编译静态库,并新增了条件化的ASAN支持和测试环境变量管理。在代码结构层面,将十余个工厂类、管理器类和工具类(如AclResourceManager::GetInstance()、UdfModelBuilder::GetInstance()等)的单例方法实现从头文件内联定义移至对应的.cc源文件中,遵循了声明与实现分离的最佳实践。在缺陷修复层面,修复了DataSliceAdapter::GetTensorStr中的空指针解引用、FftsPlusArgsHelper::AppendIoAddrs中的日志打印空指针风险、单元测试中的内存释放顺序错误、环境变量(LD_PRELOAD)干扰以及多个测试用例的逻辑和数据错误,并补充了必要的桩函数实现。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.修改编译选项和UT,ST,原有用例可以执行通过就可以 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!8332 个月前