查询我正在使用的特定设备,我发现CL_DEVICE_MAX_MEM_ALLOC_SIZE = 0.4 GB
。根据我的理解,此值是可以创建的最大缓冲区大小。但是,当我执行
clCreateBuffer(context,
CL_MEM_READ_WRITE | CL_MEM_COPY_HOST_PTR,
sizeof(Object)*n,
&obj,
&error);
sizeof(Object)*n ~= 0.2 GB
,我收到CL_OUT_OF_HOST_MEMORY
错误。我猜我对这两个参数有误解,并希望我能得到一些澄清。