I would like to know how much free memory there is on my device before allocating buffers. Is this possible? I know there's CL_DEVICE_GLOBAL_MEM_SIZE
for total memory, and CL_DEVICE_MAX_MEM_ALLOC_SIZE
for max size of a single object, but I would like to know the current memory state.
As it stands I'm probably going to have to use OpenGL vendor-specific extensions.
Нет, это невозможно, и знать об этом не нужно, память графического процессора может быть виртуализирована, и драйвер будет загружать/извлекать память из графического процессора, когда она не нужна/не нужна.
Вы можете использовать GL_NVX_gpu_memory_info на nVidia.