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

Ascend C算子开发 之昇腾硬件架构详解

一、昇腾AI处理器整体架构概览

昇腾AI处理器采用的是Host + Device异构计算模型。简单说,Host指CPU端服务器,负责运行管理、任务调度等控制类工作;Device指昇腾AI处理器(NPU),专门承担计算密集型的任务。二者通过PCIe接口连接,协同完成计算任务。

昇腾AI处理器的核心组件分为以下四层:

  • AI Core:执行标量、向量和矩阵计算的计算密集型算子,是昇腾AI处理器的算力心脏。
  • AI CPU:承担非矩阵类、逻辑比较复杂的分支密集型计算,作为AI Core的补充。
  • L2 Cache:位于Global Memory和AI Core之间的中间级缓存,多核共享,用于缓存频繁访问的数据,读写带宽远高于Global Memory。
  • Global Memory(HBM):设备主存,存储大规模数据,容量大但访问延迟高,是所有AI Core共享的外部存储。

这里有个关键点:Ascend C开发的算子,正是运行在AI Core上的。这意味着,写的每一行Ascend C代码,最终都会被编译成在AI Core上执行的指令。

二、AI Core微架构深度解析

AI Core是整个昇腾AI处理器中最复杂的部分。官方文档将其硬件抽象架构总结为三大组件:计算单元、存储单元、搬运单元,三者协同完成数据处理。此外,昇腾AI处理器根据Cube和Vector的部署方式,分为耦合架构和分离架构。简单说,耦合架构两者同核部署,分离架构则拆成独立的AIC和AIV核,各有其优势和适用场景。

架构分类
分离架构示意图

AIC (AI Cube) —— 矩阵计算核心
组件作用
Cube矩阵计算单元。AI Core上的Cube计算单元,负责执行矩阵运算。以float16数据类型为例,Cube每次执行可完成两个float16类型的16x16矩阵的乘法操作。
MTE1片上数据搬运单元。Memory Transfer Engine 1,AI Core的数据传递引擎,负责将数据从L1 Buffer搬运到L0A Buffer或L0B Buffer等。注意:不同硬件能力可能有差异。
MTE2数据搬运单元。Memory Transfer Engine 2,AI Core的数据传递引擎,负责将数据从GM搬运到L1 Buffer、L0A Buffer、L0B Buffer、Unified Buffer等。注意:不同硬件能力可能有差异。
FixPipe结果后处理与搬运单元。AI Core中负责将矩阵计算结果从L0C Buffer搬运到Global Memory或L1 Buffer的单元,搬运过程中随路完成量化、激活等操作。
L1 BufferAI Core内部物理存储单元,空间相对较大,通常用于缓存矩阵计算的输入数据。 矩阵计算的输入一般需要从GM搬运到L1 Buffer,然后分别搬运到L0A Buffer和L0B Buffer。L1 Buffer与逻辑内存AscendC::TPosition::A1、AscendC::TPosition::B1相对应。
L0A BufferAI Core内部物理存储单元,通常用于存储矩阵计算的左矩阵,与逻辑内存AscendC::TPosition::A2相对应。
L0B BufferAI Core内部物理存储单元,通常用于存储矩阵计算的右矩阵,与逻辑内存AscendC::TPosition::B2相对应。
L0C BufferAI Core内部物理存储单元,通常用于存储矩阵计算的结果,与逻辑内存AscendC::TPosition::CO1相对应。
FP BufferFixPipe专用缓存。AI Core内部物理存储单元,通常用于存储Fixpipe搬运过程中所需的量化参数等数据,与逻辑内存AscendC::TPosition::C2PIPE2GM相对应。
http://www.jsqmd.com/news/597677/

相关文章:

  • 3分钟掌握原神抽卡策略:浏览器端祈愿模拟器深度解析
  • HAL_ADC_Start_DMA多通道采集卡死:从数组越界到内存对齐的深度排查
  • Chord视频分析工具精度验证:边界框IoU与时间戳误差实测
  • ZoteroDuplicatesMerger:文献库智能去重解决方案的技术深度解析
  • 从零开始理解带隙基准:为什么你的CMOS电路总受温度影响?(含Mismatch避坑指南)
  • 2140基于51单片机的8x8字母数字符号键盘系统设计
  • 保姆级教程:用uni-app搞定蓝牙设备双向通信(附完整代码与数据转换避坑指南)
  • 在C# WinForm中可视化点云:结合Q_PclSharp与VTK渲染PCD/PLY数据实战
  • oracle备库搭建
  • 2026全新UI解析计费系统源码 附教程
  • 避开地图偏移的坑:GCJ02/WGS84/BD09坐标系转换原理与最佳实践
  • 2136基于51单片机的8255八位八模式流水灯控制系统设计
  • 美国展览装修公司哪家性价比高,秀优懂美国规则全程省心 - myqiye
  • NHSE:打造完美动森岛屿的终极免费存档编辑器
  • ai赋能windows开发:借助快马平台,轻松为你的应用添加智能图片识别功能
  • 如何快速解锁网易云音乐NCM格式:3步轻松转换MP3的完整指南
  • httpspider全局抓包,直接抓取下载模拟器 手机 平板 电视中的数据(视频 音乐 直播
  • BOTW Save Editor GUI:解决游戏存档修改难题的5种创新方法
  • 从零到一:基于EtherNET/IP Scanner Demo的PLC数据交互实战配置
  • Docker-compose实战:5分钟搞定微服务+MySQL+Redis一键部署(附完整配置)
  • 聊聊2026年哈尔滨汽车座椅改装机构,哪家汽车座椅改装公司性价比高 - mypinpai
  • 2137基于51单片机的8255扩展交通灯控制系统设计(固定时序)
  • Phi-4-mini-reasoning代码生成实战:从注释到完整Java类
  • 如何解决e621社区浏览的个性化难题:e1547的本地化智能方案
  • 番茄小说下载器:全能解析引擎驱动的一站式数字阅读解决方案
  • 聚类算法效果评估实战:从轮廓系数到CH分数,手把手教你选对指标
  • 主题:解放Touch Bar潜能:DFRDisplayKm驱动的跨系统硬件适配革命
  • SQL批量插入技巧
  • 一次电商订单履约压测复盘:从线程池满到异步解耦的性能破局
  • 3分钟快速上手:全平台资源嗅探下载神器res-downloader完整指南