部署cuda8.0,需要注意的几个问题
A. gcc的version要低于5.0
$ gcc --version //查看gcc版本 $sudo add-apt-repository ppa:ubuntu-toolchain-r/test $sudo apt-get update $sudo apt-get install gcc-4.9 g++-4.9 //升级gcc和 g++的方法,这里可以把g++升级删掉 1234 1234B. 检查NVIDIA驱动 $nvidia-settings #查看显卡驱动,如果没有安装NVIDIA驱动,就要关闭Nouveau drivers(参考【1】中步骤4.3内容),然后在cuda安装中同意安装显卡驱动。
C. 安装cuda8.0和cuDNN5过程 -1 选用 .run文件安装,$ sudo sh cuda_8.0.44_linux.run,已有驱动的话拒绝安装driver, 其他敲yes和Enter。注意 .run文件结束后的提示。 -2 添加用户环境变量到 ~/.bashrc 文件中, $sudo gedit ~/.bashrc, 文件末尾加上两行保存:
export PATH=/usr/local/cuda-8.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH 12 12-3 添加系统环境变量到/etc/profile文件中, $sudo gedit /etc/profile</code>, 文件末尾加上一行保存:<code>export PATH = /usr/local/cuda/bin:$PATH -4 创建链接文件:sudo gedit /etc/ld.so.conf.d/cuda.conf,文件中加上一行保存:/usr/local/cuda/lib64 -5 下载cudnn5.1的Linux版本,从cudnn5.1中复制文件到cuda中
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件 sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库 cd /usr/local/cuda/lib64/ sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件 sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5 #生成软衔接 sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接 123456 123456-6 运行 $sudo ldconfig。 -7 测试cuda安装情况 -7.1 $nvcc -V //查看是否为8.0版本
zyl@zyl-PC:~/tensorflow$ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2016 NVIDIA Corporation Built on Sun_Sep__4_22:14:01_CDT_2016 Cuda compilation tools, release 8.0, V8.0.44 12345 12345-7.2 继续检查看是否正常
$cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery $make $sudo ./deviceQuery 123 123提示如下错误:
zyl@zyl-PC:/usr/local/cuda/samples/1_Utilities/deviceQuery$ ./deviceQuery ./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) modprobe: ERROR: could not insert 'nvidia_340_uvm': Invalid argument cudaGetDeviceCount returned 30 -> unknown error Result = FAIL 1234567 1234567尝试解决:sudo apt-get remove nvidia-340
Referance: [1] http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4HIBXnwyt (官网cuda安装文档) [2] http://www.th7.cn/system/lin/201608/176823.shtml(比较详细)
(function () {('pre.prettyprint code').each(function () { var lines = (this).text().split(′\n′).length;var numbering = $(' ').addClass('pre-numbering').hide(); (this).addClass(′has−numbering′).parent().append( numbering); for (i = 1; i