第一生活网

3月8日AMDGPU Linux 驱动程序更新允许跨多个引擎的多个用户同时执行

黄明晶
导读 AMDGPU Linux 内核驱动程序将看到一个新接口,该接口允许用户空间将分配引入 GPU 编码,合格用户将同时在众多引擎中实现。AMDGPU Linu...

AMDGPU Linux 内核驱动程序将看到一个新接口,该接口允许用户空间将分配引入 GPU 编码,合格用户将同时在众多引擎中实现。

AMDGPU Linux 内核驱动程序允许多个用户同时在不同引擎上添加和编辑 GPU 上的任何工作

长期 AMD 开源 Linux 驱动程序开发人员 Christian König 本周早些时候为平台的 AMDGPU Direct Rendering Manager 驱动程序发送了新的“帮派提交”接口补丁系列。AMD Radeon 命令流 (CS) 的提交确保工作将同时在各种引擎上进行。

NVIDIA Blackwell 架构获得 Hopper、GB100 和 GB102 GPU 的成功确认

允许以需要同时在多个引擎上运行的 gang 形式提交作业。该帮派的所有成员都获得相同的隐式、显式和 VM 依赖项。因此,在其他一切准备就绪之前,任何帮派成员都不会开始奔跑。最后一个作业被认为是帮派头目(通常是提交给 GFX 环)并用于指示输出依赖关系。

Direct Rendering Manager (DRM) 是 Linux 内核的一个子系统,负责与现代显卡的 GPU 连接。DRM 最初是作为 X Server Direct Rendering Infrastructure 的内核空间组件开发的,但现在被其他图形堆栈选项(例如 Wayland)使用。DRM 公开了一个 API,用户空间应用程序可以使用该 API 向 GPU 发送命令和信息并完成操作,例如自定义图形显示的模式设置。

gang 提交保证多个 IB 可以同时在不同的引擎上运行。这是通过保持一个由 dma_fence 表示的全局每设备 gang 来实现的,该 dma_fence 会在 gang 中的所有作业被推送到硬件时立即发出信号。其效果是,只要 gang 的成员在等待提交,其他 gang 就不能开始将作业推送到硬件,因此有效地防止了死锁。整个集合基于我的 dma_resv_usage 工作和一些从 amd-staging-drm-next 合并而来的补丁,因此它不会轻易应用于任何地方。