当使用clCreateBuffer
在OpenCL中进行内存分配并使用clEnqueueWriteBuffer
进行写入时,如何确定要分配的内存(CPU内存或GPU内存)
如果正在分配GPU内存,如果分配大于内存限制,程序是否会失败? (或者会有像分页这样的东西)
答案 0 :(得分:1)
clCreateBuffer()
将返回一个空缓冲区,如果请求的缓冲区大小大于设备的CL_INVALID_BUFFER_SIZE
(可以使用该设备查询),则将错误代码设置为CL_DEVICE_MAX_MEM_ALLOC_SIZE
clGetDeviceInfo()
功能)。
有关详情,请参阅clCreateBuffer()
{{1}}。