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

CANN/asc-devkit CeilDivision API

CeilDivision

【免费下载链接】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 训练系列产品:不支持

功能说明

计算两个整数num1和num2相除后向上取整结果。

函数原型

__aicore__ constexpr inline int32_t CeilDivision(int32_t num1, int32_t num2)

参数说明

表1参数说明

参数名描述
num1参数1,被除数。
num2参数2,除数。

返回值说明

两个整数相除的向上取整结果。

约束说明

  • 当num2为0时,结果为0。
  • 该接口仅支持在num1和num2为正数场景下使用。

调用示例

本示例中使用CeilDivision计算迭代次数repeatTimes,通过对数据量count与单次处理数据量进行向上取整除法,确保所有数据(包括尾块)均被完整处理。

template <typename T> __aicore__ inline void AddCustomImpl(__local_mem__ T *dst, __local_mem__ T *src0, __local_mem__ T *src1, uint32_t count) { AscendC::Reg::RegTensor<T> srcReg0; AscendC::Reg::RegTensor<T> srcReg1; AscendC::Reg::RegTensor<T> dstReg; AscendC::Reg::MaskReg mask; constexpr uint32_t oneRepeatSize = AscendC::GetVecLen() / sizeof(T); uint16_t repeatTime = AscendC::CeilDivision(count, oneRepeatSize); for (uint16_t i = 0; i < repeatTime; ++i) { mask = AscendC::Reg::UpdateMask<T>(count); AscendC::Reg::LoadAlign(srcReg0, src0 + i * oneRepeatSize ); AscendC::Reg::LoadAlign(srcReg1, src1 + i * oneRepeatSize ); AscendC::Reg::Add(dstReg, srcReg0, srcReg1, mask); AscendC::Reg::StoreAlign(dst + i * oneRepeatSize, dstReg, mask); } }

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

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

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

相关文章:

  • MCAL配置8_ICU模块配
  • 万国官方售后服务中心服务电话和维修地址实地考察报告+多信源验证(2026年7月最新) - 万国中国官方服务中心
  • 基于YOLOv8的花卉识别系统开发与优化实践
  • 亲身到店探访重庆雷达官方售后服务中心|服务电话及详细网点地址(2026年7月最新) - 亨得利钟表维修中心
  • 原神抽卡分析终极指南:免费开源工具genshin-wish-export完整教程
  • MyBatis03-一个完整的bank transfer MVC框架的代码
  • Hermes在Windows上的正确部署:WSL2配置与跨系统协同指南
  • 宝玑中国官方售后服务中心|官方地址及联系电话权威信息通告(2026年7月最新) - 亨得利钟表维修中心
  • yuzu模拟器中文支持完全指南:从方块文字到完美显示的蜕变之旅
  • 2026年北京刑事辩护律师避坑指南:5位办案经验丰富推荐 - 本地品牌推荐
  • ImNodes与Dear ImGui集成指南:打造专业级节点图形界面
  • 宝珀中国官方售后服务中心|官方热线及全部网点地址权威信息公示(2026年7月更新) - 宝珀官方售后服务中心
  • 为什么顶尖咨询公司开始禁用传统PPT?Canva AI自动化工作流正在重构演示经济学
  • AI智能体开发终极指南:从零基础到实战部署的完整教程
  • 为什么选择WeChat Assistant?10大实用功能让你的微信管理效率提升300%
  • 毕设项目分享 深度学习车型检测算法(源码分享)
  • !toy.struct
  • ImNodes完全指南:如何基于Dear ImGui构建高效节点图系统
  • 黄冈人卖金避坑指南:同城老店街坊亲测无套路 - 人间烟火小记
  • 宁波奢二网收帝舵王子,浪琴康卡斯,现金结算即时到位 - 大牌深度测评
  • SpotifyLyrics社区贡献指南:如何报告问题和提交改进
  • 原神抽卡记录永久保存方案:免费开源工具解决三大玩家痛点
  • 如何使用ChatGPT写推荐信?
  • 三步解锁123云盘VIP特权:免费突破下载限制,享受会员级体验
  • 拆解Linux内核网络数据搬运工:sk_buff从生到死的完整生命周期与零拷贝优化的底层密码
  • 2026长沙望城区高端首饰出手干货,梵克雅宝四叶草实时金价参考 - 逸程奢侈品回收中心
  • [Bug已解决] nn.Sequential 类型注解对嵌套列表过于宽泛导致静态检查误报解决方案
  • MyBatis02-mybatis-config.xml配置文件讲解
  • Palantir Java Format:现代Java代码格式化工具的终极指南
  • OptiScaler技术问题排查实战指南:从诊断到修复的完整方案