Multiple multicore CPUs and Fusion or Sandy Bridge

Multiple (e.g., 2 or 4 socket) multicore CPUs are accessible as a single device within OpenCL. With the introduction of a single die combining a CPU and GPU, would these GPUs in a multi-socket system also be accessible as a single device?

I think it would depend on AMD/Intel’s OpenCL driver to handle that - and it might be a quest best asked on their developer forums.

My guess would be that they would try to have it be a single device for consistency with the multi-multicore CPUs.

It would also make using OpenCL on a multi-Fusion / multi-Sandy Bridge system easier.

However, I’m not too familiar with the specifics of the architecture, so there may be some reason that they can’t do it like that.

from Intel’s Sandy Bridge i7-2820QM: Upheaval in the Mobile Landscape

It appears that the Sandy Bridge GPUs are non-programmable - that could limit the use of OpenCL to just the CPU when used with Sandy Bridge.

from http://software.intel.com/en-us/forums/ … hp?t=79766

It seems true that the GPU in Sandy Bridge isn’t currently exposed in OpenCL, and Intel is being quite closed lipped about if they will add support for it in the future.

I still wonder about the AMD Fusion APU. If they’re accessible as one device that would be awesome.

Do you mean that the CPU cores and the GPU will be exposed as one device in OpenCL?
I very much doubt that… Distributing work across multiple CPUs is easy because they’re generally homogeneous (all CPU cores are the same). But you need a very sophisticated runtime to distribute work across heterogeneous cores (CPUs and GPUs). I’d be very surprised to see that as part of the OpenCL implementation itself.

Do you mean that the CPU cores and the GPU will be exposed as one device in OpenCL?

I meant that the GPUs would all be a single device, not including the CPUs. However, meanwhile the CPUs are all a single device. So a 4 socket Fusion system could potentially show just one CPU device and one GPU device. Anyways, I know someone ordering some systems like this so I’ll ask them to test it out.

Oh, I see. That’s an interesting point. I didn’t know there were multi-socket Fusion systems. Please let us know when you know more.