最近我想在Android上使用OpenCL开发并行计算应用程序。据我所知,Android系统不包括“libopencl.so”,但仍有一些网站或博客展示了在Android上开发OpenCL的方法。Android支持OpenCL吗?如果支持,我该如何在Android上开发OpenCL?
2016年5月20日更新:
对于所有带有arm64-v8a
ABI的设备,OpenCL库也可能位于lib64
文件夹中。
因此,在检查OpenCL库时,请确保您还要检查相应的lib64
文件夹(如果您更喜欢将arm64-v8a
作为应用程序的首选ABI,则可能要首先检查lib64
文件夹)。
例如:/system/vendor/lib64/libOpenCL.so
原始答案:
自2014年以来,越来越多的手机支持OpenCL。
以下是OpenCL库的位置:
高通Adreno:
/system/vendor/lib/libOpenCL.so
or /system/lib/libOpenCL.so (older devices)
ARM Mali:
/system/vendor/lib/egl/libGLES_mali.so
or /system/lib/egl/libGLES_mali.so
PowerVR:
/system/vendor/lib/libPVROCL.so
/system/vendor/lib/libOpenCL.so
。 - Lrdx.so
文件? - user8469759我知道这是一篇旧帖子,但可能对其他访问者有所帮助。
从API级别24开始,在Android上执行GPGPU的更好解决方案是使用Vulkan的计算阶段。
Vulkan不仅用于图形,管道中的计算阶段是独立的,可以用来运行内核。
我最近发布了一个Java module,它使用了Vulkan的计算阶段。它使用GLSL程序作为内核,但将来我也可以添加OpenCL C支持。
libGLES_mali.so
。对于高通架构,我认为您需要使用libOpenCL.so
。但是,有时它们不在路径中,因此请在“/system/vendor/lib”中查找它们。 - DarkZeros