There is another solution not mentioned above: dOpenCL .
"dOpenCL (distributed OpenCL) is a new uniform approach to programming distributed heterogeneous systems with accelerators. It transparently integrates distributed system nodes into a single OpenCL platform. Thus, dOpenCL allows the user to run unmodified existing OpenCL applications in a heterogeneous distributed environment. In addition, it extends the OpenCL programming model to work with individual nodes of a distributed system. "
Paul jurczak
source share