news 2026/5/9 12:26:34

CANN/asc-devkit AllocTensor API

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/asc-devkit AllocTensor API

AllocTensor

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

产品支持情况

产品

是否支持

Atlas A3 训练系列产品 / Atlas A3 推理系列产品

Atlas A2 训练系列产品 / Atlas A2 推理系列产品

功能说明

从Que中分配Tensor,Tensor所占大小为InitBuffer时设置的每块内存长度。

函数原型

  • non-inplace接口:构造新的Tensor作为内存管理的对象

    template <typename T> __aicore__ inline LocalTensor<T> AllocTensor()
  • inplace接口:直接使用传入的Tensor作为内存管理的对象,可以减少Tensor反复创建的开销。

    template <typename T> __aicore__ inline void AllocTensor(LocalTensor<T>& tensor)

参数说明

表 1模板参数说明

参数名

说明

T

Tensor的数据类型。

表 2参数说明

参数名称

输入/输出

含义

tensor

输入

inplace接口需要传入LocalTensor作为内存管理的对象。

约束说明

  • non-inplace接口分配的Tensor内容可能包含随机值。
  • non-inplace接口,需要将TQueBind的depth模板参数设置为非零值;inplace接口,需要将TQueBind的depth模板参数设置为0。

返回值说明

non-inplace接口返回值为LocalTensor对象,inplace接口没有返回值。

调用示例

  • non-inplace接口

    AscendC::TPipe pipe; AscendC::TQueBind<AscendC::TPosition::VECOUT, AscendC::TPosition::GM, 2> que; int num = 4; int len = 1024; pipe.InitBuffer(que, num, len); // InitBuffer分配内存块数为4,每块大小为1024Bytes AscendC::LocalTensor<half> tensor1 = que.AllocTensor<half>(); // AllocTensor分配Tensor长度为1024Bytes
  • inplace接口

    AscendC::TPipe pipe; AscendC::TQueBind<AscendC::TPosition::VECOUT, AscendC::TPosition::GM, 0> que; int num = 2; int len = 1024; pipe.InitBuffer(que, num, len); // InitBuffer分配内存块数为2,每块大小为1024Bytes AscendC::LocalTensor<half> tensor1; que.AllocTensor<half>(tensor1); // AllocTensor分配Tensor长度为1024Bytes

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

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

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

长期使用Taotoken服务在API延迟与稳定性方面的实际感受分享

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用Taotoken服务在API延迟与稳定性方面的实际感受分享 在持续数月的项目开发中&#xff0c;我们团队将多个AI应用的后端服务统…

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

CANN运行时资源限制内核加载示例

1_launch_kernel_with_reslimit 【免费下载链接】runtime 本项目提供CANN运行时组件和维测功能组件。 项目地址: https://gitcode.com/cann/runtime 描述 本样例展示了在设置了当前进程的Device资源限制下&#xff0c;Add算子的加载与执行。 产品支持情况 本样例在以…

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

cann/driver:DCMI设备组件列表API

dcmi_get_device_component_list 【免费下载链接】driver 本项目是CANN提供的驱动模块&#xff0c;实现基础驱动和资源管理及调度等功能&#xff0c;使能昇腾芯片。 项目地址: https://gitcode.com/cann/driver 函数原型 int dcmi_get_device_component_list(int card_…

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

ECU-TEST 测试报告自动上传(含代码实现)

这是 ECU-TEST 中 test.guide 报告上传的配置界面,下面我会从功能说明、配置步骤、API / 代码实现三个维度,给你讲清楚完整实现方法。 一、界面功能解读 这是 test.guide reports 的全局配置页,核心功能是: 自动上传报告(Upload reports automatically to default serve…

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

Graph-autofusion super_kernel极简示例

super_kernel极简sample 【免费下载链接】graph-autofusion Graph-autofusion 是一个面向昇腾&#xff08;Ascend&#xff09;芯片的轻量级、解耦式组件集合&#xff0c;旨在通过自动融合技术加速模型执行。 目前已开源 SuperKernel 组件&#xff0c;未来将持续开放更多自动融合…

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

CANN算子库GeGlu函数文档

aclnnGeGlu 【免费下载链接】ops-nn 本项目是CANN提供的神经网络类计算算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-nn &#x1f4c4; 查看源码 产品支持情况 产品是否支持 Ascend 950PR/Ascend 950DT √ Atlas A3 训练系列…

作者头像 李华