1. 概述
在 AMD ROCm 平台的 HSAKMT内存管理模块中,mem_handle_aperture 是一个专门用于管理无虚拟地址(NoAddress)分配的特殊 aperture(参见aperture基本概念)。它为那些只需要 GPU 句柄、但不需要映射到进程虚拟地址空间的内存分配(如 VRAM-only、导入的 DMA buffer、部分共享内存等)提供了统一的生命周期管理和资源追踪机制。
本文将详细介绍 mem_handle_aperture 的设计动机、实现方式、典型应用场景、与其他 aperture 的区别。
2. 设计动机与用途
2.1 为什么需要 mem_handle_aperture
在 GPU 计算和显存管理中,部分内存分配场景下,内存块并不需要映射到用户进程的虚拟地址空间。例如:
- 仅在 GPU 侧使用的显存分配(VRAM-only),如
HsaMemFlags.NoAddress为真; - 导入的外部显存资源(如通过 DMA buffer 导入的显存),只需要一个
订阅专栏 解锁全文
88

被折叠的 条评论
为什么被折叠?



