如果我在opencv中使用UMat并关闭GPU处理,会有速度差异吗
Is there any speed difference if I use UMat and turn off GPU processing in opencv?
假设我有一个用C++编写的代码,它使用Mat来保存图像。
我想将所有Mat更改为UMat,以便应用程序在GPU上运行,也在CPU上运行(如果我通过调用ocl::setUseOpenCL(false)关闭GPU处理;)
但我想知道,如果我这样做,性能会有什么变化吗?
所以在夏天,如果我有一个使用Mat的代码,如果我把所有Mat都改为UMats,是否有任何性能差异(当不在GPU上运行时)?
第1版
为了澄清问题的范围,让我改写一下:
假设我没有使用GPU,为什么我不应该使用uMat而不是Mat?
使用UMat时,opencv使用透明API来使用附加的硬件。所以,通过关闭GPU处理,你不应该期望加速。
相关文章:
- 警告处理为错误这里有什么问题
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 处理多个异常集合的C++方法
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 使用流处理接收到的数据
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 基于多个条件处理地图中的所有元素
- 如何用数字处理log(0)
- DirectX 11 如何处理来自 GPU 上的 sharedHandle 的图像
- 多 GPU 批处理 1D FFT:似乎只有一个 GPU 可以工作
- cudaMemcpyToSymbol只是挂起,永远不会返回.GPU 处理速度为 100%.代码在 K40 上工作正常,但
- GPU与并行处理CPU
- 低性能 – 补丁匹配.GPU 上的图像处理 (CUDA)
- 如何使用OpenCL处理GPU内存中总大小过大的图像
- 以下数据处理任务是否适合GPU计算
- GPU 驱动程序错误处理
- GPU与CPU编程:处理时间的不一致
- 使用CUDA在GPU上进行图像处理的多线程
- 如果我在opencv中使用UMat并关闭GPU处理,会有速度差异吗