news 2026/6/19 14:24:41

CANN/asc-devkit L1到L0A Mx矩阵搬运

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/asc-devkit L1到L0A Mx矩阵搬运

asc_copy_l12l0a_mx

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

产品支持情况

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

功能说明

将Mx scale矩阵从L1 Buffer搬运到L0A Buffer。

函数原型

__aicore__ inline void asc_copy_l12l0a_mx(uint64_t dst, __cbuf__ fp8_e8m0_t* src, uint16_t x_start_pos, uint16_t y_start_pos, uint8_t x_step, uint8_t y_step, uint16_t src_stride, uint16_t dst_stride) __aicore__ inline void asc_copy_l12l0a_mx_sync(uint64_t dst, __cbuf__ fp8_e8m0_t* src, uint16_t x_start_pos, uint16_t y_start_pos, uint8_t x_step, uint8_t y_step, uint16_t src_stride, uint16_t dst_stride)

参数说明

参数名输入/输出描述
dst输出目的操作数的地址。
src输入源操作数(Mx scale矩阵)的起始地址,数据类型为fp8_e8m0_t。
x_start_pos输入源操作数X轴方向的起始位置,即M维度方向,单位为1个分形(1个单位代表一个32B的分形)。
y_start_pos输入源操作数Y轴方向的起始位置,即K维度方向,单位为32B。
x_step输入源操作数X轴方向搬运长度,即M维度方向,单位为1个分形(1个单位代表一个32B的分形)。取值范围:[0, 255]。
y_step输入源操作数Y轴方向搬运长度,即K维度方向,单位为32B。取值范围:[0, 255]。
src_stride输入源操作数X轴方向前一个分形起始地址与后一个分形起始地址的间隔,单位为32B。
dst_stride输入目的操作数X轴方向前一个分形起始地址与后一个分形起始地址的间隔,单位为32B。

返回值说明

流水类型

PIPE_MTE1

约束说明

  • scale矩阵的分形固定为(16, 2, 16),对应L0A Buffer的分形为(16, 32, 16),占L0A Buffer地址的1 / 16,需要按照这种地址约束存放地址。
  • dst(L0A Buffer的地址)的数据类型支持fp4x2_e2m1_t、fp4x2_e1m2_t、fp8_e5m2_t、fp8_e4m3fn_t,src的数据类型支持fp8_e8m0_t。
  • dst、src的起始地址需要32字节对齐。

调用示例

__cbuf__ fp8_e8m0_t src[1024]; __ca__ fp8_e5m2_t dst[1024]; uint16_t x_start_pos = 0; uint16_t y_start_pos = 0; uint8_t x_step = 0; uint8_t y_step = 0; uint16_t src_stride = 8; uint16_t dst_stride = 8; uint64_t mx_dst_addr = static_cast<uint64_t>(reinterpret_cast<uintptr_t>(dst)) / 16; asc_copy_l12l0a_mx(mx_dst_addr, src, x_start_pos, y_start_pos, x_step, y_step, src_stride, dst_stride);

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/19 14:17:54

a-sheep-assistant项目深度解析:为什么它能突破0.1%通关率的秘密

a-sheep-assistant项目深度解析&#xff1a;为什么它能突破0.1%通关率的秘密 【免费下载链接】a-sheep-assistant &#x1f411; 羊了个羊助手&#xff0c;羊了个羊一键闯关&#xff0c;本项目仅用于学习研究使用&#xff0c;请勿将本项目的任何内容用于商业或非法目的&#xf…

作者头像 李华
网站建设 2026/6/19 14:17:40

MC9S12XE PIT模块深度解析:从寄存器配置到中断与硬件触发实战

1. 项目概述与PIT模块核心价值在嵌入式系统&#xff0c;尤其是汽车电子和工业控制领域&#xff0c;MC9S12XE系列微控制器因其高可靠性和丰富的外设而备受青睐。其中&#xff0c;周期性中断定时器&#xff08;Periodic Interrupt Timer, PIT&#xff09;模块是构建系统时间基准、…

作者头像 李华
网站建设 2026/6/19 14:15:47

三步实现Windows安卓子系统完整体验:MagiskOnWSA终极指南

三步实现Windows安卓子系统完整体验&#xff1a;MagiskOnWSA终极指南 【免费下载链接】MagiskOnWSALocal Integrate Magisk root and Google Apps into WSA (Windows Subsystem for Android) 项目地址: https://gitcode.com/gh_mirrors/ma/MagiskOnWSALocal MagiskOnWSA…

作者头像 李华
网站建设 2026/6/19 14:07:24

语音合成技术发展简史:从拼接合成到神经网络 TTS

系列文章导航 第一篇&#xff1a;语音合成技术发展简史&#xff08;本文&#xff09;第二篇&#xff1a;主流 TTS 架构对比第三篇&#xff1a;语音克隆是怎么实现的第四篇&#xff1a;TTS 推理速度为什么这么慢第五篇&#xff1a;本地部署 TTS 方案横向对比第六篇&#xff1a;…

作者头像 李华
网站建设 2026/6/19 14:02:13

云识慧一脸通模块三:人脸考勤系统

# 云识慧一脸通人脸考勤系统&#xff1a;破解复杂考勤管理难题 传统指纹、刷卡考勤普遍存在代打卡、指纹磨损、人工统计繁琐等痛点&#xff0c;尤其面对不同行业差异化的考勤规则&#xff0c;往往难以适配。云识慧一脸通人脸考勤系统以高精度AI算法为核心&#xff0c;搭载强大的…

作者头像 李华