Is it possible to use the Intel HD 4000 integrated graphics and the discrete GPU at the same time with OpenCL (or CUDA) as devices and the CPU as the host? I want some code running on the integrated graphics while other code is running on my GPU at the same time.

1 Answer
1

It is possible to run OpenCL on some of the Ivy Bridge integrated GPUs using Intel's most recent Windows OpenCL SDK (available here). The Intel ICD will enumerate both the host CPU and integrated GPU as OpenCL capable devices. You will then need to use the discrete GPU vendor's SDK and ICD to identify and enumerate that as an OpenCL device. Once that is done, contexts can be established on the GPUs and the standard OpenCL multi-gpu design patttern used to get code running on both devices. Whether this actually works in practice will depend on the support and stability of both vendor's SDKs.

I have an Ivy-Bridge + discrete GPU system and have confirmed that the Intel ICD enumerates the HD4000 as a compute device. I have not yet tried OpenCL simultaneously on both devices.