显卡驱动+gcc+cuda安装教程

作者:HAN,部分参考网络,环境ubuntu16,1080Ti
感谢G学姐的服务器~ 让我从瞎安到熟练…

文章目录

  • 1、查现有cuda和cudnn版本的命令
  • 2、显卡驱动,cuda,cudnn对应关系
  • 3、安装nvidia驱动(如有需要)
        • gcc的卸载与安装(如有需要)
  • 4、安装CUDA
        • 卸载cuda或者更换系统里已有cuda(卸载时候才需要看)
        • cuda检查版本:
  • 5、安装cudnn
  • 6、测试cuda的Samples(可跳过)

安装cuda只需要看1,2,4,5即可

1、查现有cuda和cudnn版本的命令

nvcc -V或者如下命令

cuda 版本

cat /usr/local/cuda/version.txt

cudnn 版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

2、显卡驱动,cuda,cudnn对应关系

nvidia与cuda需要满足关系:
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
cuda与cudnn需要满足关系:
https://developer.nvidia.com/rdp/cudnn-archive
cuda历史版本下载连接:
https://developer.nvidia.com/cuda-toolkit-archive

3、安装nvidia驱动(如有需要)

首先去官网上查看适合你的GPU的驱动
官网:https://www.nvidia.com/Download/index.aspx?lang=en-us。
例如,本人的GPU适合的驱动如图:
显卡驱动+gcc+cuda安装教程_第1张图片
参考链接安装:
https://www.cnblogs.com/luofeel/p/8654964.html (期间Crtl+Alt+F1或者lightdm stop,会黑屏,新手不要慌,这只是进入里命令行模式。失败了也没必要重装系统,多试几次或者多试几个版本。有的版本会有gcc限制。gcc切换方式在需要4)

不推荐使用如下方式:

系统设置附加驱动里的安装方式,因为可能导致循环登录等情况。不推荐!:(UBUNTU右上角》系统设置》软件与更新》附加驱动选择》重启)
另外不推荐的是如在命令行里使用如下安装sudo apt-get install nvidia-390

显卡和CUDA需要对应:
显卡驱动+gcc+cuda安装教程_第2张图片
输入: nvidia-smi
如果出现了你的GPU列表,则说明驱动安装成功了。
显卡驱动+gcc+cuda安装教程_第3张图片

另外也可以通过:nvidia-settings
查看自己机器上详细的GPU信息,本人机器的信息如下:
显卡驱动+gcc+cuda安装教程_第4张图片

gcc的卸载与安装(如有需要)

gcc -v # 检查gcc版本
sudo apt-get remove gcc # 卸载(如有需要)

# 安装
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo  apt-get update
sudo apt-get  install gcc-4.7 # 加需要的版本号即可
sudo apt-get  install g++-4.7

# 不太推荐的安装方式:https://www.jianshu.com/p/4168966e0b88

4、安装CUDA

请先看2再看4

cuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda。
从这里下载cuda9.0的安装文件 cuda下载地址
注意这里下载的是cuda9.0的runfile(local)文件。
显卡驱动+gcc+cuda安装教程_第5张图片
那个9.0.176后面应该对应的是显卡驱动号,我下了比他高的版本390

下载完cuda9.0后,执行如下语句,运行runfile文件:

sudo sh cuda_9.0.176_384.81_linux.run
# 即:sudo sh 对应你的run文件

下面是输入命令后的显示界面与选择,简言就是第一个写n,其余全部yes默认。
因为驱动之前已经安装,这里就不要选择安装驱动。其余的都直接默认或者选择是即可。

#先执行下面的命令安装相关依赖,
#如果出现`Missing recommended library`错误,使用下面命令
# sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev 
 
 
sudo sh cuda_8.0.61_375.26_linux.run #开始安装
 
#..一堆协议说明...
#直接按q退出协议说明.
zerozone@zerozone: accept/decline/quit: accept  #接受协议
 
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26? 
y)es/(n)o/(q)uit: n  #是否显卡驱动包,由于已经安装显卡驱动,选择n
 
Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y #是否安装工具包,选择y
 
Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]: #工具包安装地址,默认回车即可
 
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y 
# 把/usr/local/cuda-8.0链接到/usr/local/cuda
 
Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y #安装样例,我默认到了home下
 
Enter CUDA Samples Location
 [ default is /root ]:  #样例安装地址默认即可
 
# ***安装信息***
Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
 
Missing recommended library: libXi.so
Missing recommended library: libXmu.so
#注意,这里出现了Missing recommended library错误,
#是因为博主在第一次安装时,没有添加最开始的那条安装相关依赖的指令,
#之后我添加了依赖后,再次安装,就没有Missing错误了
 
Installing the CUDA Samples in /root ...
Copying samples to /root/NVIDIA_CUDA-8.0_Samples now...
Finished copying samples.
 
===========
= Summary =
===========
Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-8.0
Samples:  Installed in /root, but missing recommended libraries
 
Please make sure that
 -   PATH includes /usr/local/cuda-8.0/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root
 
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin
 
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.
 
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.
 
To install the driver using this installer, run the following command, replacing  with the name of this run file:
 
    sudo .run -silent -driver
 
Logfile is /tmp/cuda_install_6388.log   
# ***安装完成***

使用:相当于配置环境变量,输入sudo gedit ~/.bashrc,打开.bashrc文件,添加如下内容

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda

#注意这里不要写cuda几点几,因为上面安装cuda的时候你选择了把cuda-版本号的文件链接到了/usr/local/cuda/,所以根本没有必要在此文件里写版本号。写了以后换cuda很可能会更换不成功,因为可能之前的cuda-版本号优先于你新的cuda

使配置生效:

source ~/.bashrc

卸载cuda或者更换系统里已有cuda(卸载时候才需要看)

# 卸载只需要把/usr/local/cuda-版本号文件直接删除即可。但没必要卸载,安装新的cuda只需要覆盖/usr/local/cuda文件即可,因为环境变量设置的是/usr/local/cuda
# 下面是更换已有cuda 的方法
sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda
#把9.0数字概率,8.0和9.0来回改就可以,ln -s的意思是软连接,相当于windows里的快捷方式,不是实际的文件

cuda检查版本:

nvcc --version(nvidia-smi终端里显示的似乎不是绝对准确的)

安装完cuda还必须安装cudnn

5、安装cudnn

首先说明下cudnn的安装方式其实就是把下载下来的文件放到刚才安的cuda里,cudnn和cuda的结构都是一致的,把cudnn里的东西放到对应地方即可。值得注意的是要放在/usr/local/cuda-版本号里,不要放在/usr/local/cuda里。
首先去官网下载你需要的cudnn,下载的时候需要注册账号。选择对应你cuda版本的cudnn下载。
https://developer.nvidia.com/rdp/cudnn-archive

有deb和Tar包,安装哪个都可以,我没选择deb
是个压缩文件(.tgz)
显卡驱动+gcc+cuda安装教程_第6张图片

大概思路是把cudnn解压缩得到的cuda(这个cuda只是一个文件名而已),把cudnn包里include和lib64里的.h文件全部复制到/usr/local/cuda-版本号对应的的include和lib64文件里。

如果你直接把这些文件拖拉进去或者ctrl c+ctrl v,那么下面的命令你就不需要使用了,下面命令的效果就是ctrl c+ctrl v

下载完cudnn之后进行解压,cd进入cudnn解压之后的cuda
文件目录,在命令行进行如下操作:
打开为特定cuda下载的cudnn

#复制头文件
sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/ 
sudo cp cuda/lib64/libcudnn*  /usr/local/cuda-9.0/lib64
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn* 

因为我们已经复制进/usr/local/cuda-版本了,刚才下载的东西就没有了把刚才cudnn解压得到的cuda删了,

6、测试cuda的Samples(可跳过)

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

perfect~
不懂请留言~

你可能感兴趣的:(CS基础)