发布时间:2026/7/16 14:51:39
CANN/asc-devkit数据通路 数据通路【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkitAI Core硬件架构与存储单元AI Core是昇腾处理器的核心计算单元以NPU架构版本2201为例其内部分层存储架构如图1所示主要包含以下组成部分计算单元图中黄色高亮包括Cube矩阵计算单元、Vector矢量计算单元和Scalar标量计算单元分别负责矩阵乘加、向量运算和标量控制流。存储单元按层级由外到内依次为Global MemoryGM位于AI Core外部、L1 Buffer、L0A/L0B/L0C Buffer、Unified BufferUB、BiasTable Buffer、Fixpipe Buffer等。各存储单元的容量与对齐要求各异详情参见内存层级架构。搬运单元图中黄色高亮包括MTE1Memory Transfer Engine 1、MTE2、MTE3和FixPipe负责数据在不同存储单元之间的DMA传输。其中MTE2负责GM - Local Memory方向的搬运MTE3负责Local Memory - GM方向的搬运MTE1负责L1 Buffer - L0 Buffer方向的数据搬运FixPipe负责将计算结果从L0C Buffer中通过随路量化和随路激活的方式搬出。图 1NPU架构版本2201下AI Core硬件架构示意图以NPU架构版本3510为例其内部分层存储架构如图2所示该架构在数据通路上有如下变化新增L0C Buffer到UB的单向数据通路。新增UB到L1 Buffer的数据通路。删除GM到L0A Buffer、L0B Buffer的数据通路。删除L1 Buffer到GM的数据通路。图 2NPU架构版本3510下AI Core硬件架构示意图[!NOTE]说明同一个物理内存可能对应多个不同的TPosition例如Unified BufferUB同时映射到VECIN、VECCALC和VECOUT三个逻辑位置分别代表矢量计算的输入、中间计算和输出阶段。L1 Buffer同时映射到A1、B1、C1和TSCM具体含义取决于当前所服务的计算流程矩阵左/右矩阵暂存或共享通信。这种设计使得同一物理内存可以在不同计算阶段被赋予不同的逻辑语义开发者可根据编程模型的阶段需求选择合适的TPosition。同一个逻辑位置在不同产品型号中可能对应不同的物理内存例如逻辑位置CO2在Atlas A2 训练系列产品/Atlas A2 推理系列产品中映射到Global Memory而在Atlas训练及推理系列产品中映射到Unified Buffer详细情况请参考逻辑位置和物理存储的映射关系。数据通路与搬运流水基于上述存储单元和搬运单元AI Core内的数据通路及其对应的硬件流水如下表所示。每条数据通路指定了源SRC与目的DST存储单元以及执行搬运的硬件流水理解这些通路是选择正确数据搬运接口参数的基础。[!NOTE]说明 下表为所有产品型号的数据通路汇总。具体每条数据通路是否在特定产品上支持请以对应API接口文档中的产品支持情况表格为准。表 1数据搬运功能总览源SRC目的DST流水Pipeline功能支持的APIGlobal MemoryL1 BufferMTE2将Global Memory中的矩阵数据连续搬运至L1 Buffer做中转。DataCopyGlobal MemoryL1 BufferMTE2将Global Memory中的矩阵数据通过高维切分方式搬运至L1 Buffer做中转。DataCopyGlobal MemoryL1 BufferMTE2将Global Memory中的矩阵数据搬运到L1 Buffer的同时实现ND到NZ格式的随路转换。DataCopyGlobal MemoryL1 BufferMTE2将Global Memory中的矩阵数据搬运到L1 Buffer的同时实现DN到NZ格式的随路转换。DataCopyGlobal MemoryL1 BufferMTE2将Global Memory中的非对齐数据搬运至L1 Buffer并对边界无效区域做Padding填充。DataCopyPadGlobal MemoryL1 BufferMTE2将Global Memory中的NZ格式数据搬运至L1 Buffer。LoadData2D矩阵搬运Global MemoryL1 BufferMTE2将Global Memory中的NZ格式数据搬运至L1 Buffer。LoadData2D矩阵搬运V2Global MemoryL0A BufferMTE2将Global Memory中的2D格式分形矩阵搬运至L0A Buffer作为矩阵计算的左矩阵输入。LoadData2D矩阵搬运Global MemoryL0B BufferMTE2将Global Memory中的2D格式分形矩阵搬运至L0B Buffer作为矩阵计算的右矩阵输入。LoadData2D矩阵搬运Global MemoryUnified BufferMTE2将Global Memory中的矩阵数据连续搬运至Unified Buffer。DataCopyGlobal MemoryUnified BufferMTE2将Global Memory中的矩阵数据通过高维切分方式搬运至Unified Buffer。DataCopyGlobal MemoryUnified BufferMTE2将Global Memory中的数据按切片方式搬运至Unified Buffer。DataCopyGlobal MemoryUnified BufferMTE2将Global Memory中的数据搬运至Unified Buffer的同时完成ND到NZ格式的随路转换。DataCopyGlobal MemoryUnified BufferMTE2将Global Memory中的数据以NDDMA方式多维搬运至Unified Buffer。DataCopyGlobal MemoryUnified BufferMTE2将Global Memory中的非对齐数据搬运至Unified Buffer并对边界无效区域做Padding填充。DataCopyPadUnified BufferGlobal MemoryMTE3将Unified Buffer中的数据搬运到Global Memory的同时完成NZ到ND格式的随路转换。DataCopyUnified BufferGlobal MemoryMTE3将Unified Buffer中的非对齐数据搬运到Global Memory并对边界无效区域做Padding填充。DataCopyPadUnified BufferL1 BufferMTE3将Unified Buffer中的数据连续搬运至L1 Buffer。DataCopyUnified BufferL1 BufferMTE3将Unified Buffer中的数据通过高维切分方式搬运至L1 Buffer。DataCopyUnified BufferL1 BufferMTE3将Unified Buffer中的数据搬运到L1 Buffer的同时完成ND到NZ格式的随路转换。DataCopyUnified BufferL1 BufferMTE3将Unified Buffer中的非对齐数据搬运到L1 Buffer并对边界无效区域做Padding填充。DataCopyPadL1 BufferUnified BufferMTE3将L1 Buffer中的数据连续搬运至Unified Buffer。DataCopyL1ToUBL1 BufferUnified BufferMTE3将L1 Buffer中的数据通过高维切分方式搬运至Unified Buffer。DataCopyL1ToUBL1 BufferL0A BufferMTE1将L1 Buffer中的2D格式分形矩阵搬运至L0A Buffer作为Cube矩阵乘的左矩阵输入。LoadData2D矩阵搬运L1 BufferL0A BufferMTE1将L1 Buffer中的2D格式分形矩阵搬运至L0A Buffer作为Cube矩阵乘的左矩阵输入。LoadData2D矩阵搬运V2L1 BufferL0A BufferMTE1将L1 Buffer中的2D格式分形矩阵搬运至L0A Buffer作为Cube矩阵乘的左矩阵输入。LoadDataMX矩阵搬运L1 BufferL0A BufferMTE1将L1 Buffer中的2D格式分形矩阵搬运至L0A Buffer的同时完成转置。LoadDataWithTransposeL1 BufferL0A BufferMTE1将L1 Buffer中的3D格式分形矩阵搬运至L0A Buffer支持3D-Tile规则搬运。LoadData卷积数据搬运L1 BufferL0A BufferMTE1将L1 Buffer中的3D格式分形矩阵搬运至L0A Buffer支持3D-Tile规则搬运支持配置输出矩阵K轴方向偏移量。LoadDataWithStrideL1 BufferL0B BufferMTE1将L1 Buffer中的2D格式分形矩阵搬运至L0B Buffer作为Cube矩阵乘的右矩阵输入。LoadData2D矩阵搬运L1 BufferL0B BufferMTE1将L1 Buffer中的2D格式分形矩阵搬运至L0B Buffer作为Cube矩阵乘的右矩阵输入。LoadData2D矩阵搬运V2L1 BufferL0B BufferMTE1将L1 Buffer中的2D格式分形矩阵搬运至L0B Buffer作为Cube矩阵乘的右矩阵输入。LoadDataMX矩阵搬运L1 BufferL0B BufferMTE1将L1 Buffer中的2D格式分形矩阵搬运至L0B Buffer的同时完成转置。LoadDataWithTransposeL1 BufferL0B BufferMTE1将L1 Buffer中的3D格式分形矩阵搬运至L0B Buffer支持3D-Tile规则搬运。LoadData卷积数据搬运L1 BufferL0B BufferMTE1将L1 Buffer中的3D格式分形矩阵搬运至L0B Buffer支持3D-Tile规则搬运支持配置输出矩阵K轴方向偏移量。LoadDataWithStrideL1 BufferL0B BufferMTE1将L1 Buffer中的稠密权重矩阵搬运至L0B Buffer同时支持稀疏解压。LoadDataWithSparseL1 BufferBiasTable BufferMTE1将L1 Buffer中的偏置数据连续搬运至BiasTable Buffer供矩阵计算使用。DataCopyL1 BufferBiasTable BufferMTE1将L1 Buffer中的偏置数据通过高维切分方式搬运至BiasTable Buffer。DataCopyL1 BufferFixpipe BufferFixPipe将矩阵数据搬出需要的随路量化和随路relu参数从L1 Buffer连续搬运至Fixpipe Buffer。DataCopyL1 BufferFixpipe BufferFixPipe将矩阵数据搬出需要的随路量化和随路relu参数从L1 Buffer通过高维切分方式搬运至Fixpipe Buffer。DataCopyL0C BufferGlobal MemoryFixPipe将Cube计算结果从L0C Buffer搬运到Global Memory支持随路量化和激活后处理。DataCopyL0C BufferGlobal MemoryFixPipe将Cube计算结果从L0C Buffer搬运到Global Memory通过FixPipe流水完成量化、激活、格式转换。FixPipeL0C BufferL1 BufferFixPipe将Cube计算结果从L0C Buffer搬运至L1 Buffer做中转支持随路量化和激活。DataCopyL0C BufferL1 BufferFixPipe将Cube计算结果从L0C Buffer搬运至L1 Buffer做中转通过FixPipe完成量化、激活、格式转换。FixPipeL0C BufferUnified BufferMTE3将Cube计算结果从L0C Buffer搬运至Unified Buffer支持随路量化和激活后处理。DataCopyL0C BufferUnified BufferMTE3将Cube计算结果从L0C Buffer搬运至Unified Buffer通过FixPipe完成量化、激活、格式转换。FixPipeUnified BufferUnified BufferPIPE_VUnified Buffer内部连续数据搬移。DataCopyUnified BufferUnified BufferPIPE_VUnified Buffer内部通过高维切分方式搬移数据。DataCopyUnified BufferUnified BufferPIPE_VUnified Buffer内部连续数据搬移。CopyUnified BufferUnified BufferPIPE_VUnified Buffer内部掩码式高维数据搬移。Copy【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/7/16 14:46:38

3个步骤,用手机打造你的随身物理实验室

3个步骤,用手机打造你的随身物理实验室 【免费下载链接】phyphox-android Physical Phone Experiments 项目地址: https://gitcode.com/gh_mirrors/ph/phyphox-android 想象一下,当你需要测量物体的加速度、分析声音频率或者研究磁场变化时&#…

2026/7/16 14:46:38

终极JupyterLab变量监控指南:数据科学家的调试利器

终极JupyterLab变量监控指南:数据科学家的调试利器 【免费下载链接】jupyterlab-variableInspector Variable Inspector extension for Jupyterlab 项目地址: https://gitcode.com/gh_mirrors/ju/jupyterlab-variableInspector 你是否曾在JupyterLab中编写复…

2026/7/16 14:46:38

Cython语法与Python语法对比及相互转换和Python引入C函数完整示例

1. 项目概述:为什么需要Cython?如果你写过Python,大概率遇到过性能瓶颈。循环慢、计算密集任务耗时、调用C库时接口繁琐……这些都是Python作为动态解释型语言的“原罪”。解释执行、动态类型,让它在灵活的同时牺牲了速度。而Cyth…

2026/7/16 16:01:46

魔兽世界字体补全终极方案:3分钟解决游戏乱码问题

魔兽世界字体补全终极方案:3分钟解决游戏乱码问题 【免费下载链接】Warcraft-Font-Merger Warcraft Font Merger,魔兽世界字体合并/补全工具。 项目地址: https://gitcode.com/gh_mirrors/wa/Warcraft-Font-Merger 还在为《魔兽世界》游戏中的方块…

2026/7/16 16:01:46

OpenFPGA:重新定义硬件设计自动化的开源FPGA架构引擎

OpenFPGA:重新定义硬件设计自动化的开源FPGA架构引擎 【免费下载链接】OpenFPGA An Open-source FPGA IP Generator 项目地址: https://gitcode.com/gh_mirrors/op/OpenFPGA 在当今数字化转型浪潮中,开源FPGA工具正成为硬件设计自动化的关键技术突…

2026/7/16 16:01:46

百度网盘macOS客户端速度优化工具的技术原理与使用指南

百度网盘macOS客户端速度优化工具的技术原理与使用指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 对于macOS用户而言,百度网盘客户端的…

2026/7/16 16:01:46

Twine完整指南:如何快速掌握互动叙事创作

Twine完整指南:如何快速掌握互动叙事创作 【免费下载链接】twinejs Twine, a tool for telling interactive, nonlinear stories 项目地址: https://gitcode.com/gh_mirrors/tw/twinejs Twine是一款功能强大的开源互动叙事创作工具,让你能够轻松创…

2026/7/16 15:56:46

Qt6开发入门:在OpenEuler上创建你的第一个跨平台应用

Qt6开发入门:在OpenEuler上创建你的第一个跨平台应用 【免费下载链接】qt6 Qt6 meta package 项目地址: https://gitcode.com/openeuler/qt6 前往项目官网免费下载:https://ar.openeuler.org/ar/ 想要在OpenEuler上快速上手Qt6开发吗&#xff1f…

2026/7/15 17:04:06

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/15 22:21:34

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/15 23:18:22

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/16 0:04:06

AD9215BRUZRL7-105是一款工业 10bit 流水线模数转换器

型号介绍AD9215BRUZRL7-105 是一款10 位单通道高速流水线模数转换器,它采用模拟单电源独立供电 数字驱动分离供电双电源架构,模拟电源 AVDD 额定 3V,允许工作区间 2.7V~3.3V;数字驱动电源 DRV 独立设计,支持 2.25V~3.…

2026/7/16 0:04:06

LTC4418IUF#TRPBF是一款工业级双通道控制器

型号介绍LTC4418IUF#TRPBF 是一款工业级双通道电源路径控制器,它芯片采用 20 引脚 4mm4mm QFN 封装,底部附带外露散热焊盘作为 21 号 GND 引脚,热阻 θJA 为 47℃/W、θJC 仅 4.5℃/W,散热性能适配大功率切换场景;温区…

2026/7/16 0:04:06

uos-exporter核心组件解析:10个关键监控导出器功能详解

uos-exporter核心组件解析:10个关键监控导出器功能详解 【免费下载链接】uos-exporter uos-exporter collects metrics from os 项目地址: https://gitcode.com/openeuler/uos-exporter 前往项目官网免费下载:https://ar.openeuler.org/ar/ uos-…

2026/7/16 13:58:36

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…