2014-03-18 74 views
1

如何使用任何IDE在Windows或Linux中爲android平臺配置OpenCL環境?我想要使​​用OpenCL的GPU來使用智能手機。在Android平臺上配置OpenCl

+0

有關在三星設備上運行openCL的示例,請參閱:http://stackoverflow.com/questions/25087440/android-opencl-image-processing-example-on-samsung。 –

回答

0

Android對OpenCL沒有官方支持,Google對此公開表示懷疑,甚至去掉非官方驅動程序http://www.anandtech.com/show/7191/android-43-update-for-nexus-10-and-4-removes-unofficial-opencl-drivers。即使您的硬件仍具有OpenCL驅動程序,您也無法在Google Play中分發應用程序,因此幾乎沒有用處。

對於Android的你最好使用谷歌的的renderScript(爲什麼他們恨的OpenCL的原因,他們希望使用他們的解決方案)http://developer.android.com/guide/topics/renderscript/compute.html

你可以寫很容易使用的renderScript一定的算法。它基本上像OpenCL,但它沒有本地內存的概念,並且不支持訪問線程ID。但對於像簡單圖像處理或粒子模擬這樣的事情來說,它是完美的。

如果您由於某種原因必須使用OpenCL,並且您的目標硬件支持,只需使用adb pull將libOpenCL.so從手機中取出,將其複製到ndk lib目錄,並將OpenCL包含標頭放置到包含路徑,你很好去。

+0

你可以在很多Android硬件設備上使用opencl,而不是google的。例如許多新的索尼設備opencl驅動程序和加速。請參閱http://developer.sonymobile.com/2013/10/29/boost-the-performance-of-your-android-app-with-opencl/您可能會發現renderscript計算受限且難以優化。 –

0

基本上,開發的OpenCL程序/應用程序的Android,以下內容是你所需要的:

  1. 的Android SDK,Android的NDK
  2. Cygwin的(如果在Windows)
  3. OpenCL的頭文件(可能從Khronos website下載)
  4. OpenCL lib文件。對於不同的芯片供應商,這個庫位於不同的路徑下。詳情請參閱here

  5. 在C/C++中開發OpenCL程序。用ndk-build編譯成共享庫。

  6. 使用Android Studio開發您的應用程序。使用JNI從本地共享庫調用與OpenCL相關的函數。