About 5 months ago we started waiting for Mobile OpenCL. Meanwhile we had all the news around ARM on CES in January, and of course all those beta-programs made progress meanwhile. And after a year of having “support“, we actually want to see the words “SDK” and/or “driver“. So who’s leading? Ziilabs, ImTech, Vivante, Qualcomm, FreeScale or newcomer nVIDIA?
Mobile phone manufacturers could have a big problem with the low-level access to the GPU. While most software can be sandboxed in some form, OpenCL can crash the phone. But at the other side, if the program hasn’t taken down the developer’s test-phone, the chances are low it will take any other phone. And also there are more low-level access-points to the phone. So let’s check what has happened until now.
Note: this article will be updated if more news comes from MWC ’11.
OpenCL EP
For mobile devices Khronos has specified a profile, which is optimised for (ARM) phones: OpenCL Embedded Profile. Read on for the main differences (taken from a presentation by Nokia).
Main differences
- Adapting code for embedded profile
- Added macro __EMBEDDED_PROFILE__
- CL_PLATFORM_PROFILE capabilityreturns the string EMBEDDED_PROFILE if only the embedded profile is supported
- Online compiler is optional
- No 64-bit integers
- Reduced requirements for constant buffers, object allocation, constant argument count and local memory
- Image & floating point support matches OpenGL ES 2.0 texturing
- The extensions of full profile can be applied to embedded profile