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

Ivpu任务队列详解

一、和AMDXDNA的区别

Intel IVPU 是以 SHAVE 向量核阵列 + CMX 共享暂存器为核心,采用单层直通提交、参数化动态 Shape 适配、固件自治调度的客户端低功耗 NPU。

Intel的Ivpu和AMDXDNA架构还是有很大区别的,AMDXDNA是2d空间阵列,计算核心的代码放在每个Tile的计算核心机器码存储在16k的progamme memory里,执行的时候会从0地址执行,一直到done为止,数据在每个Tile间流动。

关于AMDXDNA的架构,可以参考这篇文章,写得挺好的:

探秘 AMD NPU 的底层编程接口,对比和高通 NPU 的差异 - 知乎

和AMDXDNA的整个执行阶段计算核心机器码是放在每个Tile的16k的programme memory不同,Intel的计算核心是一个叫做shave的dsp,他的指令是放在host端的ddr ram里的。当运行的时候再搬到shave的cache,类似于这样:

[编译期] VPUX 生成 .blob → 用户态 mmap 写入 GEM BO (instr_bo)

[驱动期] drm_gem_object 分配在系统内存 (Host DDR/CMA)
→ IOMMU 映射 → 生成 NPU 可见的 IOVA 地址

[运行期] NPU Command Streamer 解析 batch_bo
→ 遇到 CMD_EXEC_KERNEL → 硬件指令 DMA 引擎启动
→ 通过 IOMMU 直接从 Host DDR 按序拉取指令块
→ 填入 SHAVE 片上 I-Cache (32~64KB)
→ SHAVE 核从 I-Cache 取指执行


二、任务队列里放啥

之前说过,amdxdna的任务队列放的是command buffer,这个command最终有可能会调用到64M的Instruction buffer,去执行npu相关的dma、以及启动kernel之类的操作。那么在Ivpu体系中,和Instruction buffer对等的一个概念是batch buffer,只不过batch buffer里的内容,因为intel是闭源的,我们无从知晓,但是大概可以猜到,无非还是dma、执行kernel之类。

看一下ivpu的job结构体,batch buffer是嵌入在这个结构中的:

c// 文件:vpu_jsm_api.h:L243-267 struct vpu_job_queue_entry { // ⭐ 核心:指向 Batch Buffer(命令包) u64 batch_buf_addr; // ← Batch Buffer 的 VPU 地址 u32 job_id; // Job ID u32 flags; // 标志位 u64 doorbell_timestamp; // Doorbell 时间戳 u64 host_tracking_id; // Host 追踪 ID // 抢占缓冲区(可选) u64 primary_preempt_buf_addr; u32 primary_preempt_buf_size; u32 secondary_preempt_buf_size; u64 secondary_preempt_buf_addr; };

与固化的Instruction buffer不同,batch buffer是每次任务提交都会产生新的内容的

特性

AMD XDNA

Intel VPU (ivpu)

代码存储

Instruction Buffer

(64MB, 持久化)

Batch Buffer

(嵌入在 Job 中,一次性)

命令提交

Command Buffer (含 Inst Buffer 指针)

Job Queue Entry (含 Batch Buffer 地址)

固件角色

ERT 读取 Inst Buffer 执行

Firmware 解析 Job Queue + Batch Buffer

生命周期

Inst Buffer 与 Context 同生共死

Batch Buffer 随 Job 提交即释放

映射方式

双重映射(用户态 + ERT)

仅设备映射(通过 MMU)

三、计算核心机器码放在哪里

一次大模型的编译,最终会生成一个大的elf文件,其中会把需要用到的kernel函数都放进去。

参考一下

SHAVE:Intel NPU 里的可编程处理器 - 知乎

npu_compiler仓库里,sw_runtime_kernels/kernels/prebuild/act_shave_bin/目录下存放了所有预编译好的 SHAVE kernel ELF。截至目前,这个目录包含719 个 ELF 文件,覆盖195 个不同的 kernel family,横跨 4 种架构变体(3720xx、3720xx_lsu0_wo、4000xx、5000xx)。

这些 ELF 被提交到仓库,原因很直接:编译器需要它们才能工作。

编译器在处理模型时,遇到需要 SHAVE 执行的操作,就会从这个预编译库里按 kernel 名和目标架构查找对应的 ELF,提取代码和数据段,嵌入最终的 NPU 可执行文件。没有这些 ELF,编译器就无法为 SHAVE 生成任何任务。

假设这个大的elf文件是如下结构:

model.blob (最终产物) ├─ Header (Magic, Version, Signature, Kernel Count=N) ├─ .text ← 所有 Kernel 的 VLIW 指令流线性拼接 │ ├─ [0x0000 ~ 0x1A40] Kernel_0 (Conv+ReLU) │ ├─ [0x1A40 ~ 0x3C20] Kernel_1 (MatMul+KV) │ └─ [0x3C20 ~ 0x5E00] Kernel_2 (LayerNorm+Softmax) ├─ .kernel_desc ← 索引表:{id, entry_offset, size, params_layout} ├─ .cmx_layout ← 全局内存分区规划(多 Kernel 复用/隔离策略) └─ .tiling_table ← 动态 Shape 适配公式

在推理进行的时候,runtime会根据需要组装成不同的batch buffer,这些batch buffer命令最终会调用到具体的kernel。

场景行为batch_bo变化
顺序执行(如 Conv → MatMul → Softmax)插件按依赖链依次提交entry_offset0x00000x1A400x3C20切换
条件分支/动态路由插件根据输入 Shape/分支条件选择 Kernelentry_offset动态跳转,instr_bo_iova不变
多请求并发同一.blob被多个infer_request引用

各请求独立构建batch_bo,共享同一instr_bo基址

http://www.jsqmd.com/news/617815/

相关文章:

  • 奥特莱斯哪家加盟好?想开运动品牌折扣店必看的创业指南 - 博客万
  • 西门子PLC大型伺服控制系统:20轴程序+多通讯方式+智能IO+机械手与气缸控制
  • 高性能截图工具架构深度解析:模块化设计与OCR识别优化指南
  • 概念通胀:在亚马逊,为何“什么都想代表”的品牌最终“什么都不代表”
  • 2026年陕西保姆市场深度解析:专业家政公司如何守护万千家庭 - 深度智识库
  • 2026年五家geo优化机构评测由模型品牌穿透率指引优选决策 - 博客湾
  • 2026年陕西家庭保洁服务深度解析:以相伴无忧家政为样本的行业研究 - 深度智识库
  • AI 助力 Dragonwell Native 加速:10 倍性能提升机会的自动发现实践
  • QueryExcel:颠覆传统Excel查询思维,让数据查找效率提升90%的认知革命
  • 如何实现一台电脑多人同屏游戏?Nucleus Co-Op分屏工具完全指南
  • 零基础玩转实时口罩检测:基于DAMO-YOLO的快速部署与实战
  • 橡皮筋法则:在亚马逊,如何判断品牌延伸的“安全拉伸极限”
  • 保姆级避坑指南:在Ubuntu 20.04上搞定VINS-Fusion环境(含手机数据适配与源码修改)
  • 【ClaudeCode】Android APK ANR解析示例
  • 品牌资产定位:在亚马逊,为何你的“店铺”本身也需要一个战略身份
  • 2026 年西南地区贵州硫酸五大品牌排名及解析 - 十大品牌榜
  • 5分钟掌握KeymouseGo:免费开源鼠标键盘录制工具完全指南
  • Java 开发转型 AI Agent 开发之认识 Agent
  • “听劝!”预算1k内吉他别瞎买:雅马哈/布洛克/费森横评,这款单板琴让我惊掉下巴!
  • 科研演示新革命|虎贲等考 AIPPT:10 分钟打造专业学术演示文稿
  • Python微信机器人终极指南:5分钟打造你的智能聊天助手
  • 2026CRM系统对比:适配各规模企业,覆盖轻量与垂直场景 - 毛毛鱼的夏天
  • 通向黑灯工厂的关键拼图:TVA在智能工厂中的战略地位(4)
  • 权威发布:瓦努阿图护照移民,我们首推这家机构——睿港国际移民(持官方授权书) - 博客万
  • 400+强力RPG Maker插件集合:游戏开发效率提升终极指南
  • Rusted PackFile Manager:终极全面战争模组制作指南
  • 贵阳纳海川科技·送酒上门行业解决方案
  • 西南地区2026 年试剂硫酸贵州等地五大品牌排名及解析 - 十大品牌榜
  • 2002-2025年全球逐日土壤水分栅格数据
  • 西安纹眉推荐!西安纹眉价格?夏天出汗脱妆?久匠纹眉让我告别无眉大侠的尴尬 - 新闻快传