我们正在研究一个原型,在那里我们打算使用GPU内存作为"GPU RAM磁盘“。目前,我们有一个用户模式模块,它使用OpenCL将数据复制到GPU内存和从GPU内存复制数据。
我们更喜欢直接从Windows访问GPU内存的方法(从而减少引入的f.e的开销。通过上下文切换)。实现这一目标的最佳途径是什么?
发布于 2012-02-24 23:33:55
您要寻找的特性称为零拷贝内存。最近来自AMD和NVIDIA的GPU都支持它。我个人不熟悉NVIDIA在OpenCL中的零拷贝支持(我知道它在数据自动化系统中得到了很好的支持)。AMD的零拷贝支持在他们的OpenCL编程指南:http://developer.amd.com/sdks/AMDAPPSDK/assets/AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide.pdf中有很好的记录。
具体参见表4.2(OpenCL内存对象属性),以了解要传递给clCreateBuffer的标志。您很可能希望使用CL_MEM_USE_PERSISTENT_MEM_AMD,它在设备(GPU)内存中分配可从主机访问的内存。
https://stackoverflow.com/questions/9226130
复制相似问题