getCudaEnabledDeviceCount() 返回 -1:使用 vcpkg 构建的 OpenCV [cuda]

Posted

技术标签:

【中文标题】getCudaEnabledDeviceCount() 返回 -1:使用 vcpkg 构建的 OpenCV [cuda]【英文标题】:getCudaEnabledDeviceCount() returning -1 : OpenCV [cuda] built with vcpkg 【发布时间】:2021-04-22 23:41:00 【问题描述】:

使用由 vcpkg 安装的 opencv[cuda] 包在带有 MSVC 2017 的 win10 上构建 OpenCV CUDA 应用程序。为了检查可用设备,我调用 getCudaEnabledDeviceCount() 并返回 -1,OCV 文档表示启用了 cuda 支持但 CUDA 驱动程序不兼容。 用 vcpkg 重新安装 opencv[cuda] 没有帮助。 你能建议一种诊断或修复的方法吗?

【问题讨论】:

确认您有正确的 CUDA 配置。遵循 NVIDIA 提供的 Windows 安装指南,包括验证步骤。我通常建议为您的 GPU 安装最新的驱动程序,以获得最大的兼容性。您可能还需要确保选择了正确的 CUDA 版本,以匹配您构建 OCV 所针对的任何内容。 【参考方案1】:

回答:这台机器是一台旧的游戏笔记本电脑,它最近推荐的 nVidia 显示驱动程序是 425.31。我最近安装了 CUDA 工具包 10.2,其运行时实际上与该驱动程序不兼容。回滚到工具包 10.1 解决了这个问题。

【讨论】:

以上是关于getCudaEnabledDeviceCount() 返回 -1:使用 vcpkg 构建的 OpenCV [cuda]的主要内容,如果未能解决你的问题,请参考以下文章