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

CANN/asc-devkit GM2L1循环步长API

asc_set_gm2l1_loop2_stride

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

功能说明

头文件路径:"c_api/cube_datamove/cube_datamove.h"

将数据从Global Memory (GM)搬运到L1 Buffer时,通过调用该接口设置外层循环中相邻迭代数据块间的间隔。

以源操作数搬运场景为例,如下图所示。

函数原型

__aicore__ inline void asc_set_gm2l1_loop2_stride(uint64_t loop2_src_stride, uint64_t loop2_dst_stride)

参数说明

参数名输入/输出描述
loop2_src_stride输入外层循环中相邻迭代源操作数的数据块间的间隔,单位为Byte,取值范围为[0,2^40]。
loop2_dst_stride输入外层循环中相邻迭代目标操作数的数据块间的间隔,单位为Byte,取值范围为[0,2^21],且必须32B对齐。

返回值说明

流水类型

PIPE_S

约束说明

调用示例

asc_set_gm2l1_loop_size(2, 2); asc_set_gm2l1_loop1_stride(96, 128); asc_set_gm2l1_loop2_stride(192, 288); constexpr uint32_t n_burst = 2; constexpr uint32_t len_burst = 2; constexpr uint8_t left_padding_count = 0; constexpr uint8_t right_padding_count = 0; constexpr bool data_select_bit = false; constexpr uint8_t l2_cache_ctl = 0; constexpr uint64_t burst_src_stride = 0; constexpr uint32_t burst_dst_stride = 0; __gm__ half src[256]; __cbuf__ half dst[256]; asc_copy_gm2l1_align(dst, src, n_burst, len_burst, left_padding_count, right_padding_count, data_select_bit, l2_cache_ctl, burst_src_stride, burst_dst_stride); asc_set_gm2l1_loop_size(1, 1);

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

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

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

相关文章:

  • Windows上B站体验的革命:BiliBili-UWP客户端完全指南
  • ComfyUI工作流搭建终极 checklist:覆盖模型加载、VAE精度、CLIP跳过、动态批次等19个生产环境必验项(PDF可打印版限时放送)
  • DC综合实战:从环境配置到时序收敛的关键命令解析
  • 红外无线耳机接收器电路设计与优化指南
  • 编码算法(一):Base64的三大应用陷阱,你中招了吗?
  • 中文医疗对话数据集:79万条真实医患对话的完整开源解决方案
  • 5步免费绕过iOS激活锁:applera1n工具完整使用指南
  • 信息学奥赛一本通 递推实战:从“位数问题”到计数类问题的通用解法
  • OCR技术解析:从原理到应用实战指南
  • OpenClaw生产部署指南:ECS+Rocky Linux 9.3轻量级Agent编排实战
  • React Komposer 高级用法:合并多个容器与组件复用策略
  • DeepSeek V4接入实战:API调用、IDE集成与本地部署全解析
  • C++实现高精度表达式计算器:分数运算与调度场算法详解
  • 终极3DS存档管理指南:5步掌握JKSM高效备份与恢复
  • Nintendo Switch大气层系统架构解析:从安全监控到系统服务的多层设计哲学
  • WSL+Ollama本地部署大模型实战指南
  • Spyc扩展开发:如何自定义YAML解析器和转储器行为
  • L型衰减器原理与射频电路设计实践
  • AI大模型与能源融合:小白程序员必收藏的黄金机遇!
  • 在线自定义编辑网络拓扑图:从JSON数据到可视化管理的实践
  • 终极ModTheSpire指南:如何安全扩展《杀戮尖塔》游戏内容
  • 一致性哈希算法深度解析:从哈希环到虚拟节点的平滑扩容实践
  • 设计师正在悄悄淘汰传统工作流?Canva AI自动化工作流搭建(含Figma+Notion联动模板)
  • C6678 EMIF NOR Flash启动实战:从手册到板级调试
  • MATLAB工具:用盖氏圆盘法自动数清阵列接收到的信号源个数(白噪声/色噪声均可)
  • 武汉中职 / 中专想读电子商务专业(新媒体直播电商)选哪个学校好? - 升学择校早知道
  • Linux系统下编译安装OpenCV与首个视觉程序实战
  • 如何为Moonlight主题启用语义高亮:提升代码可读性的终极技巧
  • FanControl终极指南:让Windows风扇控制变得简单智能的4步方案
  • 串联开关型稳压电源设计指南与工程实践