ops-tensor【免费下载链接】ops-tensorops-tensor 是 CANN Compute Architecture for Neural Networks算子库中提供张量类计算的基础算子库采用模块化设计支持灵活的算子开发和管理。项目地址: https://gitcode.com/cann/ops-tensor 最新动态[2026/04] 新增tensor_api、BlazeBasicLinearAlgebraOptimizedEngine公共模块分别为算子开发提供张量结构抽象与高性能线性代数加速能力。[2026/03] 完成项目基础架构搭建支持 Add 算子实现和测试支持一键编译、测试和打包。[2026/03] 建立完整的测试框架支持单元测试、超时控制和自动化测试统计。[2026/03] 实现标准化的打包流程生成 .run 安装包支持 install/uninstall/upgrade 完整生命周期管理。 概述ops-tensor 是 CANN Compute Architecture for Neural Networks算子库中提供张量类计算的基础算子库采用模块化设计支持灵活的算子开发和管理。主要特性✅模块化设计- 支持动态添加算子模块每个算子独立开发、编译和测试✅公共模块-tensor_api提供张量结构抽象Blaze提供高性能线性代数加速能力作为算子开发的统一基础✅标准 CMake 构建- 跨平台编译支持统一的构建流程✅完整测试体系- 基于自定义测试框架支持自动化测试和超时控制✅便捷打包- 一键生成 .run 安装包支持 install/uninstall/upgrade✅版本管理- 安装信息记录和版本追踪支持升级管理✅轻量高效- 简洁的架构设计避免过度工程化 版本配套当前仓库已验证通过的 CANN Toolkit 如下CANN 版本发布时间分支CANN 9.0.0-beta.22026/03/30master请根据实际 CPU 架构从上述链接目录中自行选择对应的.run安装包。toolkit 安装包文件名格式如下Ascend-cann-toolkit_${cann_version}_linux-aarch64.runAscend-cann-toolkit_${cann_version}_linux-x86_64.run安装社区版 CANN Toolkit# 确保安装包具有可执行权限 chmod x Ascend-cann-toolkit_${cann_version}_linux-${arch}.run # 安装命令 ./Ascend-cann-toolkit_${cann_version}_linux-${arch}.run --install --force --install-path${install_path}${cann_version}表示 toolkit 安装包版本号需满足上文的最低版本要求。${arch}表示 CPU 架构如aarch64、x86_64。${install_path}表示指定安装路径默认安装在/usr/local/Ascend目录。配置环境变量安装完成后请先执行source ${install_path}/cann/set_env.sh请将${install_path}替换为 toolkit 的实际安装目录例如/usr/local/Ascend或${HOME}/Ascend。⚡️ 快速入门编译与测试详细的 build.sh 参数说明请参考 build 参数说明。# 编译所有算子默认 8 线程 ./build.sh # 编译指定算子 ./build.sh --opsadd # 编译并运行测试 ./build.sh --run # 编译并打包成 .run 文件 ./build.sh --pkg # 查看完整帮助信息 ./build.sh --help安装# 标准安装需要 root 权限 sudo ./cann-950-ops-tensor_9.0.0_linux-*.run # 查看安装包信息 ./cann-950-ops-tensor_9.0.0_linux-*.run --help # 安装到自定义路径 sudo ./cann-950-ops-tensor_9.0.0_linux-*.run --install-path/opt/ascend # 卸载 sudo ./cann-950-ops-tensor_9.0.0_linux-*.run --uninstall # 升级 sudo ./cann-950-ops-tensor_9.0.0_linux-*.run --upgrade 项目说明支持的算子当前支持的算子列表算子名称描述状态Add张量加法运算✅ 已实现更多算子正在持续开发中...SoC 支持矩阵SoC 型号SOC_VERSION支持状态Ascend950ascend950dt_9595✅ 默认支持Ascend910Bascend910b3❌ 暂不支持Ascend910_93ascend910_93❌ 暂不支持Ascend910ascend910❌ 暂不支持Ascend310Pascend310p❌ 暂不支持Ascend310Bascend310b❌ 暂不支持公共模块ops-tensor 通过模块化的公共代码为各算子提供统一的基础能力算子按需调用模块路径形态简介tensor_apiinclude/tensor_api/header-only底层 Tensor 抽象Layout / Shape / Coord 等类型与工具用于在 Kernel 端构建结构化的张量视图Blazeinclude/blaze/header-only高性能线性代数加速引擎BasicLinearAlgebraOptimizedEngine服务于使用到矩阵乘计算的相关算子Matmul、GroupedMatmul、MC2 等提供分层的 Kernel / Block / Tile 抽象与配套 Policy / Epilogue / Utils。详见 include/blaze/README.md 目录结构ops-tensor/ ├── cmake/ # CMake 配置文件 │ ├── func.cmake # 公共函数算子注册等 │ ├── init_env.cmake # 环境初始化 │ ├── variables.cmake # 变量定义 │ ├── package.cmake # 打包配置 │ ├── makeself_built_in.cmake # .run 包生成脚本 │ └── third_party/ # 第三方依赖 ├── include/ # 公共头文件 │ ├── cann_ops_tensor.h # API 头文件 │ ├── cann_ops_tensor_types.h # 类型定义头文件 │ ├── tensor_api/ # 底层 Tensor 抽象Layout/Shape/Coord 等 │ └── blaze/ # Blaze 高性能线性代数加速引擎 ├── scripts/ # 脚本目录 │ ├── check_build_dependencies.py # 依赖检查脚本 │ ├── generate_version_info.py # 版本信息生成 │ └── package/ # 打包相关脚本 │ ├── common/ # 通用打包工具 │ └── cfg/ # 打包配置 ├── lib/ # 基础设施库算子开发依赖 │ ├── core/ # 核心模块 │ │ ├── handle.cpp/hpp # 句柄管理 │ │ ├── operation_descriptor.cpp/hpp # 算子描述符 │ │ ├── plan.cpp/hpp # 执行计划 │ │ ├── plan_preference.cpp/hpp # 计划偏好 │ │ └── tensor_descriptor.cpp/hpp # 张量描述符 │ ├── elementwise/ # 元素算子基础实现 │ │ ├── elementwise.cpp/hpp │ │ └── elementwise_binary.cpp/hpp │ ├── utils/ # 工具函数 │ │ ├── type_utils.hpp # 类型工具 │ │ ├── utils.cpp # 通用工具 │ │ └── validation.cpp/hpp # 验证工具 │ └── CMakeLists.txt ├── src/ # 源代码目录 │ ├── add/ # Add 算子实现 │ │ ├── add_solution.cpp # 解决方案实现Tiling 计算、解决方案注册 │ │ ├── add_kernel.cpp # Kernel 端实现 │ │ ├── arch35/ # 架构特定代码可选 │ │ │ └── add_struct.h # 数据结构定义也可定义在 .cpp 中 │ │ ├── tests/ # 算子测试 │ │ │ ├── add_test.h │ │ │ └── add_test.cpp │ │ └── CMakeLists.txt │ ├── ... # 其他算子 │ └── CMakeLists.txt ├── tests/ # 测试框架 │ ├── test_common.h # 测试框架头文件 │ ├── test_common.cpp # 测试框架实现 │ ├── test_elementwise.cpp # 元素算子测试辅助 │ ├── all_tests.cpp.in # 测试入口模板 │ └── CMakeLists.txt ├── build.sh # 编译脚本 ├── install_deps.sh # 依赖安装脚本 ├── CMakeLists.txt # 主 CMake 配置 ├── version.cmake # CMake 版本配置 ├── version.info # 版本信息 └── README.md # 本文件说明仓库代码按角色分为三类框架代码lib/- 算子运行框架编译产物提供句柄、执行计划、算子/张量描述符、参数验证、解决方案注册等基础设施所有算子链接依赖公共模块详见上文「公共模块」小节include/tensor_api/- 底层 Tensor 抽象header-onlyinclude/blaze/- 矩阵乘相关算子的高性能加速引擎header-only详见include/blaze/README.md算子目录src/op/op_solution.cpp- 解决方案实现Tiling 计算、内存管理、解决方案注册op_kernel.cpp- Kernel 核函数实现arch35/op_struct.h- Tiling 数据结构可选也可定义在 solution.cpp 中arch35/目录是可选的仅在需要区分不同 SOC 架构时使用tests/目录强烈推荐但不是必需的️ 开发指南添加新算子详细的算子开发指南请参考 算子开发指南包括完整的目录结构说明解决方案实现模板Tiling 数据结构定义解决方案注册机制完整开发流程快速开始创建目录mkdir -p src/my_op/arch35 (可选) mkdir -p src/my_op/tests编写算子实现创建src/my_op/my_op_solution.cpp和src/my_op/my_op_kernel.cpp包含解决方案部分Tiling 计算、内存管理、解决方案注册Kernel 部分核函数实现创建 CMakeLists.txtregister_operator(NAME my_op ARCH_DIR arch35)编写测试推荐 参考 测试编写指南编译验证./build.sh --opsmy_op --run完整示例参考src/add/目录。编写测试ops-tensor 提供了轻量级、自动化的测试框架。详细的测试编写指南请参考 测试编写指南包括测试框架特性测试文件结构核心宏和函数说明完整编写步骤和示例最佳实践和常见问题 相关信息许可证: CANN Open Software License Agreement Version 2.0安全声明: SECURITY.md贡献指南: CONTRIBUTING.md所属 SIG: CANN Community 联系我们本项目功能和文档正在持续更新和完善中欢迎您关注最新版本。问题反馈: 通过 Issues 提交问题社区互动: 通过 Discussions 参与交流技术专栏: 通过 Wiki 获取技术文章【免费下载链接】ops-tensorops-tensor 是 CANN Compute Architecture for Neural Networks算子库中提供张量类计算的基础算子库采用模块化设计支持灵活的算子开发和管理。项目地址: https://gitcode.com/cann/ops-tensor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
CANN/ops-tensor张量算子库
ops-tensor【免费下载链接】ops-tensorops-tensor 是 CANN Compute Architecture for Neural Networks算子库中提供张量类计算的基础算子库采用模块化设计支持灵活的算子开发和管理。项目地址: https://gitcode.com/cann/ops-tensor 最新动态[2026/04] 新增tensor_api、BlazeBasicLinearAlgebraOptimizedEngine公共模块分别为算子开发提供张量结构抽象与高性能线性代数加速能力。[2026/03] 完成项目基础架构搭建支持 Add 算子实现和测试支持一键编译、测试和打包。[2026/03] 建立完整的测试框架支持单元测试、超时控制和自动化测试统计。[2026/03] 实现标准化的打包流程生成 .run 安装包支持 install/uninstall/upgrade 完整生命周期管理。 概述ops-tensor 是 CANN Compute Architecture for Neural Networks算子库中提供张量类计算的基础算子库采用模块化设计支持灵活的算子开发和管理。主要特性✅模块化设计- 支持动态添加算子模块每个算子独立开发、编译和测试✅公共模块-tensor_api提供张量结构抽象Blaze提供高性能线性代数加速能力作为算子开发的统一基础✅标准 CMake 构建- 跨平台编译支持统一的构建流程✅完整测试体系- 基于自定义测试框架支持自动化测试和超时控制✅便捷打包- 一键生成 .run 安装包支持 install/uninstall/upgrade✅版本管理- 安装信息记录和版本追踪支持升级管理✅轻量高效- 简洁的架构设计避免过度工程化 版本配套当前仓库已验证通过的 CANN Toolkit 如下CANN 版本发布时间分支CANN 9.0.0-beta.22026/03/30master请根据实际 CPU 架构从上述链接目录中自行选择对应的.run安装包。toolkit 安装包文件名格式如下Ascend-cann-toolkit_${cann_version}_linux-aarch64.runAscend-cann-toolkit_${cann_version}_linux-x86_64.run安装社区版 CANN Toolkit# 确保安装包具有可执行权限 chmod x Ascend-cann-toolkit_${cann_version}_linux-${arch}.run # 安装命令 ./Ascend-cann-toolkit_${cann_version}_linux-${arch}.run --install --force --install-path${install_path}${cann_version}表示 toolkit 安装包版本号需满足上文的最低版本要求。${arch}表示 CPU 架构如aarch64、x86_64。${install_path}表示指定安装路径默认安装在/usr/local/Ascend目录。配置环境变量安装完成后请先执行source ${install_path}/cann/set_env.sh请将${install_path}替换为 toolkit 的实际安装目录例如/usr/local/Ascend或${HOME}/Ascend。⚡️ 快速入门编译与测试详细的 build.sh 参数说明请参考 build 参数说明。# 编译所有算子默认 8 线程 ./build.sh # 编译指定算子 ./build.sh --opsadd # 编译并运行测试 ./build.sh --run # 编译并打包成 .run 文件 ./build.sh --pkg # 查看完整帮助信息 ./build.sh --help安装# 标准安装需要 root 权限 sudo ./cann-950-ops-tensor_9.0.0_linux-*.run # 查看安装包信息 ./cann-950-ops-tensor_9.0.0_linux-*.run --help # 安装到自定义路径 sudo ./cann-950-ops-tensor_9.0.0_linux-*.run --install-path/opt/ascend # 卸载 sudo ./cann-950-ops-tensor_9.0.0_linux-*.run --uninstall # 升级 sudo ./cann-950-ops-tensor_9.0.0_linux-*.run --upgrade 项目说明支持的算子当前支持的算子列表算子名称描述状态Add张量加法运算✅ 已实现更多算子正在持续开发中...SoC 支持矩阵SoC 型号SOC_VERSION支持状态Ascend950ascend950dt_9595✅ 默认支持Ascend910Bascend910b3❌ 暂不支持Ascend910_93ascend910_93❌ 暂不支持Ascend910ascend910❌ 暂不支持Ascend310Pascend310p❌ 暂不支持Ascend310Bascend310b❌ 暂不支持公共模块ops-tensor 通过模块化的公共代码为各算子提供统一的基础能力算子按需调用模块路径形态简介tensor_apiinclude/tensor_api/header-only底层 Tensor 抽象Layout / Shape / Coord 等类型与工具用于在 Kernel 端构建结构化的张量视图Blazeinclude/blaze/header-only高性能线性代数加速引擎BasicLinearAlgebraOptimizedEngine服务于使用到矩阵乘计算的相关算子Matmul、GroupedMatmul、MC2 等提供分层的 Kernel / Block / Tile 抽象与配套 Policy / Epilogue / Utils。详见 include/blaze/README.md 目录结构ops-tensor/ ├── cmake/ # CMake 配置文件 │ ├── func.cmake # 公共函数算子注册等 │ ├── init_env.cmake # 环境初始化 │ ├── variables.cmake # 变量定义 │ ├── package.cmake # 打包配置 │ ├── makeself_built_in.cmake # .run 包生成脚本 │ └── third_party/ # 第三方依赖 ├── include/ # 公共头文件 │ ├── cann_ops_tensor.h # API 头文件 │ ├── cann_ops_tensor_types.h # 类型定义头文件 │ ├── tensor_api/ # 底层 Tensor 抽象Layout/Shape/Coord 等 │ └── blaze/ # Blaze 高性能线性代数加速引擎 ├── scripts/ # 脚本目录 │ ├── check_build_dependencies.py # 依赖检查脚本 │ ├── generate_version_info.py # 版本信息生成 │ └── package/ # 打包相关脚本 │ ├── common/ # 通用打包工具 │ └── cfg/ # 打包配置 ├── lib/ # 基础设施库算子开发依赖 │ ├── core/ # 核心模块 │ │ ├── handle.cpp/hpp # 句柄管理 │ │ ├── operation_descriptor.cpp/hpp # 算子描述符 │ │ ├── plan.cpp/hpp # 执行计划 │ │ ├── plan_preference.cpp/hpp # 计划偏好 │ │ └── tensor_descriptor.cpp/hpp # 张量描述符 │ ├── elementwise/ # 元素算子基础实现 │ │ ├── elementwise.cpp/hpp │ │ └── elementwise_binary.cpp/hpp │ ├── utils/ # 工具函数 │ │ ├── type_utils.hpp # 类型工具 │ │ ├── utils.cpp # 通用工具 │ │ └── validation.cpp/hpp # 验证工具 │ └── CMakeLists.txt ├── src/ # 源代码目录 │ ├── add/ # Add 算子实现 │ │ ├── add_solution.cpp # 解决方案实现Tiling 计算、解决方案注册 │ │ ├── add_kernel.cpp # Kernel 端实现 │ │ ├── arch35/ # 架构特定代码可选 │ │ │ └── add_struct.h # 数据结构定义也可定义在 .cpp 中 │ │ ├── tests/ # 算子测试 │ │ │ ├── add_test.h │ │ │ └── add_test.cpp │ │ └── CMakeLists.txt │ ├── ... # 其他算子 │ └── CMakeLists.txt ├── tests/ # 测试框架 │ ├── test_common.h # 测试框架头文件 │ ├── test_common.cpp # 测试框架实现 │ ├── test_elementwise.cpp # 元素算子测试辅助 │ ├── all_tests.cpp.in # 测试入口模板 │ └── CMakeLists.txt ├── build.sh # 编译脚本 ├── install_deps.sh # 依赖安装脚本 ├── CMakeLists.txt # 主 CMake 配置 ├── version.cmake # CMake 版本配置 ├── version.info # 版本信息 └── README.md # 本文件说明仓库代码按角色分为三类框架代码lib/- 算子运行框架编译产物提供句柄、执行计划、算子/张量描述符、参数验证、解决方案注册等基础设施所有算子链接依赖公共模块详见上文「公共模块」小节include/tensor_api/- 底层 Tensor 抽象header-onlyinclude/blaze/- 矩阵乘相关算子的高性能加速引擎header-only详见include/blaze/README.md算子目录src/op/op_solution.cpp- 解决方案实现Tiling 计算、内存管理、解决方案注册op_kernel.cpp- Kernel 核函数实现arch35/op_struct.h- Tiling 数据结构可选也可定义在 solution.cpp 中arch35/目录是可选的仅在需要区分不同 SOC 架构时使用tests/目录强烈推荐但不是必需的️ 开发指南添加新算子详细的算子开发指南请参考 算子开发指南包括完整的目录结构说明解决方案实现模板Tiling 数据结构定义解决方案注册机制完整开发流程快速开始创建目录mkdir -p src/my_op/arch35 (可选) mkdir -p src/my_op/tests编写算子实现创建src/my_op/my_op_solution.cpp和src/my_op/my_op_kernel.cpp包含解决方案部分Tiling 计算、内存管理、解决方案注册Kernel 部分核函数实现创建 CMakeLists.txtregister_operator(NAME my_op ARCH_DIR arch35)编写测试推荐 参考 测试编写指南编译验证./build.sh --opsmy_op --run完整示例参考src/add/目录。编写测试ops-tensor 提供了轻量级、自动化的测试框架。详细的测试编写指南请参考 测试编写指南包括测试框架特性测试文件结构核心宏和函数说明完整编写步骤和示例最佳实践和常见问题 相关信息许可证: CANN Open Software License Agreement Version 2.0安全声明: SECURITY.md贡献指南: CONTRIBUTING.md所属 SIG: CANN Community 联系我们本项目功能和文档正在持续更新和完善中欢迎您关注最新版本。问题反馈: 通过 Issues 提交问题社区互动: 通过 Discussions 参与交流技术专栏: 通过 Wiki 获取技术文章【免费下载链接】ops-tensorops-tensor 是 CANN Compute Architecture for Neural Networks算子库中提供张量类计算的基础算子库采用模块化设计支持灵活的算子开发和管理。项目地址: https://gitcode.com/cann/ops-tensor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考