I know there is a 128MB limit for a single block 开发者_开发问答of GPU memory on AMD GPU's. Is there a similar limit on Nvidia GPU's?
You can query this information at runtime using clGetDeviceInfo and CL_DEVICE_MAX_MEM_ALLOC_SIZE.
See clGetDeviceInfo Man Page for more information.
On GTX 560 clGetDeviceInfo
returns 256MiB for CL_DEVICE_MAX_MEM_ALLOC_SIZE, however I can allocate slightly less than 1GiB. See this thread discussing the issue.
On AMD however this limit is enforced. You can raise it by changing GPU_MAX_HEAP_SIZE and GPU_MAX_ALLOC_SIZE environment variables (see this thread).
精彩评论