【发布时间】:2016-12-13 02:12:53
【问题描述】:
我想知道如果有兼容 OpenCL 的 GPU 可用,OpenCV UMat 是否总是驻留在 GPU 端? “cv::ocl::setUseOpenCL(true)”有什么不同吗?
如果 UMat 确实位于 GPU 端,是否意味着 CPU-GPU 之间的数据传输仅在我调用 umat.getMat() 时发生?
非常感谢!
【问题讨论】:
标签: opencv computer-vision opencl opencv3.0
我想知道如果有兼容 OpenCL 的 GPU 可用,OpenCV UMat 是否总是驻留在 GPU 端? “cv::ocl::setUseOpenCL(true)”有什么不同吗?
如果 UMat 确实位于 GPU 端,是否意味着 CPU-GPU 之间的数据传输仅在我调用 umat.getMat() 时发生?
非常感谢!
【问题讨论】:
标签: opencv computer-vision opencl opencv3.0
不,UMat 并不完全驻留在 CPU 或 GPU 等单个硬件组件上,UMat 在内部实现了 OpenCL 框架,该框架试图利用连接到设备的任何有能力的硬件的处理能力,它可能是移动设备中存在 CPU、GPU 甚至数字信号处理器,因此 OpenCL 可以沿着各种可用的能够处理的设备执行高效的多处理。更多信息请关注link
【讨论】: