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

CANN/asc-devkit UB到L1数据搬运API

asc_copy_ub2l1

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

产品支持情况

产品是否支持
Ascend 950PR/Ascend 950DT

功能说明

将数据从Unified Buffer (UB) 搬运到 搬运到L1 Buffer。

函数原型

  • 前n个数据搬运
__aicore__ inline void asc_copy_ub2l1(__cbuf__ void* dst, __ubuf__ void* src, uint32_t size)
  • 高维切分搬运
__aicore__ inline void asc_copy_ub2l1(__cbuf__ void* dst, __ubuf__ void* src, uint16_t n_burst, uint16_t len_burst, uint16_t src_gap, uint16_t dst_gap)
  • 同步计算
__aicore__ inline void asc_copy_ub2l1_sync(__cbuf__ void* dst, __ubuf__ void* src, uint32_t size)

参数说明

参数名输入/输出描述
dst输出目的L1 Buffer地址。
src输入源UB地址。
size输入搬运数据大小(字节)。
n_burst输入待搬运的连续传输数据块个数。取值范围:[1, 4095]。
len_burst输入待搬运的每个连续传输数据块的长度,单位为DataBlock(32字节)。取值范围:[1, 65535]。
src_gap输入源操作数相邻连续数据块的间隔(前面一个数据块的尾与后面一个数据块的头的间隔)。
单位为DataBlock(32字节)。
dst_gap输入目的操作数相邻连续数据块的间隔(前面一个数据块的尾与后面一个数据块的头的间隔)。
单位为DataBlock(32字节)。

返回值说明

流水类型

PIPE_MTE3

约束说明

  • dst的起始地址要求按照对应数据类型所占字节数对齐。
  • src的起始地址要求32字节对齐。
  • 如果需要执行多条asc_copy_ub2l1指令,且asc_copy_ub2l1指令的目的地址存在重叠,需要插入同步指令,保证多个asc_copy_ub2l1指令的串行化,防止出现异常数据。
  • 同步计算包含同步等待。

调用示例

// total_length指参与搬运的数据总个数。dst是外部输入的half类型的GM内存。 constexpr uint64_t total_length = 128; __ubuf__ half src[total_length]; asc_copy_ub2l1(dst, src, total_length * sizeof(half));

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

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

http://www.cnnetsun.cn/news/2503542.html

相关文章:

  • 如何快速掌握Prism-Samples-Wpf交互性编程:InvokeCommandAction事件驱动开发终极指南
  • 机器视觉开发-使用YOLO8预训练模型检测目标
  • CANN/asc-devkit C API归约函数文档
  • Bpmn Process Designer扩展开发实战:如何自定义流程元素与规则
  • AI Scientist-v2容器化部署终极指南:使用Docker简化安装与配置的完整教程
  • 基于SpringBoot的温州低空技术企业认定管理系统设计与实现
  • 3分钟解决Windows苹果设备驱动难题:Apple-Mobile-Drivers-Installer深度技术解析
  • AI Scientist-v2并行代理系统深度解析:如何同时探索多个研究路径
  • CANN/pypto循环结束判断API
  • Angular ESLint与TypeScript ESLint完美集成:完整配置指南
  • CANN/pypto量化矩阵乘法
  • AI Scientist-v2伦理考量:AI自动化研究的责任与透明度
  • 洞见规范---幕墙性能之十三太保---防火性能
  • OptScale 安全最佳实践:10个关键步骤保护你的云成本数据和配置
  • Vibe Vibe 工具链对比:Cursor、Windsurf、Bolt.new、Replit深度评测
  • 深度解析VMPDump:基于VTIL的智能VMP动态脱壳与导入表修复工具
  • 人教版高中英语选择性必修二单词音频+单词表+单词默写表(2026年最新)
  • 如何快速搭建XGBoost开发环境:新手的完整配置指南
  • 围棋AI训练平台KaTrain:免费智能教练的终极使用指南
  • Inno Setup 简体中文语言包:3分钟让Windows安装程序说中文![特殊字符]
  • 围棋AI训练新境界:5步掌握KaTrain智能陪练核心技巧
  • 革命性JarEditor插件:无需解压直接编辑JAR包的终极指南
  • 如何用SciencePlots快速制作专业科研图表:终极美化方案指南
  • 在Node.js项目中配置Taotoken作为统一的AI服务调用层
  • 【Midjourney毛玻璃效果终极指南】:20年AI视觉工程师亲授5步精准复现iOS/Windows级玻璃拟态
  • b3dkit 生成连接器
  • ElevenLabs高棉文语音私有化部署终极方案(含Docker+Khmer IPA音素映射表),仅限前200位技术负责人获取
  • Allen-Bradley 280D-F12Z-10B-CR启动控制模块
  • 【RK3588-AI-004】RK3588 AI专属依赖环境预装(Python、OpenCV、基础编译工具)
  • 3.url编码