4
votes

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
As far as I know, Intel's GPUs does not support OpenCL or any of other GPGPU libraries...aland
@aland: Intel quietly introduced OpenCL support for the Ivy Bridge HD4000 GPU a couple of months ago.talonmies

1 Answers

5
votes

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.

NVIDIA does not support CUDA on anything other than their own GPUs.