Ten Reasons Why Android Should Support OpenCL

openhero發表於2013-05-22

Ten Reasons Why Android Should Support OpenCL

>> WEDNESDAY, APRIL 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 should 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.
GPU的計算能力強

9. If Android becomes a desktop OS, it should be able to access desktop GPUs and mobile GPUs. OpenCL has broad support on both platforms.

移動裝置也支援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.

有方便的工具讓OpenCL的kernel被java呼叫,有一些android應用已經在使用這些了。

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.

很多的硬體裝置都開始支援OpenCL,將來還會有更多。

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.

OpenCL的架構可以讓kernel在不同的device之間排程,這樣可以在嵌入式裝置上用OpenCL,同時可以通過讓他訪問更牛的裝置上計算。

5. One of OpenCL's chief advantages is OpenCL-OpenGL interoperability, which allows OpenCL kernels to process OpenGL buffer data before rendering starts. It would take a lot of work to add a similar capability for Renderscript.

OpenCL可以直接呼叫OpenGL的buffer。

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 would only have to learn one language.

Intel和ARM的android裝置都想要更高的效能,這個時候正好他們都支援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大力支援WebGL和OpenGL,將來也會支援OpenCL。也就是業界有幾個大牛公司領頭。。

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.

其他的GPGPU的程式語言社群比較小,基本上不能挑戰OpenCL的地位。說白了這也就跟當年的OpenGL類似。

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.

如果iOS的裝置支援了OpenCL如果android的不支援,GPU支援的app就可以很快。將來移動裝置的高效能運算,將會是一個方向^ps:這句話我也說過。。

相關文章