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

CANN/asc-devkit Digamma临时缓冲区因子大小接口

GetDigammaTmpBufferFactorSize

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

功能说明

kernel侧Digamma接口的计算需要开发者预留/申请临时空间,最大临时空间(maxTmpBuffer)和输入所占空间(inputSize * typeSize)存在以下关系:

maxTmpBuffer = maxLiveNodeCount * inputSize * typeSize + extraBuffer

其中maxLiveNodeCount表示最大临时空间是输入所占空间的多少倍;extraBuffer表示使用的额外临时空间大小。

该接口用于获取maxLiveNodeCount和extraBuffer,在固定空间大小的情况下,通过maxLiveNodeCount和extraBuffer可以推算算子单次最大计算元素数量;另外,接口获取的maxLiveNodeCount值可能为0,计算时需要判断该值非0,避免除零错误。

示例如下:

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

currentShapeSize = (currBuff - extraBuffer) / maxLiveNodeCount / typeSize

函数原型

void GetDigammaTmpBufferFactorSize(const uint32_t typeSize, uint32_t& maxLiveNodeCount, uint32_t& extraBuffer)

参数说明

表1参数列表

参数名输入/输出功能
typeSize输入输入的数据类型大小,单位为字节。比如输入的数据类型为half,此处应传入2。
maxLiveNodeCount输出最大存活节点数,最大临时空间是输入所占空间的多少倍。
extraBuffer输出使用的额外临时空间大小,单位为字节。

返回值说明

约束说明

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

调用示例

// 获取输入类型为half的digamma操作的maxLiveNodeCount和extraBuffer uint32_t typeSize = sizeof(half); uint32_t maxLiveNodeCount = 0; uint32_t extraBuffer = 0; AscendC::GetDigammaTmpBufferFactorSize(typeSize, maxLiveNodeCount, extraBuffer);

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

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

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

相关文章:

  • ChatGPT镜像站安全使用指南:原理、风险识别与实战技巧
  • ArcGIS填补修复DEM数据缺失值
  • 5分钟掌握StreamFX:OBS专业特效插件的终极指南
  • 电脑录屏快捷键失效的排查与解决方案
  • HidHide终极指南:如何实现Windows游戏设备精准控制
  • StoryDiffusion如何解决长序列图像生成的角色一致性问题?
  • dnSpyEx实战指南:5大场景高效解决.NET程序调试与逆向难题
  • 开封名胜古迹旅游网站的设计与实现ssm
  • PDFMathTranslate:3分钟搞定学术文献双语翻译的终极利器
  • 2026年多能互补微电网企业案例盘点及挑选攻略:万帮数字能源等企业可圈可点 - 每天一杯纯牛奶
  • 如何高效实现AMD显卡CUDA兼容:5种实用迁移方案与性能优化指南
  • 15分钟零代码集成高德地图:Dify工作流让AI应用拥有地理智能
  • Windows 10系统清理终极指南:用免费工具快速恢复电脑性能
  • 江诗丹顿中国官方专柜热线权威信息通知(2026年7月最新) - 江诗丹顿官方服务中心
  • 如何快速上手SwiftUI-2048:从零开始的游戏开发教程
  • Ascend C SIMT API laneid函数
  • 2026云南定制旅行怎么选?5个评判标准+1项实测评估 - 老金2026
  • 第8讲:裸机单片机项目——Vibe快速迭代的最优边界
  • PDF补丁丁:三步解决PDF字体显示难题,让文档跨平台完美呈现
  • 欧米茄官方售后服务中心电话和热线实地考察报告+多信源验证(2026年7月最新) - 欧米茄服务中心
  • 无人机成像光谱仪技术解析与应用实战
  • TRADFRI-Hacking工具链配置:从J-Link到OpenOCD的完整设置教程
  • Obsidian新手必备:OB_Template书籍笔记模板完整指南
  • CANN/asc-devkit Where缓冲区因子接口
  • NVFP4量化技术深度解析:Nemotron-3-Embed性能提升秘诀
  • 2026佛山防水修缮,卫生间渗水到楼下怎么办?本地甄选TOP榜推荐公司 - 防水全知
  • 天津万国回收价格查询及靠谱平台实测排行(2026年7月最新) - 诚收名表回收平台
  • HiMarket MCP Server集成教程:将外部API转换为标准MCP服务
  • 如何用happy-lager快速搭建企业级网站?Craft CMS模板开发终极指南
  • Reloaded II加载器卡顿问题深度解析:5步彻底解决Shared Scans卡死难题