已关闭
[Requirement|需求建议]: 统一使用CANN公共仓接口管理第三方依赖 #1603
陈思创建于  5月20日关闭于  5月22日
陈思
陈思成员
5月20日 创建

一、背景信息

当前 ops-math 仓库通过项目内维护的 cmake 脚本(cmake/third_party/*.cmake)管理第三方依赖(eigen、protobuf、json、gtest)的下载和构建。这种方式与 CANN 其他仓库的依赖管理方式不统一,增加了维护成本。

关联 PR:https://gitcode.com/cann/ops-math/pull/2816

二、价值/作用

  • 统一 CANN 生态内各仓库的第三方依赖管理方式,降低维护成本
  • 利用公共仓接口自动处理依赖下载、编译和路径配置,减少重复代码
  • 提升构建系统的一致性和可维护性

三、设计方案

include(cmake/third_party/*.cmake) 替换为 add_cann_third_party() 公共接口调用,同时更新相关变量名和 target 名称以适配公共仓接口:

  • eigen: add_cann_third_party(eigen),target 从 Eigen3::EigenMath 改为 Eigen3::Eigen
  • protobuf: add_cann_third_party(protobuf),通过 host_protoc 目标获取 protoc
  • json: add_cann_third_party(json)
  • gtest: add_cann_third_party(gtest),创建 ALIAS 兼容原有 target 名
  • abseil-cpp: 移除独立下载,改用 ${ABS_INSTALL_DIR} 引用
3.1 使能方式

不涉及算子使能,仅影响构建系统

3.2 总体设计
3.2.1 算子支持的数据类型

不涉及

3.2.2 host侧设计

不涉及算子 host 侧设计,仅修改 cmake 构建脚本

3.2.3 kernel侧设计

不涉及

3.3 支持硬件

不涉及

3.4 算子约束限制

不涉及

💡 备注
本次改动涉及 4 个文件,总计 +22 -16 行变更。

likedislike
陈思陈思成员
5月20日 添加了label:requirement
陈思
陈思成员
5月20日 评论:

/assign @chensi79

likedislike
CANN-robotCANN-robot成员
5月20日 将 chensi79 设为负责人
CANN-robotCANN-robot成员
5月22日 关闭了 issue
CANN-robotCANN-robot成员
5月22日 添加了label:resolved