ubuntu安装cuda

之前的Caffe是安装单CPU模式,现在还是准备引入GPU,因此尝试先解决实验室服务器上cuda的问题,这次准备处理得干净一点,直接全部重装。

首先是卸载之前版本的cuda,在/usr/local/cuda-7.0里面有uninstall文件,但是好像之后的cuda7.5就没有相应的文件,因此我采用的办法是直接sudo apt-get autoremove cuda,注意这里不用remove,因为remove卸载的仅仅是cuda本身,但还有很多依赖库都没有卸载,这样会影响到后续的重装,因此用autoremove一次性卸载干净最好。

然后安装过程主要参照cuda官网教程以及http://www.linuxidc.com/Linux/2014-10/107501.htm

首先通过md5校验,检测下载的deb文件准确性,然后
$ sudo dpkg -i cuda-repo-__.deb
$ sudo apt-get update
$ sudo apt-get install cuda
过一段时间后就自动安装好cuda了。但安装完只是个开始,服务器还有好几个bug要改。。。

首先设置环境变量,一般这种和系统相关的软件,环境变量可以直接设置在/etc/profile中
$ export PATH=/usr/local/cuda-7.5/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH

然后创建cuda测试程序,输入指令: cuda-install-samples-7.5.sh

这里出现了第一个错误:系统在编译时报了一系列类似于
/usr/lib/nvidia-352/libGL.so: undefined reference to `_nv020glcore'
/usr/lib/nvidia-352/libGL.so: undefined reference to `_nv027glcore'
/usr/lib/nvidia-352/libGL.so: undefined reference to `_nv014tls'
的错误,这个是因为系统找不到对应的库文件,解决办法是,注意错误提示中说的,是nvidia-352这个库里缺失一些文件,所以把nvidia-352也添加到搜索路径下即可
export LD_LIBRARY_PATH=/usr/lib/nvidia-352:$LD_LIBRARY_PATH
然后重新编译即可通过。

编译好之后,就开始测试cuda模块是否安装好,进入
.../NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release
输入./deviceQuery,这时出现了第二个错误
FATAL: Module nvidia_uvm not found.
cudaGetDeviceCount returned 30
-> unknown error
Result = FAIL
原因是找不到nvidia的驱动模块,根据解决方法来看,是由于系统的驱动还是用的默认的,而不是nvidia,所以修改系统的驱动模块即可:
sudo update-alternatives --config x86_64-linux-gnu_gl_conf,在弹出的选项中,选择nvidia-352即可,不过注意不要选择auto mode对应的那个nvidia-352,不然之后安装图形化界面会产生冲突。

然后再次运行./deviceQuery,顺利通过,可以检测到对应的nvidia显卡。




11月24日更新:
如果是用run文件安装,那么可能会报错X server still running什么的。这个是因为桌面程序还在运行,直接把显示器连接到主机上,按ctrl+alt+f2退出桌面程序转到命令行,再sudo service lightdm stop,就能继续安装了。

你可能感兴趣的:(linux后台开发)