如何增加"全局内存"可用于Intel CPU OpenCL驱动程序?

时间:2013-08-31 23:50:28

标签: memory opencl cpu intel amd-processor

我的系统有32GB内存,但英特尔OpenCL实现的设备信息显示为“CL_DEVICE_GLOBAL_MEM_SIZE:2147352576”(~2GB)。

我的印象是,在CPU平台上,全局内存是“正常”内存,因此OpenCL CPU实现应该可以使用~30 + GB。 (当然我使用的是64位版本的SDK)

是否有某种秘密设置告诉Intel OpenCL驱动程序增加全局内存并使用所有系统内存?

1 个答案:

答案 0 :(得分:1)

已解决:通过将所有内容重新编译为64位来实现它。看起来很愚蠢,但我认为OpenCL的工作方式类似于OpenGL,你可以轻松分配,例如来自32位进程的8GB纹理内存和驱动程序为您处理细节(当然,您无法在一次扫描中分配8GB,但例如传输多个纹理,总计超过4GB)。

我仍然认为将OpenCL内存抽象限制到进程的地址空间(至少对于intel / amd驱动程序)是令人恼火的,但也许有一些微妙的细节或性能权衡,为什么选择这个实现。