严格地说,Android不支持OpenCL。这是谷歌的(糟糕的)选择。然而,如果你能获得OpenCL库,你可以在你的Android设备上运行OpenCL应用程序。从Kirtan提供的链接来看,我推荐索尼的路线,因为它是最直接的(即手机已经配备了OpenCL),我相信高通的Adreno GPU。 我所知道的唯一可用的Imagination OpenCL是在this dev board上。它有一个SGX544,所以你可以从那个板上取下驱动程序并把它们放在你的设备上。它可能会工作。 顺便说一句:OpenGL ES 3.1支持GL计算着色器,并且在Android上也受支持,所以如果您希望使用GPU进行计算,这可能是一个选择。
4条答案
按热度按时间p8ekf7hl1#
对于具有
arm64-v8a
ABI的所有设备,OpenCL库也可能位于lib64
文件夹中。因此,当您检查OpenCL库时,请确保同时检查相应的
lib64
文件夹(如果您希望将arm64-v8a
作为应用的第一个ABI,则可能需要先检查lib64
文件夹)。例如:
/system/vendor/lib64/libOpenCL.so
自2014年以来,支持OpenCL的手机越来越多。
以下是OpenCL库的位置:
高通Adreno:
ARM马里:
动力虚拟现实:
您可以使用OpenCL-Z Android检查OpenCL在Android设备上的可用性和功能。
ezykj2lf2#
严格地说,Android不支持OpenCL。这是谷歌的(糟糕的)选择。然而,如果你能获得OpenCL库,你可以在你的Android设备上运行OpenCL应用程序。从Kirtan提供的链接来看,我推荐索尼的路线,因为它是最直接的(即手机已经配备了OpenCL),我相信高通的Adreno GPU。
我所知道的唯一可用的Imagination OpenCL是在this dev board上。它有一个SGX544,所以你可以从那个板上取下驱动程序并把它们放在你的设备上。它可能会工作。
顺便说一句:OpenGL ES 3.1支持GL计算着色器,并且在Android上也受支持,所以如果您希望使用GPU进行计算,这可能是一个选择。
0aydgbwb3#
你可以参考下面的链接
https://software.intel.com/en-us/android/articles/opencl-basic-sample-for-android-os
http://arrayfire.com/getting-started-with-opencl-on-android/
http://developer.sonymobile.com/2013/10/29/boost-the-performance-of-your-android-app-with-opencl/
5uzkadbs4#
我知道这是一个老职位,但可以帮助其他游客。
从API级别24开始,在Android上执行GPGPU的更好解决方案是使用Vulkan的计算阶段。
Vulkan不仅适用于图形,流水线中的计算阶段是独立的,可以用于运行内核。
我最近发布了一个使用Vulkan计算平台的Java module,它使用GLSL程序作为内核,但在未来我也可以添加OpenCL C支持。