
1. 背景与设计目标在现代 GPU 驱动架构中,虚拟内存(VM)机制是实现多进程安全、资源隔离、高效调度的基础。理解其功能划分和代码实现,有助于深入掌握 AMDGPU 的虚拟化机制和多进程资源管理策略。1.1 为什么需要虚拟内存管理GPU和CPU一样,需要虚拟内存管理来实现:地址空间隔离: 不同进程的GPU程序不能互相访问对方的内存大地址空间: 提供比物理内存更大的虚拟地址空间(通常48位)内存共享: 多个虚拟地址可以映射到同一物理页面按需分配: 虚拟地址可以先保留,物理内存按需分配内存保护: 通过页表项标志位控制读/写/执行权限GPU 的虚拟地址空间管理的更一般性实现是 drm 子系统中的 drm_gpuvm,因为 AMD 的 GPUVM 实现要比 drm_gpuvm 早,所以drm_gpuvm 的设计更合理些,感兴趣的可以去查阅:GPUVM:GPU 内存管理是 CPU MM 的“平行宇宙”。