CANN/asc-devkit:LoadData矩阵搬运API
# LoadDataMX矩阵搬运【免费下载链接】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 训练系列产品不支持Kirin X90不支持Kirin 9030不支持功能说明头文件路径为basic_api/kernel_operator_mm_intf.h。负责完成矩阵计算所需的左右矩阵数据和对应的左右量化系数矩阵数据的搬运。其中左右矩阵数据以大小为512字节的数据分形为单位进行搬运左右量化系数矩阵以32字节的数据分形为单位进行搬运。支持的数据通路如下左右矩阵L1 Buffer-L0A Buffer、L1 Buffer-L0B Buffer。量化系数矩阵L1 Buffer-L0A_MX Buffer、L1 Buffer-L0B_MX Buffer。其中L0A_MX/L0B_MX Buffer的大小为4KB和L0A/L0B Buffer地址的映射关系如下$$L0A_MX\ Buffer\ Address L0A\ Buffer\ Address / 16$$$$L0B_MX\ Buffer\ Address L0B\ Buffer\ Address / 16$$对于b4数据类型左右矩阵数据分形在L0A Buffer中为一个16×64的矩阵在L0B Buffer中为一个64×16的矩阵。对于b8数据类型左右矩阵数据分形在L0A Buffer中为一个16×32的矩阵在L0B Buffer中为一个32×16的矩阵。量化系数矩阵分形是一个固定数据类型为fp8_e8m0_t、分形大小为16×2的矩阵。函数原型template typename T, typename U __aicore__ inline void LoadData(const LocalTensorU dst, const LocalTensorT src, const LocalTensorfp8_e8m0_t srcMx, const LoadData2DParamsV2 loadDataParams, const LoadData2DMxParams loadMxDataParams)参数说明表 1模板参数说明参数名称含义TT用来表示src的数据类型。支持数据类型为fp4x2_e2m1_t/fp4x2_e1m2_t/fp8_e4m3fn_t/fp8_e5m2_t。UU用来表示dst的数据类型。支持数据类型为fp4x2_e2m1_t/fp4x2_e1m2_t/fp8_e4m3fn_t/fp8_e5m2_t。表 2通用参数说明参数名称输入/输出含义dst输出目的操作数类型为LocalTensor。数据连续排列顺序由目的操作数所在TPosition决定具体约束如下• A2ZZ格式/NZ格式对应的分形大小为16 * (32字节 / sizeof(T))。• B2ZN格式对应的分形大小为 (32字节 / sizeof(T)) * 16。支持的物理存储位置为L0A BufferTPosition: A2/L0B BufferTPosition: B2。注L0A_MX Buffer和L0B_MX Buffer的地址和L0A/L0B的地址是固定比例关系接口中会自行按照L0A/L0B的地址进行推导用户无需配置。src输入源操作数类型为LocalTensor。数据类型需要与dst保持一致。支持的物理存储位置为L1 BufferTPosition: A1/B1。srcMx输入源操作数类型为LocalTensor仅支持fp8_e8m0_t类型。loadDataParams输入LoadData参数结构体类型为LoadData2DParamsV2。具体参考表LoadData2D矩阵搬运V2中的LoadData2DParamsV2结构体内参数说明。本结构体用于控制左右矩阵数据的搬运。loadMxDataParams输入LoadData参数结构体类型为LoadData2DMxParams。具体参考表3。本结构体用于控制左右量化系数矩阵的搬运。上述结构体参数定义请参考${INSTALL_DIR}/asc/include/basic_api/interface/kernel_struct_mm.h${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。表 3LoadData2DMxParams结构体参数说明参数名称含义xStartPosition源矩阵X轴方向的起始位置即M维度方向单位为1个分形1个单位代表一个32字节的分形。yStartPosition源矩阵Y轴方向的起始位置即K维度方向单位为32字节。xStep源矩阵X轴方向搬运长度即M维度方向单位为1个分形1个单位代表一个32字节的分形。取值范围xStep∈[0, 255]。注xStep0表示不执行搬运该接口将被视为NOP空操作。yStep源矩阵Y轴方向搬运长度即K维度方向单位为32字节。取值范围yStep∈[0, 255]。注yStep0表示不执行搬运该接口将被视为NOP空操作。srcStride源矩阵X方向前一个分形起始地址与后一个分形起始地址的间隔单位为32字节。dstStride目标矩阵X方向前一个分形起始地址与后一个分形起始地址的间隔单位为32字节。下面通过一个具体的示例来解释LoadData2DMxParams结构体参数。假设A矩阵shape为MK则ScaleA矩阵shape为MK/32ScaleA数据类型为fp8_e8m0_tScaleA矩阵分形排布见图1。图 1ScaleA在L0A Buffer的分形排布![](https://raw.gitcode.com/cann/asc-devkit/raw/1cd1d1192e01ae4a8684cd07552c35e13e5c4bdf/docs/zh/api/figures/ScaleA在L0A的分形排布.png ScaleA在L0A Buffer的分形排布?utm_sourcegitcode_repo_files)下图为ScaleA从L1 Buffer搬运至L0A Buffer过程中的配置参数示意。每一行为32字节对应着图1中的一个分形。xStep为M维度分形的个数如图中的xStep M / 16 3yStep为K维度32字节的个数如图中的yStep K / 32 / 2 21srcStride和dstStride同理表示在K维度上32字节的个数。图 2ScaleA从L1 Buffer搬运至L0A Buffer的配置参数示意![](https://raw.gitcode.com/cann/asc-devkit/raw/1cd1d1192e01ae4a8684cd07552c35e13e5c4bdf/docs/zh/api/figures/Nd2Nz转换示意图.png ScaleA从L1 Buffer搬运至L0A Buffer的配置参数示意?utm_sourcegitcode_repo_files)数据类型支持数据类型为fp4x2_e2m1_t、fp4x2_e1m2_t、fp8_e5m2_t、fp8_e4m3fn_t。返回值说明无约束说明操作数地址对齐要求请参见通用地址对齐约束。关键特性说明左右矩阵搬运的相关关键特性与LoadData2D矩阵搬运V2一致可参考LoadData2D矩阵搬运V2的关键特性说明。量化系数矩阵的搬运特性说明如下起始地址计算公式为$$startAddr srcAddr (xStartPosition \times \lvert srcStride \rvert yStartPosition) \times 32B$$量化系数矩阵分形是一个固定数据类型为fp8_e8m0_t、分形大小为16×2的矩阵搬运示意图如下图3量化系数矩阵搬运示意图![](https://raw.gitcode.com/cann/asc-devkit/raw/1cd1d1192e01ae4a8684cd07552c35e13e5c4bdf/docs/zh/api/figures/load2dmx_scale_transfer_demo.png 量化系数矩阵搬运示意图?utm_sourcegitcode_repo_files)调用示例完整调用示例请参考LoadDataMX矩阵搬运样例。【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

终极Mac清理解决方案:5种方法快速释放数十GB磁盘空间

终极Mac清理解决方案:5种方法快速释放数十GB磁盘空间

终极Mac清理解决方案:5种方法快速释放数十GB磁盘空间 【免费下载链接】Mole 🐹 Clean, uninstall, analyze, optimize, and monitor your Mac from the terminal. 项目地址: https://gitcode.com/GitHub_Trending/mole15/Mole 你的Mac磁盘空间又告…

2026/7/16 22:44:55阅读更多 →
重新定义数字记忆:WeChatMsg如何颠覆微信聊天记录永久保存方式

重新定义数字记忆:WeChatMsg如何颠覆微信聊天记录永久保存方式

重新定义数字记忆:WeChatMsg如何颠覆微信聊天记录永久保存方式 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/…

2026/7/16 22:39:54阅读更多 →
Ornith-1.0-9B-MTP-GGUF:重新定义AI推理效率的新范式

Ornith-1.0-9B-MTP-GGUF:重新定义AI推理效率的新范式

Ornith-1.0-9B-MTP-GGUF:重新定义AI推理效率的新范式 【免费下载链接】Ornith-1.0-9B-MTP-GGUF 项目地址: https://ai.gitcode.com/hf_mirrors/protoLabsAI/Ornith-1.0-9B-MTP-GGUF 在AI应用部署的实际场景中,推理速度与质量之间的平衡始终是开发…

2026/7/16 22:39:54阅读更多 →
C/C++内存泄漏与死锁排查:从原理到实战的完整防御指南

C/C++内存泄漏与死锁排查:从原理到实战的完整防御指南

1. 项目概述:为什么C/C开发者必须掌握内存泄漏与死锁的排查? 在C/C的世界里摸爬滚打十几年,我见过太多项目因为两个“隐形杀手”而崩溃、性能骤降甚至直接宕机:内存泄漏和死锁。前者像慢性失血,程序运行越久&#xff0…

2026/7/16 23:45:00阅读更多 →
运放差分采样电路设计:从高共模电压到ADC接口的实战解析

运放差分采样电路设计:从高共模电压到ADC接口的实战解析

1. 差分采样电路的核心挑战当我们需要测量高压侧电流或高共模电压时,差分放大电路就成了救命稻草。我做过一个48V电池组的电流检测项目,采样电阻两端压差只有50mV,但共模电压却高达50V——这就像要在轰鸣的飞机引擎旁边听清蚊子振翅的声音。*…

2026/7/16 23:45:00阅读更多 →
终极指南:5分钟打造你的RE引擎游戏Mod开发环境 [特殊字符]

终极指南:5分钟打造你的RE引擎游戏Mod开发环境 [特殊字符]

终极指南:5分钟打造你的RE引擎游戏Mod开发环境 🎮 【免费下载链接】REFramework Mod loader, scripting platform, and VR support for all RE Engine games 项目地址: https://gitcode.com/GitHub_Trending/re/REFramework 想要为《生化危机》、…

2026/7/16 23:45:00阅读更多 →
从示波器波形到数据帧:手把手解析UART通信的完整时序

从示波器波形到数据帧:手把手解析UART通信的完整时序

1. UART通信基础:从物理信号到数据帧第一次用示波器抓UART波形时,我盯着那串高低电平的方波发呆了半小时——这堆跳变的信号线,怎么就变成单片机里可读的字符了?后来才发现,理解UART通信就像破解摩尔斯电码&#xff0c…

2026/7/16 23:45:00阅读更多 →
3步搞定Scoop中文本地化:让Windows包管理器说中文

3步搞定Scoop中文本地化:让Windows包管理器说中文

3步搞定Scoop中文本地化:让Windows包管理器说中文 【免费下载链接】Scoop A command-line installer for Windows. 项目地址: https://gitcode.com/gh_mirrors/scoop4/Scoop 还在为Scoop的英文提示而烦恼吗?每次看到"ERROR"、"WAR…

2026/7/16 23:45:00阅读更多 →
面向煤矿井下无线通信标准化检测的 RM-1000 无线电综合测试仪

面向煤矿井下无线通信标准化检测的 RM-1000 无线电综合测试仪

煤炭作为核心基础能源,井下智能化开采模式持续普及,人员定位、瓦斯无线监测、井下防爆调度电台等各类无线设备应用规模不断扩大。井下巷道狭窄、金属支护密集、采煤机械运行产生大量电磁干扰,无线设备频偏、功率衰减、语音失真等故障&#xf…

2026/7/16 23:39:59阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/16 8:28:11阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/16 6:53:04阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/16 12:02:41阅读更多 →
A--10 Codex Review与GitHub PR工作流实战指南:从代码审查到安全合并

A--10 Codex Review与GitHub PR工作流实战指南:从代码审查到安全合并

摘要:本文系统讲解如何利用Codex App的Review功能与GitHub PR工作流,实现从代码修改到安全合并的完整流程。涵盖Review面板深度使用、/review命令实战、GitHub Connector配置、PR描述撰写技巧,以及常见问题排查方法。通过多个实战案例和流程图,帮助开发者建立高效的AI辅助代…

2026/7/16 0:00:38阅读更多 →
遗传算法解5皇后问题:从Hello World到工业优化的进化实验室

遗传算法解5皇后问题:从Hello World到工业优化的进化实验室

1. 项目概述:为什么用遗传算法解5皇后问题,而不是直接回溯?我带过十几届算法课,也给不少初创团队做过AI架构咨询。每次讲到组合优化问题,学生和工程师的第一反应永远是“写个回溯试试”。这没错——55棋盘上找所有合法…

2026/7/16 0:00:38阅读更多 →
5.1V稳压管输出为何只有4.7V?工作电流与负载影响分析

5.1V稳压管输出为何只有4.7V?工作电流与负载影响分析

前几天调试一个简单的电源模块,用到了5.1V稳压管。电路接好,上电测试,万用表一量——输出居然只有4.7V。第一反应是稳压管坏了,换了一个新的,结果还是4.7V。这让我想起很多初学者都会遇到的困惑:明明标称5.…

2026/7/16 0:00:38阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/16 20:13:14阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/16 8:58:42阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/16 17:10:26阅读更多 →