当前 ops-math 仓库通过项目内维护的 cmake 脚本(cmake/third_party/*.cmake)管理第三方依赖(eigen、protobuf、json、gtest)的下载和构建。这种方式与 CANN 其他仓库的依赖管理方式不统一,增加了维护成本。
cmake/third_party/*.cmake
关联 PR:https://gitcode.com/cann/ops-math/pull/2816
将 include(cmake/third_party/*.cmake) 替换为 add_cann_third_party() 公共接口调用,同时更新相关变量名和 target 名称以适配公共仓接口:
include(cmake/third_party/*.cmake)
add_cann_third_party()
add_cann_third_party(eigen)
Eigen3::EigenMath
Eigen3::Eigen
add_cann_third_party(protobuf)
host_protoc
add_cann_third_party(json)
add_cann_third_party(gtest)
${ABS_INSTALL_DIR}
不涉及算子使能,仅影响构建系统
不涉及
不涉及算子 host 侧设计,仅修改 cmake 构建脚本
💡 备注 本次改动涉及 4 个文件,总计 +22 -16 行变更。
/assign @chensi79
一、背景信息
当前 ops-math 仓库通过项目内维护的 cmake 脚本(
cmake/third_party/*.cmake)管理第三方依赖(eigen、protobuf、json、gtest)的下载和构建。这种方式与 CANN 其他仓库的依赖管理方式不统一,增加了维护成本。关联 PR:https://gitcode.com/cann/ops-math/pull/2816
二、价值/作用
三、设计方案
将
include(cmake/third_party/*.cmake)替换为add_cann_third_party()公共接口调用,同时更新相关变量名和 target 名称以适配公共仓接口:add_cann_third_party(eigen),target 从Eigen3::EigenMath改为Eigen3::Eigenadd_cann_third_party(protobuf),通过host_protoc目标获取 protocadd_cann_third_party(json)add_cann_third_party(gtest),创建 ALIAS 兼容原有 target 名${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 行变更。