Since you bring up Imagination and Apple do you have any details on why Gokhan Avkarogullari from the iOS GPU driver team is saying that the PowerVR SGX does not natively support OpenCL? Imagination has demoed OpenCL running on SGX devices before. Was this done via some sort of emulation or are there certain limitations in the implementation? Or is Apple just not convinced of the usefulness of Embedded Profile? Current mobile GPUs may check the OpenCL support checkbox, but perhaps there are still limitations in hardware that make Apple and Google reluctant to enable support at this time.
My hypothesis (not based on actual data) is that the PowerVR 5XT performance on OpenCL is not that great. 5XT was designed before OpenCL was even ratified. Likely Apple will introduce OpenCL on iOS once Series 6 based iOS devices start shipping.
"At a very high level, Renderscript is to OpenCL as Java is to C+Assembly"
I rather say, as Java 2 from 1998 is to a modern C/C++ from 2011.
A lot of news about the OpenCL 2.0 announcement had a few words about an "Installable Client Driver for Android", but there is zero information available about that. I hope it is what it sounds to be...
Apple, who (corporations as people) doesn't need to worry about hardware variation can simply adopt a very strong hardware solution say... a Nvidia GPU+ARM big.LITTLE SOC that's somehow HUMA enabled and natively optimize the hell out of the code. Such a solution seems like it would pee and poo all over the Renderscript alternative from a generic Android device. I would like to be able to livestream 4K video from my smartphone in the next 5 years or less please, thx tech industry.
hopefully SoC vendors like Qualcomm will continue to ship OpenCL capability in their Android drivers, for even if Google isn't interested there are other platforms that can use Android SoC drivers via libhybis, like Jolla and Ubuntu, and possibly even Tizen.
there is coverage of this over at CHW.net, where they are claiming that Google not only removed openCL from 4.3, but changed LLVM so that software like drivers can't be written to leverage openCL and include it on their own, leaving some GPU manufacturers without this tool to differentiate their product.
To clarify, the clang frontend has been disabled but that does not affect non-Nexus devices in any way. Whether or not to ship proper OpenCL drivers with the full frontend enabled is still up to the device vendor.
We’ve updated our terms. By continuing to use the site and/or by logging into your account, you agree to the Site’s updated Terms of Use and Privacy Policy.
10 Comments
Back to Article
SetiroN - Thursday, August 1, 2013 - link
That's a shame... I was really looking forward to apps leveraging OpenCL for certain specific tasks, such as video and picture editing.ltcommanderdata - Thursday, August 1, 2013 - link
The OpenCL 2.0 spec specifically adds an extension for Android so presumably support is coming sooner or later. Seemingly later in this case.https://twitter.com/gavkar/status/3443555859841966...
Gokhan Avkarogullari: "No OpenCL driver. SGX does not natively support OpenCL."
Since you bring up Imagination and Apple do you have any details on why Gokhan Avkarogullari from the iOS GPU driver team is saying that the PowerVR SGX does not natively support OpenCL? Imagination has demoed OpenCL running on SGX devices before. Was this done via some sort of emulation or are there certain limitations in the implementation? Or is Apple just not convinced of the usefulness of Embedded Profile? Current mobile GPUs may check the OpenCL support checkbox, but perhaps there are still limitations in hardware that make Apple and Google reluctant to enable support at this time.
rahulgarg - Thursday, August 1, 2013 - link
My hypothesis (not based on actual data) is that the PowerVR 5XT performance on OpenCL is not that great. 5XT was designed before OpenCL was even ratified. Likely Apple will introduce OpenCL on iOS once Series 6 based iOS devices start shipping.xdrol - Thursday, August 1, 2013 - link
"At a very high level, Renderscript is to OpenCL as Java is to C+Assembly"I rather say, as Java 2 from 1998 is to a modern C/C++ from 2011.
A lot of news about the OpenCL 2.0 announcement had a few words about an "Installable Client Driver for Android", but there is zero information available about that. I hope it is what it sounds to be...
djscrew - Friday, August 2, 2013 - link
Apple, who (corporations as people) doesn't need to worry about hardware variation can simply adopt a very strong hardware solution say... a Nvidia GPU+ARM big.LITTLE SOC that's somehow HUMA enabled and natively optimize the hell out of the code. Such a solution seems like it would pee and poo all over the Renderscript alternative from a generic Android device. I would like to be able to livestream 4K video from my smartphone in the next 5 years or less please, thx tech industry.R3MF - Friday, August 2, 2013 - link
hopefully SoC vendors like Qualcomm will continue to ship OpenCL capability in their Android drivers, for even if Google isn't interested there are other platforms that can use Android SoC drivers via libhybis, like Jolla and Ubuntu, and possibly even Tizen.roberto.tomas - Sunday, August 4, 2013 - link
there is coverage of this over at CHW.net, where they are claiming that Google not only removed openCL from 4.3, but changed LLVM so that software like drivers can't be written to leverage openCL and include it on their own, leaving some GPU manufacturers without this tool to differentiate their product.rahulgarg - Sunday, August 4, 2013 - link
To clarify, the clang frontend has been disabled but that does not affect non-Nexus devices in any way. Whether or not to ship proper OpenCL drivers with the full frontend enabled is still up to the device vendor.rahulgarg - Sunday, August 4, 2013 - link
I meant to say, clang frontend has been disabled *on Nexus 10*, but that does not affect non-Nexus devices in any way.twtech - Monday, August 5, 2013 - link
The net effect is probably that most developers end up using neither.A performance-oriented library only accessible through java? Really?