I like to announce my project, called CLara, which deals with providing OpenCL platforms and devices via network.
It consists of three components: a provider, an agent and a consumer. The provider is a network client program that provides the computing devices using a locally installed OpenCL library of a hardware vendor. It connects to the agent which is a kind of proxy server that handles all requests from so-called consumers. The consumer is actually your OpenCL program linked against a library that handles the network communication transparently. The application doesn’t know that the computing device is at a remote host.
The development of the framework is at a very early stage, but it is already working. The concept is proven. The implementation of the OpenCL API is almost complete. Simple programs are working, but the framework is not fault tolerant yet. There is still a lot to do.
Things you should know:
- CLara uses SCTP/IP as communication protocol
- you can use existing OpenCL applications without recompilation
- there’s a simple load-balancing and resource allocation mechanism
- CLara is currently provided under the terms of GPL
- the development was initiated at the Technical University of Berlin, Germany
I’m greedily awaiting your questions, comments, feedback, bug reports and so on.