从操作系统内核访问GPU内存

时间:2012-02-10 10:16:52

标签: windows kernel gpu

我们正在研究一种研究原型,我们打算将GPU内存用于“GPU RAM磁盘”。目前我们有一个用户模式模块,它使用OpenCL将数据复制到GPU内存和从GPU内存复制数据。

我们更喜欢直接从Windows内核访问GPU内存的方法(从而减少上下文切换引入的开销)。实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您要查找的功能称为零拷贝内存。 AMD和NVIDIA最近的GPU都支持它。我并不熟悉NVIDIA在OpenCL中的零拷贝支持(我知道它在CUDA中得到了很好的支持)。 AMD的零拷贝支持在其OpenCL编程指南中有详细记录:http://developer.amd.com/sdks/AMDAPPSDK/assets/AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide.pdf

有关要传递给clCreateBuffer的标志的说明,请参见表4.2(OpenCL内存对象属性)。您很可能希望使用CL_MEM_USE_PERSISTENT_MEM_AMD,它可以从主机访问设备(GPU)内存中分配内存。