Global Memory Size
OpenCL™ “global” memory is allocated from system (host) memory for the CPU and the Intel® Graphics devices. The amount of available memory depends on the amount of computer system memory and the operating system (32 or 64 bit). For example, a system with 4GB of RAM running on a 32-bit OS usually has less than 3GB available for system memory. This impacts the amount of global memory available for the Intel® Processor Graphics and CPU device. Use the
clGetDeviceInfo(…,CL_DEVICE_GLOBAL_MEM_SIZE)
query to get information on the total
available amount of memory. Notice that the maximum size of an individual memory allocation for the device can be queried with clGetDeviceInfo(…,CL_DEVICE_MAX_MEM_ALLOC_SIZE)
.Your code should handle the failures to allocate resources, for example manifested by
CL_OUT_OF_RESOURCES
error.Global memory performance depends on the frequency of DDR memory.
Since global memory is shared between the CPU and the Intel® Processor Graphics, it is important to use mapping for memory objects (see the "Mapping Memory Objects" section).
See Also