CANN/asc-devkit TPipe内存初始化 InitBuffer【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品AI Core支持Atlas 推理系列产品Vector Core不支持Atlas 训练系列产品支持Kirin X90支持Kirin 9030支持功能说明头文件路径为basic_api/kernel_tpipe.h。用于为TQue等队列和TBuf分配内存。函数原型为TQue等队列分配内存template class T __aicore__ inline bool InitBuffer(T que, uint8_t num, uint32_t len) // 为TQue等队列分配内存且开发者可以自定义内存的地址信息地址信息包含起始地址和长度。 template class T, class U, class V, class... Addrs __aicore__ inline bool InitBuffer(T que, const Std::tupleU, V addr0, const Addrs... addrs)为TBuf分配内存template TPosition bufPos __aicore__ inline bool InitBuffer(TBufbufPos buf, uint32_t len)参数说明表1为TQue等队列分配内存的函数原型-模板参数说明参数名称含义T队列的类型支持取值TQue、TQueBind、TSCM。表2为TQue等队列分配内存的函数原型-接口参数说明参数名称输入/输出含义que输入需要分配内存的TQue等对象。num输入分配内存块的个数。double buffer功能通过该参数开启num设置为1表示不开启double buffernum设置为2表示开启double buffer。len输入每个内存块的大小单位为字节。当传入的len不满足32字节对齐时API内部会自动向上补齐至32字节对齐后续的数据搬运过程会涉及非对齐处理。表3自定义地址为TQue等队列分配内存的函数原型-模板参数说明参数名称含义T队列的类型支持取值TQue、TQueBind。U起始地址的类型。类型为整型。V长度的类型。类型为整型。Addrs...tuple形式的地址信息包含起始地址和长度。表4自定义地址为TQue等队列分配内存的函数原型-接口参数说明参数名称输入/输出含义que输入需要分配内存的TQue等对象。addr0输入分配内存块的地址信息结构为起始地址和长度。addrs输入格式为tuple的地址信息列表tuple内的元素个数须为2即起始地址和长度。表5为TBuf分配内存的函数原型-模板参数说明参数名称含义bufPosTBuf所在的逻辑位置TPosition类型。表6为TBuf分配内存的函数原型-接口参数说明参数名称输入/输出含义buf输入需要分配内存的TBuf对象。len输入为TBuf分配的内存大小单位为字节。当传入的len不满足32字节对齐时API内部会自动向上补齐至32字节对齐后续的数据搬运过程会涉及非对齐处理。约束说明InitBuffer申请的内存会在TPipe对象销毁时通过析构函数自动释放无需手动释放。如果需要重新分配InitBuffer申请的内存可以调用Reset再调用InitBuffer接口。一个kernel中所有使用的Buffer数量之和不能超过64。自定义地址InitBuffer方式分配不建议与不指定地址的混用可能会导致内存冲突。针对Ascend 950PR/Ascend 950DT对UB的内存分配会基于静态内存的基础上进行分配即动态内存初始位置参考内存层级。当前暂不支持与L1 Buffer, L0A Buffer, L0B Buffer, L0C Buffer, BiasTable静态数组混用。返回值说明返回Buffer初始化的结果。调用示例// 为TQue分配内存分配内存块数为2每块大小为128字节 AscendC::TPipe pipe; // Pipe内存管理对象 AscendC::TQueAscendC::TPosition::VECOUT, 2 que; // 输出数据队列管理对象TPosition为VECOUT uint8_t num 2; uint32_t len 128; pipe.InitBuffer(que, num, len); // 为TQue分配内存开发者自定义内存的地址信息分别为[0, 1024], [2048, 4096], [8192, 12288] AscendC::TPipe pipe; // Pipe内存管理对象 AscendC::TQueAscendC::TPosition::VECOUT, 1 que; // 输出数据队列管理对象TPosition为VECOUT auto addr0 Std::make_tuple(0, 1024); auto addr1 Std::make_tuple(2048, 2048); auto addr2 Std::make_tuple(8192, 4096); pipe.InitBuffer(que, addr0, addr1, addr2); // 为TBuf分配内存分配长度为128字节 AscendC::TPipe pipe; AscendC::TBufAscendC::TPosition::A1 buf; // 输出数据管理对象TPosition为A1 uint32_t len 128; pipe.InitBuffer(buf, len);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

Beyond Compare 5密钥生成器:3分钟解锁专业版完整功能

Beyond Compare 5密钥生成器:3分钟解锁专业版完整功能

Beyond Compare 5密钥生成器:3分钟解锁专业版完整功能 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 还在为Beyond Compare 5的30天评估期到期而烦恼吗?今天我要分享一个…

2026/7/17 11:53:17
如何用Zotero Style插件打造个性化文献管理体验:7个实用技巧提升阅读效率

如何用Zotero Style插件打造个性化文献管理体验:7个实用技巧提升阅读效率

如何用Zotero Style插件打造个性化文献管理体验:7个实用技巧提升阅读效率 【免费下载链接】zotero-style Ethereal Style for Zotero 项目地址: https://gitcode.com/GitHub_Trending/zo/zotero-style 你是否曾在海量文献中迷失方向?是否觉得Zote…

2026/7/17 11:53:17
C语言printf格式化输出控制符详解与应用

C语言printf格式化输出控制符详解与应用

1. C语言输出控制符基础概念在C语言编程中,输出控制符是格式化输出的核心工具,它们决定了数据在终端或文件中的显示方式。printf()函数作为C标准库中最常用的输出函数,其强大之处就在于能够通过格式控制字符串精确控制输出格式。初学者常犯的…

2026/7/17 11:53:17
CANN/asc-devkit HCCL使用说明

CANN/asc-devkit HCCL使用说明

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

2026/7/17 11:53:17
3步掌握城通网盘直连解析:告别慢速下载的完整方案

3步掌握城通网盘直连解析:告别慢速下载的完整方案

3步掌握城通网盘直连解析:告别慢速下载的完整方案 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘的蜗牛下载速度而烦恼吗?ctfileGet城通网盘解析工具正是为你解决…

2026/7/17 11:53:17
基于SpringBoot+thymeleaf实现的大学生自习室座位预定系统

基于SpringBoot+thymeleaf实现的大学生自习室座位预定系统

系统介绍基于SpringBootthymeleaf实现的大学生自习室座位预定系统是为座位管理打造的一款在线管理平台,它可以实时完成信息处理,使其系统化和规范化。系统功能说明管理员1、用户管理管理员可以新增、删除管理员管理员可以删除学生2、自习室管理管理员可以…

2026/7/17 11:48:17

月新闻