问题描述
我构建了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 ..
一切都很好,但是当我尝试将这样的opencv版本包含在我的CMakeList中
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 |
+-------------------------------+----------------------+----------------------+
解决方法
以防万一每个人都遇到类似的错误:
- 删除所有构建文件
- 重建
- 享受