我正在尝试使用gpu功能构建opencv。所以我需要用cuda编译opencv。 我已经下载了opencv,我也在我的ubuntu上安装了带有http://wiki.accelereyes.com/wiki/index.php/Installing_CUDA_Under_Ubuntu_10.04教程的cuda。
当我在输出上尝试cmake -D WITH_CUDA=ON
时,它说
这个问题让我抓狂!我不能让它运作!我确信所有环境变量和路径都适用于cuda。无法找到CUDA:找到不合适的版本“。”,但必需的是 至少“4.0”(找到/ usr / local / cuda)
您可能会想到的任何解决方案?
答案 0 :(得分:3)
我自己做了这个教程(实际上我收集了它)。我在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驱动程序仅适用于特定版本的工具包(例如(驱动程序280.13适用于工具包4.0或更低版本)。因此,如果您遇到错误消息,指示CUDA驱动程序和运行时不匹配,则应该返回并安装较低版本的工具包。在重新安装过程中不要担心它会删除以前的版本,即使它是更高版本。 您可以通过以下方式检查CUDA驱动程序版本:
$ 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-current
和 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文件夹中的一个例子并像你刚才那样编译它。
以下是您可以参考的一些网站:
答案 1 :(得分:0)
检查CUDA_ARCH_BIN值。它应该是1.1 1.2 1.3 2.0或类似的东西。
并检查CUDA_ARCH_PTX并确保它正确并适合您的架构。从理论上讲,它可能是空的,但是谁知道呢?