尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

CANN/Ascend C量化缓冲区因子API

CANN/Ascend C量化缓冲区因子API
📅 发布时间:2026/7/17 12:09:35

GetAscendAntiQuantTmpBufferFactorSize

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

功能说明

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

推算示例如下:

  • 算子实现需要调用AscendAntiQuant接口,开发者为其预留currBuff大小的空间,利用GetAscendAntiQuantTmpBufferFactorSize接口得到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 GetAscendAntiQuantTmpBufferFactorSize(const ge::Shape& srcShape, const ge::Shape& scaleShape, bool isTranspose, ge::DataType inputDataType, ge::DataType outputDataType, uint32_t& maxLiveNodeCount, uint32_t& extraBuf)

参数说明

表1参数列表

参数名输入/输出功能
srcShape输入输入srcTensor的shape信息。
scaleShape输入输入scale的shape信息。
isTranspose输入是否转置。
inputDataType输入输入数据类型。ge::DataType类型。
outputDataType输入输出数据类型。ge::DataType类型。
maxLiveNodeCount输出最大存活节点数,表示临时空间是单次计算数据量所占空间的多少倍。
extraBuf输出使用的额外临时空间大小,单位为字节。

返回值说明

无

约束说明

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

调用示例

std::vector<int64_t> srcDims = {64, 512}; auto srcShape = ge::Shape(srcDims); std::vector<int64_t> scaleDims = {1, 512}; auto scaleShape = ge::Shape(scaleDims); bool isTranspose = false; uint32_t maxLiveNodeCount = 0; uint32_t extraBuf = 0; AscendC::GetAscendAntiQuantTmpBufferFactorSize( srcShape, scaleShape, isTranspose, ge::DT_INT8, ge::DT_BF16, maxLiveNodeCount, extraBuf);

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

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

相关新闻

  • 5分钟快速上手:微信公众号爬虫工具完整使用指南
  • 如何永久保存你的数字记忆?WeChatMsg年度报告生成器完整指南
  • 积家佛山区官方维修中心|权威公示维保地址及客服热线(2026年7月最新) - 积家中国服务中心

最新新闻

  • 终极Zotero Style插件:打造个性化文献管理体验的完整指南
  • 收藏!小白程序员必看:AI大模型如何重塑未来就业市场与专业选择?
  • GDB调试多线程死锁:原理与实战指南
  • 2026年深圳劳动纠纷维权全攻略:选对律师是关键 - 本地品牌推荐
  • 如何高效使用Palworld存档转换工具:5个实战技巧深度解析
  • 西安劳力士回收价格查询和各大平台实测排行(2026年7月最新) - 天价名表回收平台

日新闻

  • 佛山青少年训练营推荐:军博营地实力顶尖 - 秋山寄远
  • 如何快速上手PvZ2 Gardendless:免费Web版植物大战僵尸2完整指南
  • jiuwen-deepsearch核心功能详解:规划-检索-反思三合一智能工作流

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号