Open jonysy opened 7 years ago
Once a system has multiple devices, there are two main complications: deciding which device to place the com- putation for each node in the graph, and then managing the required communication of data across device bound- aries implied by these placement decisions.
OpenCL reference card Porting CUDA Applications to OpenCL
OpenCL
Contexts
Current implementation allows for a single context to encapsulate a single device only.
What's possible:
All the setups above require advanced scheduling + cross device execution is quite rare. Multiple platforms can exist on a single machine. Targeting multiple platforms is fine as long as contexts do not cross - meaning, one context per platform is required. In other words, an OpenCL context can only encapsulate devices from a single platform.
Queues
At least one command queue per device is required.
What's possible:
CUDA
Current implementation allows for a single context to encapsulate a single device only.
...