【发布时间】: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