Opencv-ocl可与不同的硬件互换
Opencv-ocl excutable with different hardwares?
我正在开发opencv OCL库。我使用AMD Radeon™HD 7400M系列GPU。我需要澄清一下。
1) 我下载了AMD SDK,用opencl-enbled构建了opencv,并制作了一个用于人脸检测的基本c++可执行程序。在这种情况下,我的exe在以下情况下的行为:
a.当它在基于'OpenCL支持的Intel或NVIDIA GPU'的计算机上运行时
b.当它在没有OpenCL支持GPU的计算机上运行时?
2) 我需要为不同的硬件制作不同的opencv-ocl exe吗?
回答您的问题:
-
无论是在AMD、Nvidia还是Intel GPU上运行,exe都应该产生相同的输出,尽管运行时间可能会有很大差异。任何错误都应报告给OpenCV开发人员。一个例外:浮点运算会在不同的硬件之间产生略有不同的结果,但这些差异应该非常小,即接近浮点/双精度的极限。我不知道当没有任何OpenCL GPU时会发生什么。
-
通过不同的硬件,我假设AMD GPU与Nvidia GPU,而不是Mac与x86。在这种情况下,您不需要提供多个可执行文件。这就是使用OpenCL的全部原因,它将单个供应商的本地接口(例如Nvidia CUDA)隐藏在OpenCL标准后面。
相关文章:
- 如果编译的源代码是特定于它编译的硬件的,我们如何分发它
- 错误:(-210:不支持的格式或格式组合)功能'create'中的硬件视频解码器不支持视频源
- FFmpeg——使用硬件加速进行视频解码
- 有关图像处理应用程序的硬件和软件安全性的建议
- HAL 中的硬件特定库
- 我们能否在stm32f中使用硬件定时器控制两个独立的进程
- 硬件抽象层 (HAL) 中实现的动态切换
- 需要实例化不同类/对象并在启动时确定的硬件插槽的设计模式
- 在硬件SIMD矢量指针和相应类型之间进行"interpret_cast"是一种未定义的行为吗
- 使用 SDL2 操作硬件纹理
- 标准::计时::时钟、硬件时钟和周期计数
- 如何互换使用字符* 和 std::string?
- C++11 在异国情调的硬件上
- 编译器如何识别其主机的硬件?哪个组件?
- 在C++中拆分硬件依赖类
- 固定点硬件射线追踪产品补偿
- 使用硬件 RX 引脚作为 arduino 的中断引脚
- 无法在硬件模式下创建 SGX 安全区 - "invalid launch token"即使文档将无效的启动令牌指定为第一个
- 如何在 Windows 进程回调中断开连接时获取设备信息(硬件 ID)
- Opencv-ocl可与不同的硬件互换