ocland Frequently Asked Questions
What is ocland?
ocland (OpenCL Land) is a cloud computing OpenCL interface. ocland will connect to the
servers that you specify getting the OpenCL devices available, allowing you to perform
computations along the network without changing your code!
How runs ocland?
ocland is composed by 2 parts:
- Server application
- Client ICD (Installable Client Driver)
When can't I use ocland?
You can use ocland with almost the applications that uses OpenCL, but since ocland usage
implies network traffic, is designed only for heavy computations, where the computation time
can compensate the network traffic requirements.
Since ocland is running the OpenCL commands in other computer for the moment two allowed
operations in the OpenCL specifications are not supported:
- Shared pointers
- Callback functions
Can I optimize my applications for ocland?
You can optimize your applications for ocland trying to reduce as much as possible the
network traffic reducing the times that you reads or write memory on devices. Some actions
can be taken into account...
- Reading and writting memory from/to devices can require the transfer of huge amounts of data. In OpenCL is generally suggested reduce this operations as much as possible, but in ocland is more relevant due to the generalized bad network capabilities.
- Is strongly recommended to reduce kernel arguments set operations as much as possible. Consider send constant variables only one time (if the buffers contents are modified don't implies that the buffer changes, send it only the first time).
- Each command executed on OpenCL requires network traffic, so try to don't call unnecessary OpenCL commands.