任何GPU都支持细粒度系统SVM吗?

时间:2017-10-10 08:43:17

标签: opencl gpgpu

OpenCL 2.0引入了Shared Virtual Memory (SVM),允许在主机和设备之间共享虚拟内存地址。

有许多不同的SVM功能,请参阅cl.h的摘录:

/* cl_device_svm_capabilities */
#define CL_DEVICE_SVM_COARSE_GRAIN_BUFFER           (1 << 0)
#define CL_DEVICE_SVM_FINE_GRAIN_BUFFER             (1 << 1)
#define CL_DEVICE_SVM_FINE_GRAIN_SYSTEM             (1 << 2)
#define CL_DEVICE_SVM_ATOMICS                       (1 << 3)

根据英特尔的this articleCL_DEVICE_SVM_FINE_GRAIN_SYSTEM功能意味着OpenCL设备可以共享操作系统&#39;地址空间,没有为它创建一个SVM缓冲区。

使用CPU设备支持细粒度SVM应该相对简单。我的(第6代,Skylake)系统报告它使用英特尔CL_DEVICE_SVM_FINE_GRAIN_SYSTEM支持Experimental OpenCL 2.1 CPU Only Platform。但是,Skylake GPU和CPU使用普通CL_DEVICE_SVM_FINE_GRAIN_SYSTEM平台 支持Intel(R) OpenCL

我可以想象,显卡上的GPU支持细粒度SVM非常困难(如果不是不可能!)。但是,APU上的GPU(例如Intel i7AMD A10)应该可以支持它。

是否有任何GPU支持细粒度系统Shared Virtual Memory

0 个答案:

没有答案