Could somebody explain me one thing, that I don't understand:
Let's suppose I made a single OpenCL context for several GPUs.
1) I should make several queues in it, at least one of which has to be bound to a separate device (so, I still need to bother with devices anyway),
2) To create buffers/images I should provide only context - how will OpenCL runtime know where (on which GPU) to store them (in a case it's not a host memory)?
What the benefit of having the common context at all?