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.