Linux常用技巧系列: Centos7/Ubuntu 16.04 系统Cuda 8.0 / 9.0 安装 + Cudnn

推荐时间1min30s,网上已有多关于cuda安装教程,但往往不是这有问题,就是那有问题。这里写一个简单易懂可行的cuda 安装教程。

1.下载Cuda

https://developer.nvidia.com/cuda-toolkit-archive

上述链接可以下载到你想要的,如图

 

 

 

 

 

 

然后右键copy link就可以下载了,下载命令是wget如下:

wget https://developer.nvidia.com/compute/cuda/9.2/Prod2/local_installers/cuda_9.2.148_396.37_linux

下载速度很快,不一会就下载好了。

2.准备事项:

服务器是否存在GPU

命令:

[root@localhost home]# lspci | grep -i nvidia

02:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1)
02:00.1 Audio device: NVIDIA Corporation Device 10ef (rev a1)

如果没有gcc编译器的话,安装以及:

[root@localhost home]# yum install gcc gcc-c++

如果已经有,会告诉你已经安装了最新的版本。

Package gcc-4.8.5-36.el7_6.1.x86_64 already installed and latest version
Package gcc-c++-4.8.5-36.el7_6.1.x86_64 already installed and latest version

安装kernel-devel

[root@localhost hom]# yum install kernel-devel

3.开始安装:

安装的时候不能有其它进程在使用显卡,如果有的话就

init 3

当然有时候init 3 依然会出现:It appears that an X server is running的错误:

这个时候:

ps ax | grep X

就会发现有vnc的进程在跑,这就尴尬了,需要关闭vnc和端口:

336163 ?        Sl     0:00 /usr/bin/Xvnc :1 -auth /root/.Xauthority -desktop ibm-game-center:1 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768

 

如果实在有未知任务在干扰,不行就重启。

[root@localhost home]#sudo sh cuda_9.2.148_396.37_linux

如果/tmp空间不够,则需要清空:

  1. cd /tmp/
  2. rm -r *

5.配置:

在~/.bashrc文件中配置,一则会自动配置,要么只能手动配置。想要使其生效,还需要source ~/.bashrc

vim ~/.bashrc

如果已经有其它版本的cuda,请看博客

https://blog.csdn.net/dongfangxiaozi_/article/details/89074019

可以通过#注释掉原有的cuda路径,以及创建软连接的方式,管理不同版本cuda的切换。

6.安装cudnn (可选)

cudnn可以加速运算,也可以选择不装。

需要在Nvidia 官网注册才能下载,而且不能乱下载,Cuda版本必须和Cudnn是兼容的才可以。

下载完了解压,可能还需要上传服务器,因为要登陆才能下载,不能wget直接下载。

上传服务器命令很简单,见我之前写的系列教程,scp xxx.zip source_dir target_dir

tar -xzvf cudnn-9.2-linux-x64-v7.5.0.56.tgz

解压完了之后,把cudnn下的include和lib64里的文件,复制一份到cuda目录下:

  1. sudo cp cuda/include/* /usr/local/cuda/include/
  2. sudo cp cuda/lib64/* /usr/local/cuda/lib64/

--------

使用如下命令查看当前cuda版本,可以查看以前些的博客。

# which nvcc

# nvcc --version

可以使用,并且你安装的Tensorflow和PyTorch环境能跑通即可。

THE END