【问题标题】:OpenCV claims to find "wrong" cuda versionOpenCV 声称找到“错误”的 cuda 版本
【发布时间】:2020-12-23 12:13:37
【问题描述】:

我构建 OpenCV 3.4。在 "/usr"local/opencv_custom" 中支持 Cuda 10.0,如下所示:

cmake -D CMAKE_BUILD_TYPE=RELEASE 
-D CMAKE_INSTALL_PREFIX=/usr/local/opencv_custom
-D OPENCV_GENERATE_PKGCONFIG=ON
-D OPENCV_DNN_CUDA=ON
-D INSTALL_C_EXAMPLES=ON
-D INSTALL_PYTHON_EXAMPLES=ON
-D OPENCV_EXTRA_MODULES_PATH=/home/ohmnibot/opencv_contrib/modules
-D BUILD_EXAMPLES=ON
-D BUILD_opencv_python2=OFF
-D WITH_FFMPEG=1
-D WITH_CUDA=ON
-D WITH_OPENGL=ON
-D ENABLE_FAST_MATH=1
-D CUDA_FAST_MATH=1
-D WITH_CUBLAS=0
-D WITH_LAPACK=OFF
-D BUILD_opencv_cudacodec=OFF
-D CUDA_VERSION=10.0 ..

一切都很好,但是当我尝试像这样在我的 CMakeList 中包含这个 opencv 版本时

set(OpenCV_DIR "/usr/local/opencv_custom")
find_package(OpenCV REQUIRED)

我收到此错误:

Could NOT find CUDA: Found unsuitable version "10.2", but required is exact
  version "10.0" (found /usr/local/cuda-10.0)

现在我安装了 cuda 10.2,但我删除了它的所有可能痕迹,并且我的系统上只存在 cuda 10.0(据我所知)。 另外,我只是没有收到此消息.... cuda 10.0 已找到,但它不合适,因为它的版本错误,即使...它是正确的版本?

我不知道这只是把我搞糊涂了……任何帮助都深表感谢。

我正在使用带有 GTX 1650 的 Ubuntu 18.04 系统上使用 catkin。

旧的 cuda 版本已被删除

sudo apt-get --purge remove "*cublas*" "cuda*" "nsight*"
sudo rm -rf /usr/local/cuda*

nvcc -V 输出:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

nvidia-smi 输出:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.66       Driver Version: 450.66       CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce GTX 1650    Off  | 00000000:07:00.0  On |                  N/A |
| 35%   29C    P8     8W /  75W |    447MiB /  3908MiB |      3%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

【问题讨论】:

  • 你的操作系统是什么?你的显卡是什么?
  • 操作系统是 Ubuntu 18.04,GPU 是 GTX 1650
  • “但我删除了所有可能的痕迹”——显然你没有
  • 删除文件不是一种安全的方式,为什么您不像安装的那样卸载?你的驱动版本是多少?
  • 我的意思是我刚刚删除了文件....我使用 sudo apt-get --purge remove "cublas" "cuda*" "nsight* 卸载了它" 和 sudo rm -rf /usr/local/cuda* 然后在我认为是干净的系统驱动程序版本是 450.66 上安装 cuda

标签: opencv cmake cuda


【解决方案1】:

以防万一有人遇到类似的错误:

  • 删除所有构建文件
  • 重建
  • 享受

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-26
    • 2020-12-29
    • 2021-12-28
    • 1970-01-01
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    相关资源
    最近更新 更多