CANN/asc-devkit稀疏矩阵数据加载API

发布时间:2026/11/5 9:18:38

CANN/asc-devkit稀疏矩阵数据加载API # LoadDataWithSparse【免费下载链接】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。用于从L1 Buffer中搬运以512字节为单位存放的稠密权重矩阵到L0B Buffer里同时搬运以128字节为单位的索引矩阵到内置的专用buffer空间用于后续MmadWithSparse接口进行读取。索引矩阵的数据类型为uint2需要拼成uint8的数据类型再传入接口。索引矩阵在一个uint8的地址中的排布是逆序排布的例如索引矩阵在地址中的排布为1 0 2 1 0 1 2 0其中1 0 2 1对应索引矩阵前四位1 2 0 1为一个uint80 1 2 0对应索引矩阵后四位0 2 1 0为一个uint8。仅支持如下数据通路的搬运L1 Buffer-L0B Buffer。图1L1 Buffer-L0B Buffer LoadDataWithSparse示意图LoadData2dParams参数配置startIndex 1repeatTimes 5表示需要从源操作数src中第1块数据分形开始搬运5块连续的数据分形从源操作数idx中第1块index分形开始搬运5块连续的index分形。函数原型template typename T int8_t, typename U uint8_t, typename Std::enable_ifStd::is_samePrimTT, int8_t::value, bool::type true, typename Std::enable_ifStd::is_samePrimTU, uint8_t::value, bool::type true __aicore__ inline void LoadDataWithSparse(const LocalTensorT dst, const LocalTensorT src, const LocalTensorU idx, const LoadData2dParams loadDataParam)参数说明表1模板参数说明参数名描述Tdst、src的数据类型。Uidx的数据类型。Std::enable_ifStd::is_samePrimTT, int8_t::value, bool::type用于T的数据类型检查用户无需关注。Std::enable_ifStd::is_samePrimTU, uint8_t::value, bool::type用于U的数据类型检查用户无需关注。表2参数说明参数名称输入/输出含义dst输出目的操作数类型为LocalTensor。分形约束参考矩阵计算输入搬运约束。起始地址对齐约束参考对齐约束。支持的数据类型为int8_t。Atlas A2 训练系列产品/Atlas A2 推理系列产品支持的物理存储位置为L0B Buffer(TPosition: B2)。Atlas A3 训练系列产品/Atlas A3 推理系列产品支持的物理存储位置为L0B Buffer(TPosition: B2)。src输入源操作数类型为LocalTensor。分形约束参考矩阵计算输入搬运约束。起始地址对齐约束参考对齐约束。支持的数据类型为int8_t。Atlas A2 训练系列产品/Atlas A2 推理系列产品支持的物理存储位置为L1 Buffer(TPosition: B1)。Atlas A3 训练系列产品/Atlas A3 推理系列产品支持的物理存储位置为L1 Buffer(TPosition: B1)。idx输入源操作数类型为LocalTensor。数据分形大小为128字节每个数据分形shape为16 * 32 * 2bit。起始地址对齐约束参考对齐约束。支持的数据类型为uint8_t。Atlas A2 训练系列产品/Atlas A2 推理系列产品支持的物理存储位置为L1 Buffer(TPosition: B1)。Atlas A3 训练系列产品/Atlas A3 推理系列产品支持的物理存储位置为L1 Buffer(TPosition: B1)。loadDataParam输入LoadData参数结构体类型为• LoadData2dParams具体参考LoadData2dParams结构体内参数说明。需要注意的是本接口仅支持连续的数据分形搬运不支持跳stride因此仅支持配置loadDataParam中的startIndex和repeatTimes参数其余参数未使用无需配置。数据类型支持数据类型为src和dst支持int8_tidx支持uint8_t。返回值说明无约束说明当配置loadDataParam中参数repeatTimes0时表示不执行搬运该接口将被视为NOP空操作。最大支持repeatTimes255。不支持转置功能仅支持连续的数据分形搬运不支持跳stride仅支持配置loadDataParam中的startIndex和repeatTimes参数其余参数未使用。存放索引矩阵的专用buffer空间大小为L0B Buffer大小的四分之一开发者无需配置地址MmadWithSparse接口会自动从该buffer中读取数据。仅支持L1 Buffer-L0B Buffer通路且L1 Buffer上的分形为Zn。每次迭代中的startIndex不能小于零。调用示例本接口用于配合Sparse Mmad使用完整示例请参考MmadWithSparse调用样例。【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/5 9:18:37

终极ripgrep指南:10倍提升你的代码搜索效率

终极ripgrep指南:10倍提升你的代码搜索效率 【免费下载链接】ripgrep ripgrep recursively searches directories for a regex pattern while respecting your gitignore 项目地址: https://gitcode.com/GitHub_Trending/ri/ripgrep 你是否曾在海量代码中迷失…

2026/11/5 9:18:26

Pro/E模型练习100例:参数化建模训练与工程交付实战

简介:《Pro/E模型练习100例》面向Pro/E初学者与进阶学习者,围绕旋转、扫描、曲面及装配等核心建模能力提供成体系实战训练,适合自学、课堂辅助与课后查漏补缺。压缩包共352个文件、约41.98MB,以tif图示和prt模型为主体&#xff0c…

2026/11/5 9:18:26

DE430星历详解:MATLAB中实现太阳系厘米级轨道计算

简介:本资源是面向航天工程、天文计算与MATLAB仿真方向的科研人员及高年级本科生/研究生的DE430高精度星历数据处理工具包,解决太阳系天体位置精确建模、航天器轨道设计与天文事件预测等核心问题。压缩包共11个文件(4个MATLAB源码文件用于读取…

2026/11/5 9:18:26

MCD19A2气溶胶AOD数据处理:读取、重投影与批处理避坑

简介:这份代码包围绕MCD19A2遥感数据处理展开,面向具备一定IDL与Python基础、从事地球科学、环境监测及植被分析的科研人员与学习者,重点解决批量预处理、影像融合、镶嵌、重采样、裁剪和栅格点值提取等流程的代码实现问题。压缩包共12个文件…

2026/11/5 9:18:26

Vivado FFT IP核仿真与MATLAB验证全流程指南

简介:这份资源面向FPGA数字信号处理初学者与工程实践者,聚焦Vivado FFT IP核的仿真验证流程,解决从IP配置到结果比对的完整链路问题。包内共200个文件,约45.73MB,以VHDL与Verilog源码、MATLAB验证脚本、仿真批处理与Tc…

2026/11/5 9:13:25

QSPI-Flash-deepseek 读写测试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 0:02:07

多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中…

2026/11/5 0:02:07

大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#…

2026/11/5 0:02:07

鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑