当前位置: 首页 > news >正文

CANN/asc-devkit:获取按位非临时缓冲区因子大小接口文档

GetBitwiseNotTmpBufferFactorSize

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

功能说明

该接口用于获取maxLivedNodeCount和extraBuf,在固定空间大小的情况下,通过maxLivedNodeCount和extraBuf可以推算算子单次最大计算元素数量。maxLivedNodeCount表示临时空间是单次计算数据量所占空间的多少倍;extraBuf表示使用的额外临时空间大小。

推算示例如下:

  • 算子实现需要调用BitwiseNot接口,开发者为其预留currBuff大小的空间,利用GetBitwiseNotTmpBufferFactorSize接口得到maxLivedNodeCount、extraBuf输出值,可推导算子单次最大计算元素数量为:

    currentShapeSize = (currBuff - extraBuf) / maxLivedNodeCount / typeSize

  • 算子实现需要调用两个kernel侧API KernelIntf1、KernelIntf2,利用两个GetXxxTmpBufferFactorSize(其中Xxx为需要调用的两个高阶API)接口的两组输出值(maxLivedNodeCount、extraBuf)以及当前现有的临时空间,推导单次最大计算元素数量currentShapeSize为:

    currentShapeSize1 = (currBuff - extraBuf1) / maxLivedNodeCount1 / typeSize

    currentShapeSize2 = (currBuff - extraBuf2) / maxLivedNodeCount2 / typeSize

    currentShapeSize = min(currentShapeSize1, currentShapeSize2)

注意上文中的currBuff表示接口计算可用的空间,需要去除用户输入输出等空间;另外,接口获取的maxLivedNodeCount值可能为0,计算时需要判断该值非0,避免除零错误。

函数原型

void GetBitwiseNotTmpBufferFactorSize(const platform_ascendc::PlatformAscendC& ascendcPlatform,const uint32_t typeSize, uint32_t& maxLivedNodeCount, uint32_t& extraBuf)

参数说明

表 1参数列表

参数名

输入/输出

功能

ascendcPlatform

输入

输入的平台信息。PlatformAscendC的定义请参见构造及析构函数。

typeSize

输入

输入的数据类型大小,单位为字节。

maxLivedNodeCount

输出

最大存活节点数,表示临时空间是单次计算数据量所占空间的多少倍。

extraBuf

输出

使用的额外临时空间大小,单位为字节。

返回值说明

约束说明

当利用maxLivedNodeCount、extraBuf反推出的currentShapeSize * typeSize < 256B时,currentShapeSize按照256B/typeSize的值向上取整。

调用示例

完整的调用样例请参考更多样例。

uint32_t maxLivedNodeCount = 0; uint32_t extraBuf = 0; auto plat = platform_ascendc::PlatformAscendC(context->GetPlatformInfo()); AscendC::GetBitwiseNotTmpBufferFactorSize(plat, typeSize, maxLivedNodeCount, extraBuf);

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

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

http://www.jsqmd.com/news/853121/

相关文章:

  • CAPL编程从入门到精通:车载网络自动化测试与仿真实战指南
  • 2026 年 5 月西安成人高考机构实测|无隐形消费优选 - 讲清楚了
  • 在Windows电脑上安装安卓APK文件的终极指南:告别臃肿模拟器
  • B站直播弹幕姬:三分钟打造智能互动直播间
  • 5分钟完成Obsidian插件汉化:i18n工具让你的英文界面秒变中文
  • 如何快速掌握SECS/GEM协议:面向初学者的完整实战指南
  • WordPress如何建站 WordPress建站公司服务费用大概多少 - 麦麦唛
  • CANN/asc-devkit逻辑或运算接口
  • VcXsrv:Windows平台终极跨平台GUI解决方案深度解析
  • 规则是如何穿上“真理”外衣_1.1公开规则 vs. 水下规则
  • 2026年的软硬两用不塌陷专业床垫,究竟好在哪?
  • 树莓派TFT LCD屏幕连接全攻略:从SPI到DPI的选型与驱动配置
  • 2026结合自动化设备数据采集系统,稼动率采集的解决方案有哪些 - 品牌企业智选官
  • 全域数理统一理论合集文档
  • 昇腾C LogicalXor临时空间大小获取
  • 3分钟掌握Blender四边形重拓扑:QRemeshify终极简单指南
  • LAV Filters终极配置指南:开源媒体解码器的专业级优化方案
  • 在Windows Hyper-V上运行macOS虚拟机的完整指南
  • WordPress建站有什么用 价格实惠WordPress建站服务商推荐 - 麦麦唛
  • SSH 本地端口转发 LocalForward 绑定 127.0.0.1 失败怎么回事?
  • 全域数学公理:基于32维超复数与易经卦爻的宇宙大一统理论
  • applera1n终极指南:免费绕过iOS 15-16激活锁的简单方法
  • 什么是备忘录模式?一文详解
  • 2027中西医结合内科学网课红黑榜:在职医生深度测评 - 医考机构品牌测评专家
  • 2026年不同预算的专业床垫该怎么选?原来有这些门道!
  • 如何在Windows上打造流畅的B站观看体验:BiliBili-UWP完整指南
  • 机械装备制造生产智能化?2026AI方案主流厂商横评详解:2026年工业智能体选型指南
  • 光合仪/光合作用测定仪/便携式光合仪供应商哪家好?精选优质品牌供您选择 - 品牌推荐大师
  • TongWeb应用移植说明
  • 终极指南:如何用PoeCharm中文版打造《流放之路》完美角色构建