CUDA 知识点:为什么锁页内存会更快? | CUDA
CUDA 驱动程序通过检查内存范围判断某个地址是锁页内存还是分页内存。锁页内存存储在物理内存中,因此 device 可以在没有 CPU 帮助的情况下获取它(通过DMA)。分页内存在通过 DMA 访问时会产生缺页中断,并且它有可能在磁盘上。在这种情况下,device 需要访问分页内存的每一页,将其拷贝到锁页内存缓冲区,然后再将其通过 DMA 一页页拷贝到 device 上。所以,使用锁页内存更快是因为省掉了从分页内存拷贝到锁页内存的时间。
CUDA 知识点:为什么锁页内存会更快? | CUDA