news 2026/5/9 18:49:33

CANN/ops-tensor项目目录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/ops-tensor项目目录

项目目录

【免费下载链接】ops-tensorops-tensor 是 CANN (Compute Architecture for Neural Networks)算子库中提供张量类计算的基础算子库,采用模块化设计,支持灵活的算子开发和管理。项目地址: https://gitcode.com/cann/ops-tensor

本章罗列的部分目录是可选的,请以实际交付件为准。尤其单算子目录,不同场景下交付件有差异。

项目全量目录层级介绍如下:

├── cmake # 项目工程编译目录 │ ├── func.cmake # 公共函数 │ ├── init_env.cmake # 环境初始化 │ ├── makeself_built_in.cmake # makeself内置配置 │ ├── package.cmake # 打包配置 │ ├── variables.cmake # 变量定义 │ └── third_party # 第三方依赖配置 │ └── makeself-fetch.cmake # makeself获取脚本 ├── docs # 项目相关文档目录 │ ├── README.md # 文档目录索引 │ ├── implementation.md # 实现说明文档 │ └── zh # 中文文档目录 │ ├── op_list.md # 算子列表 │ ├── context # 公共文档目录 │ ├── invocation # 算子调用文档目录 │ ├── develop # 算子开发文档目录 │ └── debug # 调试调优文档目录 ├── include # 头文件目录 │ ├── cann_ops_tensor.h # API头文件 │ └── cann_ops_tensor_types.h # 类型定义头文件 ├── lib # 框架代码目录 │ ├── CMakeLists.txt # 库编译配置 │ ├── 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 # 二元逐元素运算 │ └── utils # 工具模块 │ ├── type_utils.hpp # 类型工具 │ ├── utils.cpp # 通用工具函数 │ ├── validation.cpp/hpp # 参数验证 ├── scripts # 脚本目录,包含自定义算子、Kernel构建相关配置文件 │ ├── check_build_dependencies.py # 构建依赖检查脚本 │ ├── generate_version_info.py # 版本信息生成脚本 │ └── package # 打包相关脚本 │ ├── common # 公共打包脚本 │ ├── latest_manager # 版本管理 │ ├── module # 模块化打包 │ ├── package.py # 打包Python脚本 │ └── ops_tensor/ # ops_tensor打包配置 │ ├── ops_tensor.xml # 打包配置文件 │ └── scripts/ # 安装/卸载脚本 ├── src # 源码目录 │ ├── CMakeLists.txt # 算子编译入口 │ ├── add # add算子目录 │ │ ├── CMakeLists.txt # 算子编译配置文件 │ │ ├── add_kernel.cpp # Kernel实现文件 │ │ ├── add_solution.cpp # Solution实现文件 │ │ ├── arch35 # Ascend950特有算子代码 │ │ └── tests # 算子测试用例目录 │ └── [其他算子目录...] # 其他算子遵循相同结构 ├── tests # 项目级测试目录 │ ├── CMakeLists.txt # 测试编译配置 │ ├── all_tests.cpp.in # 测试入口模板 │ ├── test_common.cpp/h # 测试公共代码 │ └── test_elementwise.cpp # 逐元素运算测试 ├── CMakeLists.txt # 项目工程cmakelist入口 ├── CHANGELOG.md # 变更日志 ├── CONTRIBUTING.md # 项目贡献指南文件 ├── LICENSE # 许可证文件 ├── OAT.xml # OAT测试配置 ├── QUICKSTART.md # 快速入门指南 ├── README.md # 项目工程总介绍文档 ├── SECURITY.md # 安全声明文件 ├── build.sh # 项目工程编译脚本 ├── install_deps.sh # 项目依赖安装脚本 ├── requirements.txt # Python依赖列表 ├── Third_Party_Open_Source_Software_List.yaml # 第三方开源软件列表 ├── Third_Party_Open_Source_Software_Notice # 第三方开源软件声明 ├── version.cmake # 版本信息(CMake格式) ├── version.info # 版本信息文件 ├── .clang-format # 代码风格配置 ├── .gitignore # Git忽略规则 └── classify_rule.yaml # 分类规则配置

目录说明

核心目录

目录/文件说明
src/算子源码目录,包含所有算子的实现代码
src/add/add算子目录,实现张量加法运算
lib/框架代码目录,提供核心基础功能
lib/core/核心功能模块,包含句柄、描述符、计划等
lib/elementwise/逐元素运算模块,提供基础元素级操作
lib/utils/工具模块,包含类型工具、验证等
include/API头文件目录
cmake/CMake编译配置文件

文档目录

目录/文件说明
docs/项目文档目录
docs/zh/中文文档目录
docs/zh/context/公共文档,如环境部署、目录介绍等
docs/zh/invocation/算子调用相关文档
docs/zh/develop/算子开发相关文档
docs/zh/debug/调试调优相关文档
docs/implementation.md实现说明文档

测试目录

目录/文件说明
tests/项目级测试目录
tests/test_common.cpp/h测试公共代码
src/*/tests/各算子测试用例目录

构建相关

目录/文件说明
build.sh项目编译脚本,支持多种编译选项
install_deps.sh项目依赖安装脚本
CMakeLists.txtCMake配置文件
version.info版本信息文件
version.cmake版本信息(CMake格式)

脚本目录

目录/文件说明
scripts/脚本目录
scripts/check_build_dependencies.py构建依赖检查脚本
scripts/generate_version_info.py版本信息生成脚本
scripts/package/打包相关脚本
scripts/package/package.py打包Python脚本

配置文件

文件说明
.clang-format代码风格配置
.gitignoreGit忽略规则
classify_rule.yaml分类规则配置
requirements.txtPython依赖列表
OAT.xmlOAT测试配置

算子目录结构

每个算子目录(如src/add/)的典型结构如下:

${op_name}/ # 算子名的小写下划线形式 ├── CMakeLists.txt # 算子编译配置文件 ├── ${op_name}_kernel.cpp # Kernel实现文件 ├── ${op_name}_solution.cpp # Solution实现文件 ├── arch35/ # Ascend950特有实现 │ └── ${op_name}_struct.h # 算子结构定义 └── tests/ # 测试用例目录 ├── ${op_name}_test.cpp # 算子测试用例 └── ${op_name}_test.h # 测试头文件

说明:不同算子的交付件可能有差异,请以实际目录为准。

框架目录结构

lib/目录包含框架层的基础功能模块,为所有算子提供统一的抽象接口和基础设施:

lib/ ├── CMakeLists.txt # 库编译配置 ├── 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 # 二元逐元素运算 └── utils/ # 工具模块 ├── type_utils.hpp # 类型工具 ├── utils.cpp # 通用工具函数 └── validation.cpp/hpp # 参数验证

核心功能模块说明

模块文件说明
句柄管理handle.cpp/hpp管理库的上下文句柄,维护全局状态
操作描述符operation_descriptor.cpp/hpp描述算子操作的参数和属性
计划管理plan.cpp/hpp管理算子执行计划,支持计划缓存
计划偏好plan_preference.cpp/hpp设置计划生成的偏好选项
张量描述符tensor_descriptor.cpp/hpp描述张量的形状、数据类型等属性
逐元素运算elementwise/提供通用的逐元素运算实现
工具函数utils/提供类型转换、参数验证等工具函数

【免费下载链接】ops-tensorops-tensor 是 CANN (Compute Architecture for Neural Networks)算子库中提供张量类计算的基础算子库,采用模块化设计,支持灵活的算子开发和管理。项目地址: https://gitcode.com/cann/ops-tensor

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 18:45:13

华为CANN/opbase OP_OUTSHAPE宏

OP_OUTSHAPE 【免费下载链接】opbase 本项目是CANN算子库的基础框架库,为算子提供公共依赖文件和基础调度能力。 项目地址: https://gitcode.com/cann/opbase 宏功能 针对需要计算结果来确定输出shape的算子,如NonZero算子,该宏用于存…

作者头像 李华
网站建设 2026/5/9 18:42:29

Oumuamua-7b-RP真实作品:基于‘贵族女仆’设定的料理指导+生活关怀对话

Oumuamua-7b-RP真实作品:基于贵族女仆设定的料理指导生活关怀对话 1. 项目介绍 Oumuamua-7b-RP 是一款专为日语角色扮演对话设计的Web界面应用,基于Mistral-7B大语言模型架构开发。它能够模拟各种角色进行自然流畅的对话,特别适合创建沉浸式…

作者头像 李华
网站建设 2026/5/9 18:38:42

生成式AI社会风险评估:从技术原理到治理框架的实践指南

1. 生成式AI的社会技术风险全景:从技术原理到现实挑战生成式AI,特别是以GPT系列、Claude等为代表的大语言模型,已经从一个前沿研究课题,迅速演变为重塑信息生产、分发与消费方式的核心技术。作为一名长期关注信息检索与内容系统演…

作者头像 李华
网站建设 2026/5/9 18:38:41

无需复杂SDK,使用curl命令直接测试Taotoken大模型API连通性

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 无需复杂SDK,使用curl命令直接测试Taotoken大模型API连通性 在接入大模型服务时,有时我们并不需要立即编写…

作者头像 李华
网站建设 2026/5/9 18:37:42

基于马尔可夫链的AI音乐生成:从原理到MRCV项目实践

1. 项目概述:当AI遇见五线谱 如果你对音乐创作感兴趣,但又觉得乐理知识、和声学或者乐器演奏的门槛太高,那么AI辅助作曲可能是一个有趣的切入点。我自己作为一个半路出家的音乐爱好者和程序员,很长一段时间都在寻找一种方式&#…

作者头像 李华