Ten reasons why Android shocould support opencl> Wednesday, 1_l 3, 2013
In an earlier post, I explained why a Google Engineer's grievance with opencl was mistaken. Now here are ten reasons why Google shoshould make opencl the high-performance language of choice on Android:
10. GPU vendors are the driving force behind opencl and their tools provide stable, high-speed kernel execution. When GPU technology improves, opencl improves immediately.
Powerful GPU computing capability
9. If android becomes a desktop OS, it shoshould be able to access desktop GPUs and mobile GPUs. opencl has broad support on both platforms.
Mobile devices also support GPU
8. aparapi makes it easy to launch opencl kernels from Java. It's open-source and GSS Mahadevan has successfully used it on Android.
There are convenient tools for opencl kernel to be called by Java, and some Android applications are already using this.
7. In addition to CPUs and GPUs, opencl kernels can be executed on DSPs and FPGAs. Future high-performance devices will be more likely to support opencl than any other language.
Many hardware devices are beginning to support opencl, and more will be available in the future.
6. When opencl devices are added to a context, they can work together to execute kernels. With opencl, embedded devices have the potential of accessing more powerful systems to crunch data.
The opencl architecture allows the kernel to be scheduled between different devices, so that opencl can be used on embedded devices, and computing can be performed on devices that access more devices.
5. one of opencl's chief advantages is opencl-OpenGL interoperability, which allows opencl Kernels to process OpenGL buffer data before rendering starts. it wocould take a lot of work to add a similar capability for renderscript.
Opencl can directly call the buffer of OpenGL.
4. currently, native Android Developers need to learn x86 and ARM/neon instructions to ensure high-performance. intel and arm are both strong supporters of opencl, So If Android adopted opencl, native developers woshould only have to learn one language.
Android devices of Intel and arm both want higher performance. At this time, they all support opencl.
3. Google has put aside o3d in favor of webgl and the renderscript graphics engine in favor of OpenGL. If history is any guide, Google will choose opencl over renderscript computation.
Google strongly supports webgl and OpenGL, and will support opencl in the future. That is to say, there are several leaders in the industry ..
2. The general-purpose GPU (gpgpu) community is small and fragmented. It's unlikely that a new, OS-specific language will attract a developer base large enough to justify its existence.
Other gpgpu programming languages have a small community and basically cannot challenge the status of opencl. To put it bluntly, this is similar to OpenGL Of The Year.
1. if IOS supports opencl and Android doesn' t, GPU-accelerated apps will run faster on IOS. high-performance mobile computing isn' t a big deal yet, but there's no telling what the future may bring.
If the iOS device supports opencl, if Android does not, the GPU-supported app can be very fast. In the future, the high-performance computing of mobile devices will be in the direction of ^ PS: I have also said this ..
Posted by Matt scarpino at PM http://www.openclblog.com/2013/04/ten-reasons-why-android-should-adopt.html