AMDGPU 驱动(KMD + UMD)中的一些缩写词解释

AMDGPU 驱动(KMD + UMD)中的一些缩写词解释

Glossary

GPU Hardware

这里的 hardware block, IP (Intellectual Property) block, controller, processor, engine 基本上都是指一个具有相对独立功能的硬件处理单元。

Abbr.

Stands for

Description

GMC

Graphics Memory Controller

管理 GPU 上不同 IP 如何获取内存 (VRAM) 的控制器,它也提供每进程 GPU 虚拟地址空间的支持(听起来有点像 MMU)

IH

Interrupt Handler

GPU 上的中断控制器

PSP

Platform Security Processor

处理 SoC 上的安全策略,执行 trusted app, 为其它 IP 验证和加载固件程序

SMU

System Management Unit

SoC 的电源管理微控制器,驱动通过这个模块来控制芯片的时钟,电压域,电源轨等

DCN

Display Controller Next

显示控制器

SDMA

System DMA

多功能 DMA engine, KMD 利用它完成分页,GPU 页表更新,而且它通过 UMD 暴露给用户态使用

GC

Graphics and Compute

GFX/Compute engine, 这是 GPU 上最大的 IP, 它包含 3D pipeline 和 shader cores

VCN

Video Codec Next

Multi-media engine,它处理视频和图像的编解码,通过 UMD 暴露给用户态使用

CP

Command Processor

包含 GFX/Compute engine 的前端,一批微控制器,包括 PFP,ME,CE,MEC,它们上面运行固件代码,为驱动提供与 GFX/Compute engine 进行交互的接口

CE

Constant Engine

GFX CP 里的一个小处理器,主要用来更新 buffer descriptor 以便异步地将 PFP/ME 使用的 buffer 加载进 cache

PFP

Pre-Fetch Parser

GFX CP 里的一个小处理器,需要给它加载 µCode 去执行, 从名字能看出来它是预取 packets 的

ME

MicroEngine

GFX CP 里的一个小处理器,它和 PFP 组成一个 Drawing Engine,可以和 CE 异步执行

MEC

MicroEngine Compute

微控制器用来控制 GFX/Compute engine 上的 compute queues, Compute Engine 一般有 2 个 MEC, 而且每个 MEC 支持 32 个 HW ring(queue)

MES

MicroEngine Scheduler

一个新的微控制器用来控制 queues, 估计既可以控制 compute queues, 也可以控制 gfx queues, 而且它上面运行的固件可能取代现有的内核 gpu scheduler, 而变成 firmware-based scheduling 😃 猜

RLC

RunList Controller

又一个 GFX/Compute engine 里的微控制器,用来处理 GFX/Compute engine 内部的电源管理,至于名字是历史遗留,与它的功能没有毛关系

Driver

Abbr.

Stands for

Description

KIQ

Kernel Interface Queue

KMD 的一个控制队列,用来管理 GFX/Compute engine 上的其它队列

IB

Indirect Buffer

某个特定 engine 的 command buffer, 通常不是直接将命令写入硬件 queue 里,而是先将命令写入一块内存,然后再将内存的地址写入硬件 queue

HQD

Hardware Queue Descriptor

kernel queues 或 user queues 将“映射”到一个 HQD, 一个 HQD 可能就是一个 MMIO 地址寄存器。kernel queues 和 user queues 映射的区别是, kernel queues 总是静态地映射到一个 HQD, 而 user queues 由 MES 动态地 映射到剩余的所有其它 HQDs

MQD

Memory Queue Descriptor

定义 queue 的状态,包括 GPU virtual address, doorbell 等,驱动为每个它创建的 queue 设置一个 MQD, MQD 被交给 MES firmware 去映射

KFD

Kernel Fusion Driver

AMD APU 芯片的内核驱动, 主要用于 HSA 架构的芯片

KGD

Kernel Graphics Driver

AMD GPU 芯片的内核驱动, 主要用于独立显卡和 OEM 上的 GPU 芯片

RAS

Reliability, Availability, Serviceability

AMDGPU 驱动的一个功能特性,帮助错误检测上报,错误处理和调试

References

Kernel Doc

相关推荐

米 自 厘米
365bet365官网

米 自 厘米

📅 06-30 👁️ 6420
若日尼奥:如果我选择巴西而非意大利那就是忘恩负义
国色芳华
365bet网络足球赌博

国色芳华

📅 07-08 👁️ 5323