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

CANN/asc-devkit非连续对齐搬入API

非连续对齐搬入【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品 / Atlas A3 推理系列产品xAtlas A2 训练系列产品 / Atlas A2 推理系列产品xAtlas 200I/500 A2 推理产品xAtlas 推理系列产品 AI CorexAtlas 推理系列产品 Vector CorexAtlas 训练系列产品x功能说明Reg矢量计算数据搬运接口适用于从UB非连续对齐搬入RegTensor以DataBlock为单位。函数原型// 正常场景 template typename T DefaultType, DataCopyMode dataMode, typename U __simd_callee__ inline void LoadAlign(U dstReg, __ubuf__ T* srcAddr, uint32_t dataBlockStride, MaskReg mask); // POST_MODE_UPDATE场景 template typename T DefaultType, DataCopyMode dataMode, PostLiteral postMode, typename U __simd_callee__ inline void LoadAlign(U dstReg, __ubuf__ T* srcAddr, uint32_t dataBlockStride, uint32_t repeatStride, MaskReg mask);参数说明表 1DataCopyMode模板参数说明DataCopyMode取值含义DATA_BLOCK_COPY用来在非连续对齐场景选择搬运模式。当前仅支持DataBlock搬运模式即以DataBlock为粒度进行搬运。表 2参数说明参数名输入/输出描述T输入模板参数支持的数据类型为b8/b16/b32。postMode输入用于控制是否使能post updatePostLiteral类型。U输入RegTensor类型 例如RegTensorhalf由编译器自动推导用户不需要填写。dstReg输出目的操作数类型为RegTensor。srcAddr输入/输出源操作数在UB上的起始地址。dataBlockStride输入单次搬运相邻DataBlock间的间隔前面一个DataBlock的头与后面DataBlock的头的间隔单位为DataBlock。repeatStride输入POST_MODE_NORMAL与POST_MODE_UPDATE场景下repeatStride含义不一致。POST_MODE_NORMAL场景实际搬运UB起始地址为srcAddr repeatStride * 32。POST_MODE_UPDATE场景实际搬运UB起始地址为srcAddr搬运后执行地址更新srcAddr repeatStride * 32。mask输入MaskReg类型指示在搬运过程中哪些DataBlock有效。某个DataBlock在mask寄存器中对应的32bit有任意一位为1该DataBlock对应的数据会搬入到dst。某个DataBlock在mask寄存器中对应的32bit全为0时该DataBlock对应的数据不会被读取对应位置的dst设置为0即使该UB越界也不会报错。返回值说明无约束说明无调用示例__simd_vf__ inline void Compute(__ubuf__ T* dstAddr, __ubuf__ T* srcAddr, uint16_t repeatTimes) { AscendC::Reg::RegTensorT srcReg; AscendC::Reg::MaskReg mask AscendC::Reg::CreateMaskT(); for (uint16_t i 0; i repeatTimes; i) { AscendC::Reg::LoadAlignT, AscendC::Reg::DataCopyMode::DATA_BLOCK_COPY, AscendC::Reg::PostLiteral::POST_MODE_UPDATE(srcReg, srcAddr, 1, i * 8, mask); AscendC::Reg::StoreAlignT, AscendC::Reg::DataCopyMode::DATA_BLOCK_COPY, AscendC::Reg::PostLiteral::POST_MODE_UPDATE(dstAddr, srcReg, 1, i * 8, mask); } }【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
http://www.gsyq.cn/news/1330841.html

相关文章:

  • Oryx 2实时推荐系统实战:基于ALS的协同过滤完整解决方案 [特殊字符]
  • 第4篇:Skill的提示词设计精要——让AI精准理解意图
  • 2026兴城市本地人必选的瓷砖空鼓专业维修公司TOP5推荐!卫生间空鼓翘边,厨房空鼓翘边,客厅空鼓翘边,全天响应,免费上门,5月专业瓷砖空鼓修复公司持证上岗师傅排名最新深度调研方案) - 一休修缮
  • 2026 年 AI赋能 十大品牌排名及解析 - 十大品牌榜
  • 30分钟搞定黑苹果:OpCore Simplify如何让Hackintosh配置从专业难题变成简单操作
  • 初创团队如何利用Taotoken统一管理多个AI项目的API调用与成本
  • STM32驱动SG90舵机老是抖?别慌!可能是你的PWM周期和占空比没算对(附避坑指南与OLED角度显示)
  • IMX6ULL网络启动全解析:从uboot环境变量到内核启动参数的避坑指南
  • 为什么顶级作曲家都在弃用Shazam转投Perplexity?——基于127万条音乐查询日志的权威对比报告
  • 别再从头训练了!用SAM-Adapter‘轻量化’微调,让你的分割模型快速适配新任务
  • Mac NTFS读写终极指南:Nigate跨平台文件系统解决方案深度解析
  • 告别丑表格!用xlsx-style给Vue+Element UI导出的Excel加个美颜(附完整代码)
  • Burp Suite新手必看:用Target Scope精准抓包,告别YouTube和Google Analytics的干扰流量
  • cstore_fdw深度解析:列投影与跳读索引如何实现6倍查询加速
  • 安达发|aps软件系统:塑料薄膜业数字化升级,破生产管理难题
  • 推客系统开发定制|阶梯式提成 佣金规则后台自由配置
  • Go语言实现服务网格集成:从Istio到Linkerd的完整指南
  • LDA vs PCA:用sklearn和手写代码,在随机数据集上彻底搞清区别
  • 保姆级教程:VCSA安装后必做的三件事(改IP、开SSH、查磁盘)
  • 从零开始:YY3568开发板刷写原生Linux系统全流程指南
  • 3步永久激活Windows和Office:开源智能脚本的完整指南
  • 手把手教你用华为云OBS+IMS,免费把eNSP Pro镜像变成私有云实验环境
  • 个人项目记录(二)内核移植:基于i.MX6ULL的嵌入式Linux终端系统构建与多子系统控制器驱动开发—将 NXP 官方 Linux内核4.9.88 移植到韦东山IMX6ULLPro
  • 在 OpenClaw 项目中配置 Taotoken 作为模型供应商
  • Sora 2生成元数据直通DaVinci Fusion节点(含ACEScg全流程校验表)
  • CANN AsNumpy线性代数API文档
  • 无人机开发平台全解析:从开源飞控到厂商SDK的选型与应用实战
  • 5分钟掌握Camera Shakify:新手也能轻松为Blender相机添加真实抖动效果
  • Steam挂刀交易的数据化革命:如何用开源工具实现智能套利决策
  • Oracle EBS R12资产模块:如何通过SLA查询特定资产卡片的历史折旧明细?