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

CANN/asc-devkit量化缓冲区因子API

GetQuantizeTmpBufferFactorSize

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

功能说明

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

推算示例如下:

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

    currentShapeSize = (currBuff - extraBuf) / maxLiveNodeCount / typeSize

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

    currentShapeSize1 = (currBuff - extraBuf1) / maxLiveNodeCount1 / typeSize

    currentShapeSize2 = (currBuff - extraBuf2) / maxLiveNodeCount2 / typeSize

    currentShapeSize = min(currentShapeSize1, currentShapeSize2)

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

函数原型

void GetQuantizeTmpBufferFactorSize(uint32_t& maxLiveNodeCount, uint32_t& extraBuf)

参数说明

表1参数列表

参数名输入/输出功能
maxLiveNodeCount输出最大存活节点数,表示临时空间是单次计算数据量所占空间的多少倍。
extraBuf输出使用的额外临时空间大小,单位为字节。

返回值说明

约束说明

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

调用示例

uint32_t maxLiveNodeCount = 0; uint32_t extraBuf = 0; AscendC::GetQuantizeTmpBufferFactorSize(maxLiveNodeCount, extraBuf);

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

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

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

相关文章:

  • 3步终极方案:让经典暗黑破坏神2在现代PC上焕发新生的开源项目
  • 2026年7月全国所在区域筛选清单|查询JBL音响服务网点先确认城市门店数量|39家门店资料及城市筛选方法|便携音频与输入方式 - 专业售后笔记本
  • 广州全城11区覆盖!名表回收支持免费上门鉴定:百达翡丽/劳力士/浪琴当场结款流程详解 - 全国奢侈品回收测评
  • 丰田赛那全车音响怎么升级?中山永丰FREUDE弗莱德方案案例观察
  • 嘉兴AI搜索优化服务商2026权威评测:避坑选型与杭州爱搜索深度解析 - 品牌报告
  • Agent-S终极指南:首个超越人类表现的AI智能体框架如何改变你的工作方式
  • 江诗丹顿中国官方售后服务中心|服务电话及24小时详细地址权威信息声明(2026年7月更新) - 江诗丹顿服务中心
  • 百度网盘极速下载终极指南:免费突破限速的智能解决方案
  • 3分钟免费解锁城通网盘极速下载:开源解析工具完全指南
  • 如何用we-mp-rss打造专属的微信公众号信息聚合系统:3大核心场景解决方案
  • SadTalker深度解析:音频驱动单图人脸动画的架构部署与性能优化实战指南
  • Vue3中组件间通信详解
  • 5分钟打造个人AI助手:Open WebUI本地部署完全指南
  • 运维还在背命令?这款Flutter利器,手机也能管服务器,全平台免费开源!
  • 武汉百达翡丽全国资质核验售后网点|权威归纳官网认证维保渠道(2026年7月最新) - 百达翡丽售后服务官网
  • 2026年更新版uv平板打印机推荐榜单分品类整理参考 - 奔跑123
  • HS2-HF Patch终极指南:三分钟完成Honey Select 2汉化与功能增强
  • 如何用3Blue1Brown数学动画库将抽象数学变成视觉盛宴:10年开源代码库终极指南
  • 跨平台部署实战:OpenCV完整安装与优化指南
  • d2s-editor终极指南:可视化暗黑破坏神2存档编辑器的完整解决方案
  • CANN/asc-devkit bfloat16乘加ReLU函数
  • 卡地亚中国官方售后服务中心|官方热线和门店地址权威信息公告(2026年7月最新) - 卡地亚服务中心
  • 如何快速上手Shipper:5分钟实现Kubernetes多集群部署自动化
  • 免费Chrome视频下载插件终极指南:轻松保存网络视频的完整教程
  • 15分钟搞定第三方API集成:低代码平台可视化配置全攻略
  • 昆山创业没有办公场地,怎么合法注册公司? - 栈边笔记
  • 长春新媒体运营推广:怎么选服务商才不踩坑 - 中国品牌价值观察网
  • 自动驾驶岗位真相:数据闭环与车规落地的五层能力穿透
  • CentOS 7 部署 node_exporter 实战:结合 cpolar 实现无公网 IP 的 Prometheus 远程监控
  • PDF补丁丁:如何用三步配置法解决PDF字体显示难题?