Opencl 在 ARM 上找不到 gpu
Opencl can't find gpu on ARM
我正在尝试 运行 android/ARM 上的图像处理应用程序,使用 opencv 的 ocl 模块。在某些情况下(android4.2.2/Qualcomm snapdragon msm8930/Adreno TM305),它运行很好。
但在其他情况下(android4.4.2/rockchip RK3288/mali-T764; android4.4/sumsung exynos5410/powerVR SGX 544mp),有问题。 CV::ocl::getOpenCLDevice()
表示没有 opencl 平台或设备。
我确定所有三个经过测试的系统都支持 opencl。谁能告诉我这里有什么问题?谢谢!
嗯,我已经解决了这个问题。问题是一些 android 设备在文件系统中没有 opencl lib 文件 libopencl.so,或者文件有不同的名称(例如 libgles_Mali.so)。要使用opencl,首先要设置环境
具体来说,添加
setenv("OPENCV_OPENCL_BINARY", "libGLES_Mali.so", 0);
之前
cv::ocl::getOpenCLDevices()
我正在尝试 运行 android/ARM 上的图像处理应用程序,使用 opencv 的 ocl 模块。在某些情况下(android4.2.2/Qualcomm snapdragon msm8930/Adreno TM305),它运行很好。
但在其他情况下(android4.4.2/rockchip RK3288/mali-T764; android4.4/sumsung exynos5410/powerVR SGX 544mp),有问题。 CV::ocl::getOpenCLDevice()
表示没有 opencl 平台或设备。
我确定所有三个经过测试的系统都支持 opencl。谁能告诉我这里有什么问题?谢谢!
嗯,我已经解决了这个问题。问题是一些 android 设备在文件系统中没有 opencl lib 文件 libopencl.so,或者文件有不同的名称(例如 libgles_Mali.so)。要使用opencl,首先要设置环境
具体来说,添加
setenv("OPENCV_OPENCL_BINARY", "libGLES_Mali.so", 0);
之前
cv::ocl::getOpenCLDevices()