文件最后提交记录最后更新时间
fix: ES接口ABI兼容性修复,新增pimpl形式的V2结构体和接口 Co-authored-by: kobemini<gengchao4@huawei.com> # message auto-generated for no-merge-commit merge: !2306 merge es_bugfix00005 into develop fix: ES接口ABI兼容性修复,新增pimpl形式的V2结构体和接口 Created-by: kobemini Commit-by: kobemini Merged-by: cann-robot Description: 20250710评审通过 # Pull Request ## 描述 修复 ES (Eager Style) 对外接口中 std::string 导致的 ABI 不兼容问题。 **问题**: IrAttrDef/IrInputDef/IrOutputDef 结构体包含 std::string 字段,当外部使用者与 GE 库使用不同的编译器 ABI(如不同的 _std::__cxx11 命名空间配置)时,会导致 std::string 内存布局不一致,引发内存访问异常。 **修复内容**: - 新增 IrAttrDefV2/IrInputDefV2/IrOutputDefV2 pimpl 结构体,对外仅暴露稳定大小的 Impl 指针,内部拷贝字符串内容,确保 ABI 安全 - 新增 IrDefInputsV2/IrDefOutputsV2/IrDefAttrsV2 接口,支持指针+长度和 initializer_list 两种调用方式 - V2 结构体使用 std::nothrow 分配内存,setter/getter 均做判空保护 - 参数化构造函数使用初始化列表形式,避免默认构造+赋值的开销 - 旧接口使用 ATTRIBUTED_DEPRECATED 宏标记废弃,保持向后兼容 - 旧结构体文档标注非 ABI 兼容说明,接口文档同时保留新旧原型 - codegen 和单元测试已迁移至 V2 接口 ## 变更类型 - [x] Bug 修复 - [ ] 新功能 - [ ] 代码风格更新 - [ ] 重构 - [ ] 构建过程或辅助工具的变动 - [x] 文档内容更新 ## 修改文件 - compliant_node_builder.h - 新增 V2 结构体声明和 V2 接口,旧接口标记废弃 - compliant_node_builder.cc - 实现 V2 结构体的 pimpl 逻辑 - c_generator.h - codegen 迁移到 V2 接口 - docs/graph_engine_api/*.md - 文档更新 - tests/ - 单元测试迁移到 V2 接口 - examples/ - 示例迁移到 V2 接口 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签 See merge request: cann/ge!23061 个月前
Initial commit 5 个月前
Initial commit 5 个月前
fix: ES接口ABI兼容性修复,新增pimpl形式的V2结构体和接口 Co-authored-by: kobemini<gengchao4@huawei.com> # message auto-generated for no-merge-commit merge: !2306 merge es_bugfix00005 into develop fix: ES接口ABI兼容性修复,新增pimpl形式的V2结构体和接口 Created-by: kobemini Commit-by: kobemini Merged-by: cann-robot Description: 20250710评审通过 # Pull Request ## 描述 修复 ES (Eager Style) 对外接口中 std::string 导致的 ABI 不兼容问题。 **问题**: IrAttrDef/IrInputDef/IrOutputDef 结构体包含 std::string 字段,当外部使用者与 GE 库使用不同的编译器 ABI(如不同的 _std::__cxx11 命名空间配置)时,会导致 std::string 内存布局不一致,引发内存访问异常。 **修复内容**: - 新增 IrAttrDefV2/IrInputDefV2/IrOutputDefV2 pimpl 结构体,对外仅暴露稳定大小的 Impl 指针,内部拷贝字符串内容,确保 ABI 安全 - 新增 IrDefInputsV2/IrDefOutputsV2/IrDefAttrsV2 接口,支持指针+长度和 initializer_list 两种调用方式 - V2 结构体使用 std::nothrow 分配内存,setter/getter 均做判空保护 - 参数化构造函数使用初始化列表形式,避免默认构造+赋值的开销 - 旧接口使用 ATTRIBUTED_DEPRECATED 宏标记废弃,保持向后兼容 - 旧结构体文档标注非 ABI 兼容说明,接口文档同时保留新旧原型 - codegen 和单元测试已迁移至 V2 接口 ## 变更类型 - [x] Bug 修复 - [ ] 新功能 - [ ] 代码风格更新 - [ ] 重构 - [ ] 构建过程或辅助工具的变动 - [x] 文档内容更新 ## 修改文件 - compliant_node_builder.h - 新增 V2 结构体声明和 V2 接口,旧接口标记废弃 - compliant_node_builder.cc - 实现 V2 结构体的 pimpl 逻辑 - c_generator.h - codegen 迁移到 V2 接口 - docs/graph_engine_api/*.md - 文档更新 - tests/ - 单元测试迁移到 V2 接口 - examples/ - 示例迁移到 V2 接口 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签 See merge request: cann/ge!23061 个月前
Initial commit 5 个月前
Initial commit 5 个月前
fix: ES接口ABI兼容性修复,新增pimpl形式的V2结构体和接口 Co-authored-by: kobemini<gengchao4@huawei.com> # message auto-generated for no-merge-commit merge: !2306 merge es_bugfix00005 into develop fix: ES接口ABI兼容性修复,新增pimpl形式的V2结构体和接口 Created-by: kobemini Commit-by: kobemini Merged-by: cann-robot Description: 20250710评审通过 # Pull Request ## 描述 修复 ES (Eager Style) 对外接口中 std::string 导致的 ABI 不兼容问题。 **问题**: IrAttrDef/IrInputDef/IrOutputDef 结构体包含 std::string 字段,当外部使用者与 GE 库使用不同的编译器 ABI(如不同的 _std::__cxx11 命名空间配置)时,会导致 std::string 内存布局不一致,引发内存访问异常。 **修复内容**: - 新增 IrAttrDefV2/IrInputDefV2/IrOutputDefV2 pimpl 结构体,对外仅暴露稳定大小的 Impl 指针,内部拷贝字符串内容,确保 ABI 安全 - 新增 IrDefInputsV2/IrDefOutputsV2/IrDefAttrsV2 接口,支持指针+长度和 initializer_list 两种调用方式 - V2 结构体使用 std::nothrow 分配内存,setter/getter 均做判空保护 - 参数化构造函数使用初始化列表形式,避免默认构造+赋值的开销 - 旧接口使用 ATTRIBUTED_DEPRECATED 宏标记废弃,保持向后兼容 - 旧结构体文档标注非 ABI 兼容说明,接口文档同时保留新旧原型 - codegen 和单元测试已迁移至 V2 接口 ## 变更类型 - [x] Bug 修复 - [ ] 新功能 - [ ] 代码风格更新 - [ ] 重构 - [ ] 构建过程或辅助工具的变动 - [x] 文档内容更新 ## 修改文件 - compliant_node_builder.h - 新增 V2 结构体声明和 V2 接口,旧接口标记废弃 - compliant_node_builder.cc - 实现 V2 结构体的 pimpl 逻辑 - c_generator.h - codegen 迁移到 V2 接口 - docs/graph_engine_api/*.md - 文档更新 - tests/ - 单元测试迁移到 V2 接口 - examples/ - 示例迁移到 V2 接口 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签 See merge request: cann/ge!23061 个月前
Initial commit 5 个月前
Initial commit 5 个月前