使用后性能略微下降,一开始怀疑是UMat拷贝的问题。
运行 nvidia-smi -l 1, 发现GPU占用始终为0.
说明opencl使用的是CPU版本,而不是GPU版本。
明天试验opencl的GPU版本编译问题。
================================================
找到两篇相关帖子:
https://github.com/opencv/opencv/issues/13380
OpenCL not use NVIDIA GPU
https://github.com/opencv/opencv/wiki/OpenCL-optimizations#opencv-opencl-configuration-options
OpenCL optimizations
===================================================
#下面用代码来验证opencl是否有效:
#include <opencv2/core/ocl.hpp>
if (!cv::ocl::haveOpenCL()) {
//函数进入: opencv-master/modules/core/src/ocl.cpp:870
g_isOpenCLAvailable = ::clGetPlatformIDs(0, NULL, &n) == CL_SUCCESS;
//函数进入 opencv-master/modules/core/src/opencl/runtime/autogenerated/opencl_core_impl.hpp:466
这里返回false, 导致系统认为没有opencl