news 2026/5/9 13:21:31

CANN/atvc AclNNInvocationNaive工程样例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/atvc AclNNInvocationNaive工程样例

AclNNInvocationNaive工程样例

【免费下载链接】atvcATVC(Ascend C Templates for Vector Compute),是为基于Ascend C开发的典型Vector算子封装的一系列模板头文件的集合,可帮助用户快速开发典型Vector算子。项目地址: https://gitcode.com/cann/atvc

概述

本样例相比于AclNNInvocation样例工程,简化了工程配置。

目录结构介绍

├── AclNNInvocationNaive │ ├── CMakeLists.txt // 编译规则文件 │ ├── main.cpp // 单算子调用应用的入口 │ └── run.sh // 编译运行算子的脚本

代码实现介绍

完成自定义算子的开发部署后,可以通过单算子调用的方式来验证单算子的功能。main.cpp代码为单算子API执行方式。单算子API执行是基于C语言的API执行算子,无需提供单算子描述文件进行离线模型的转换,直接调用单算子API接口。

自定义算子编译部署后,会自动生成单算子API,可以直接在应用程序中调用。算子API的形式一般定义为“两段式接口”,形如:

// 获取算子使用的workspace空间大小 aclnnStatus aclnnReduceSumCustomGetWorkspaceSize(const aclTensor *x, const aclIntArrat *dim, const aclTensor *out, uint64_t *workspaceSize, aclOpExecutor **executor); // 执行算子 aclnnStatus aclnnReduceSumCustom(void *workspace, int64_t workspaceSize, aclOpExecutor *executor, aclrtStream stream);

其中aclnnReduceSumCustomGetWorkspaceSize为第一段接口,主要用于计算本次API调用计算过程中需要多少的workspace内存。获取到本次API计算需要的workspace大小之后,开发者按照workspaceSize大小申请Device侧内存,然后调用第二段接口aclnnReduceSumCustom执行计算。具体参考单算子API调用章节。

运行样例算子

1. 编译算子工程

运行此样例前,请参考编译算子工程完成前期准备。

2. aclnn调用样例运行

  • 进入到样例目录
    以命令行方式下载样例代码,master分支为例。

    cd atvc/examples/ops_aclnn/reduce_sum/AclNNInvocationNaive
  • 样例编译文件修改

    将CMakeLists.txt文件内"/usr/local/Ascend/ascend-toolkit/latest"替换为CANN软件包安装后的实际路径。
    eg:/home/HwHiAiUser/Ascend/ascend-toolkit/latest

  • 样例执行

    用户参考run.sh脚本进行编译与运行。

    bash run.sh

【免费下载链接】atvcATVC(Ascend C Templates for Vector Compute),是为基于Ascend C开发的典型Vector算子封装的一系列模板头文件的集合,可帮助用户快速开发典型Vector算子。项目地址: https://gitcode.com/cann/atvc

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

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

大模型训练与数据

大模型研发本质是高投入、高不确定性、强理论依赖、长周期迭代的系统工程,必须靠实验室研究员的组合才能突破;其研发路径呈现先底座、后对齐、再工程化、持续迭代的强阶段性与规模化特征。一、为什么必须建实验室、用研究员? 1. 技术本质&…

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

CANN/ops-blas批量复数矩阵向量乘法

CgemvBatched算子实现 【免费下载链接】ops-blas 本项目是CANN提供的高性能线性代数计算以及轻量化GEMM调用算子库。 项目地址: https://gitcode.com/cann/ops-blas 概述 BLAS CgemvBatched算子实现。 CgemvBatched(批量复数矩阵-向量乘法)算子实现了批量复数矩阵与向…

作者头像 李华
网站建设 2026/5/9 13:16:30

通过用量看板观察不同模型API调用的成本与延迟表现

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过用量看板观察不同模型API调用的成本与延迟表现 对于使用多个大模型API的开发者而言,清晰、可量化的调用数据是进行…

作者头像 李华
网站建设 2026/5/9 13:12:30

Figma中文界面终极指南:3分钟让英文设计工具秒变中文

Figma中文界面终极指南:3分钟让英文设计工具秒变中文 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而苦恼吗?FigmaCN是一款专为中文用户…

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

ZooKeeper 未授权访问漏洞:你做的 ACL 加固可能只是“假动作”

在日常安全加固中,经常会收到基础架构或安全部门的反馈:ZooKeeper 存在未授权访问漏洞。很多同学拿到需求后的第一反应是“加个 ACL 就好了”,于是动手操作一轮:添加超级用户、给某个节点设置 IP 白名单、然后觉得超级用户碍事把它…

作者头像 李华