Ubuntu 使用Cuda编译OpenCV失败

Ubuntu 使用Cuda编译OpenCV失败,ubuntu,opencv,cuda,cmake,Ubuntu,Opencv,Cuda,Cmake,我正在尝试使用gpu功能构建opencv。所以我需要用cuda编译opencv。 我已经下载了opencv,并且在我的ubuntu上安装了带有教程的cuda 当我尝试在输出上使用_CUDA=ONcmake-D时,它会显示 找不到CUDA:找到不合适的版本“”,但在处为必填项 最少“4.0”(已找到/usr/本地/cuda) 这个问题快把我逼疯了!我不能让它工作!我确信cuda的所有环境变量和路径都是正确的 您可能想到的任何解决方案?检查CUDA\u ARCH\u BIN值。它应该是1.1.2 1

我正在尝试使用gpu功能构建opencv。所以我需要用cuda编译opencv。 我已经下载了opencv,并且在我的ubuntu上安装了带有教程的cuda

当我尝试在输出上使用_CUDA=ON
cmake-D时,它会显示

找不到CUDA:找到不合适的版本“”,但在处为必填项 最少“4.0”(已找到/usr/本地/cuda)

这个问题快把我逼疯了!我不能让它工作!我确信cuda的所有环境变量和路径都是正确的


您可能想到的任何解决方案?

检查CUDA\u ARCH\u BIN值。它应该是1.1.2 1.3 2.0或类似的东西


还要检查CUDA_ARCH_PTX,确保其正确且适合您的架构。理论上,它可能为空,但谁知道呢?

检查CUDA\u ARCH\u BIN值。它应该是1.1.2 1.3 2.0或类似的东西


还要检查CUDA_ARCH_PTX,确保其正确且适合您的架构。理论上,它可能是空的,但是谁知道呢?

我自己制作了这个教程(实际上我收集了它)。我在Ubuntu11.10上试用过,我认为这对像我这样的初学者来说是一个好的开始。希望有点用

1-CUDA不适用于gcc 4.5或更高版本,因此如果您的gcc版本更高,则应安装gcc 4.4:

$ sudo apt-get install build-essential gcc-4.4 g++-4.4
2-现在下载并安装相应的CUDA驱动程序:

$ sudo apt-get install \
nvidia-current \
nvidia-current-dev \
nvidia-current-updates \
nvidia-current-updates-dev
3-从nvidia网站下载CUDA工具包和SDK(http://developer.nvidia.com/cuda-downloads) 请注意,CUDA驱动程序的某些版本仅适用于toolkit的特定版本(例如,驱动程序280.13适用于toolkit 4.0或更低版本)。因此,如果您遇到错误消息,表明CUDA驱动程序和运行时不匹配,则应返回并安装较低版本的toolkit。不要担心,在重新安装过程中,即使是较高版本的toolkit,它也会删除以前的版本。 您可以通过以下方式检查CUDA驱动程序版本:

$ cat /proc/driver/nvidia/version
nvcc –version
您可以通过以下方式检查工具包版本:

$ cat /proc/driver/nvidia/version
nvcc –version
4-复制并安装刚才下载的两个.run文件: $Chmod+x(文件名) $./(文件名)

5-要编译SDK示例,您还需要:

$ sudo apt-get install freeglut3-dev libxi-dev
并创建这些链接

sudo ln -s /usr/lib/libXmu.so.6 /usr/lib/libXmu.so
sudo ln -s /usr/lib/nvidia-173/libGL.so /usr/lib/libGL.so
6-将CUDA添加到您的路径:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH: /usr/local/cuda/lib64
7-现在添加库路径:

cat /etc/ld.so.conf.d/nvidia_settings.conf  \
/usr/lib/nvidia-setting  \
/usr/local/cuda/lib64 \
/usr/local/cuda/lib

sudo ldconfig
8-现在转到NVIDIA_GPU_COMPUTING_SDK_…文件夹,用vim等文本编辑器打开文件C/common/common.mk,并更改以下行:

LINKFLAGS  +=
到 LINKFLAGS+=-L/usr/lib/nvidia当前

及 NVCCFLAGS:= 到 NVCCFLAGS:=-ccbin/usr/bin/gcc-4.4

9-最后,您应该编译并运行一个示例以确认安装已完成。再次转到NVIDIA_GPU_COMPUTING_SDK文件夹并运行make:

sudo make
要运行示例,请转到NVIDIA_GPU_COMPUTING_SDK/C/bin/linux/release 并通过以下方式运行示例: ./(文件夹中一个文件的名称)

10以后,当您想要编写自己的CUDA程序时,您应该编辑NVIDIA_GPU_COMPUTING_SDK文件夹中的一个示例,并像刚才为示例所做的那样进行编译

以下是一些您可以参考的网站:


我自己制作了这个教程(实际上是我自己收集的)。我在ubuntu 11.10上试用了它,我认为这对像我这样的初学者来说是一个好的开始。希望它有一些用处

1-CUDA不适用于gcc 4.5或更高版本,因此如果您的gcc版本更高,则应安装gcc 4.4:

$ sudo apt-get install build-essential gcc-4.4 g++-4.4
2-现在下载并安装相应的CUDA驱动程序:

$ sudo apt-get install \
nvidia-current \
nvidia-current-dev \
nvidia-current-updates \
nvidia-current-updates-dev
3-从nvidia网站下载CUDA工具包和SDK(http://developer.nvidia.com/cuda-downloads) 请注意,CUDA驱动程序的某些版本仅适用于toolkit的特定版本(例如,驱动程序280.13适用于toolkit 4.0或更低版本)。因此,如果您遇到错误消息,表明CUDA驱动程序和运行时不匹配,则应返回并安装较低版本的toolkit。不要担心,在重新安装过程中,即使是较高版本的toolkit,它也会删除以前的版本。 您可以通过以下方式检查CUDA驱动程序版本:

$ cat /proc/driver/nvidia/version
nvcc –version
您可以通过以下方式检查工具包版本:

$ cat /proc/driver/nvidia/version
nvcc –version
4-复制并安装刚才下载的两个.run文件: $Chmod+x(文件名) $./(文件名)

5-要编译SDK示例,您还需要:

$ sudo apt-get install freeglut3-dev libxi-dev
并创建这些链接

sudo ln -s /usr/lib/libXmu.so.6 /usr/lib/libXmu.so
sudo ln -s /usr/lib/nvidia-173/libGL.so /usr/lib/libGL.so
6-将CUDA添加到您的路径:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH: /usr/local/cuda/lib64
7-现在添加库路径:

cat /etc/ld.so.conf.d/nvidia_settings.conf  \
/usr/lib/nvidia-setting  \
/usr/local/cuda/lib64 \
/usr/local/cuda/lib

sudo ldconfig
8-现在转到NVIDIA_GPU_COMPUTING_SDK_…文件夹,用vim等文本编辑器打开文件C/common/common.mk,并更改以下行:

LINKFLAGS  +=
到 LINKFLAGS+=-L/usr/lib/nvidia当前

及 NVCCFLAGS:= 到 NVCCFLAGS:=-ccbin/usr/bin/gcc-4.4

9-最后,您应该编译并运行一个示例以确认安装已完成。再次转到NVIDIA_GPU_COMPUTING_SDK文件夹并运行make:

sudo make
要运行示例,请转到NVIDIA_GPU_COMPUTING_SDK/C/bin/linux/release 并通过以下方式运行示例: ./(文件夹中一个文件的名称)

10以后,当您想要编写自己的CUDA程序时,您应该编辑NVIDIA_GPU_COMPUTING_SDK文件夹中的一个示例,并像刚才为示例所做的那样进行编译

以下是一些您可以参考的网站: