ubuntu 18.04 安装 GPU + CUDA +cuDNN
一、 检测图形显卡和推荐的驱动程序的模型。执行命令
$ ubuntu-drivers devices
输出结果为:
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001C8Csv00001558sd0000850Abc03sc02i00
vendor : NVIDIA Corporation
model : GP107M [GeForce GTX 1050 Ti Mobile]
driver : nvidia-driver-450 - distro non-free
driver : nvidia-driver-418-server - distro non-free
driver : nvidia-driver-460 - distro non-free
driver : nvidia-driver-460-server - distro non-free recommended
driver : nvidia-driver-390 - distro non-free
driver : nvidia-driver-450-server - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
== /sys/devices/pci0000:00/0000:00:1c.6/0000:04:00.0 ==
modalias : pci:v00008086d00003165sv00008086sd00004010bc02sc80i00
vendor : Intel Corporation
model : Wireless 3165 (Dual Band Wireless AC 3165)
manual_install: True
driver : backport-iwlwifi-dkms - distro free
从输出结果可以看出,gpu 的型号是GTX 1050 Ti 推荐的驱动版本是 nvidia-driver-460-server
二、安装新驱动之前先把 原来的驱动卸载掉
1、删除Ubuntu系统旧驱动
# 删除
sudo apt-get purge nvidia*
或
如果你想卸载显卡驱动的话,可以用这个命令来卸载:
sudo apt-get remove nvidia*
2、开始安装驱动
这里用自动更新驱动的命令就行了
优点:省事
缺点:一般是安装最新版本的驱动,所以可能不符合tf,paddle需要的cuda环境。
$ sudo ubuntu-drivers autoinstall
或
手动选择其中一个驱动安装过
$ sudo apt install nvidia-340
注:安装完成后重启一下
所以我们一般无用上面的方式进行安装! 我们采用下面的方式进行安装
三、安装CUDA(针对18.04)
注意: 安装CUDA之前要不之前安装的 显卡驱动卸载掉,否则会报错。
卸载命令如下:
sudo apt-get purge nvidia*
# Note this might remove your cuda installation as well
sudo apt-get autoremove
卸载CUDA
下面xxxx 表示当前电脑上所安装的cuda 的版本号,根据自己电脑上的版本进行替换
# 10.0 版本及以前 卸载
sudo /usr/local/cuda-xxxx/bin/uninstall_cuda_XXXXX.pl
# 10.0 以后的版本卸载
sudo /usr/local/cuda-xxxx/bin/cuda-uninstaller
删除卸载之后的残留文件
sudo rm -rf /usr/local/cuda-xxxx/
1、CUDA 安装包下载
目前cuda 最高版本为11.1.0,我们安装完CUDA 之后还需要安装cuDNN。
我们先来看一下 cuda 安装文件的命名 eg: cuda_11.1.0_455.23.05_linux.run, 从该文件名可以看出 第一个_后面的数字代表的是cuda的版本号,第二个_ 后面的数字代表的事所需安装的 显卡驱动的版本号。
2、安装之前 需要安装 g++、gcc、make
sudo apt-get install gcc
sudo apt-get install make
sudo apt-get install g++
注意: 安装10.1 版本的需要对应安装 7版本的 gcc 对于高版本的gcc 需要降级:
# 手动安装 gcc-7 命令
sudo apt-get install gcc-7 g++-7
# 安装完gcc-7,系统中就存在两个版本的gcc,因此要设置默认的gcc,命令如下:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
# 此命令可以通过update-alternatives设置gcc各版本的优先级,优先级最高的为系统默认版本,可以用下述命令显示其优先级:
sudo update-alternatives --display gcc
# 设置默认的g++也是如此:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
# 显示g++优先级:
sudo update-alternatives --display g++
3、 安装命令
chmod +x xxx.run
sudo sh xx.run 或者 sudo ./ xx.sh
会进入下面的界面,第一行Driver 表示所安装的显卡的驱动,可以看到10.1 版本的cuda 需要安装 418.67 版本的显卡驱动, 这里需要用 ubuntu-drivers devices 命令来查看一下当前电脑是否支持该版本的驱动, 并且如果电脑上已经安装了对应版本的显卡驱动的话, 这里就不需要再勾选 Driver 了, 如果电脑上没有驱动在这里需要勾选 Driver 选项进行显卡驱动的安装。
之后设置环境变量。
终端输入 sudo vim ~/.bashrc 进入
在文件末尾添加
export CUDA_HOME=/usr/local/cuda-10.1
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}
然后在命令行输入 source ~/.bashrc 使之生效
输入 nvcc --version,如果显示如下文字就说明安装成功了:
如果没有这个指令, 他应该会提示没有找到
Command ‘nvcc’ not found, but can be installed with: sudo apt install nvidia-cuda-toolkit
然后根据提示安装即可。
sudo apt install nvidia-cuda-toolkit
4、验证cuda是否正常运行:
在安装的时候也也相应安装了一些cuda的一些例子,可以进入例子的文件夹然后使用make命令执行。从网上找了两个例子,
例一:
# 第一步,进入例子文件
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
# 第二步,执行make命令
sudo make
# 第三步
./deviceQuery
如果结果有GPU的信息,说明安装成功。
例二:
# 进入例子对应的文件夹
cd NVIDIA_CUDA-9.0_Samples/5_Simulations/fluidsGL
# 执行make
make clean && make
# 运行
./fluidsGL
当执行这个例子,我们会看到流动的图,刚开始可能看不到黑洞,需要等待一小段时间。
当运行这个程序的时候我们可以通过如下命令查看GPU是否在使用:
nvidia-smi
结果如下图:
实时查看GPU使用情况的命令
watch -n 1 nvidia-smi
四、cuDnn安装
1、下载
cuDNN Archive官网
下载与自己CUDA相对应的版本,这里我现在下载是v8.1.0
**注: 下载的时候需要在官网上注册账户;**不推荐下载使用.deb 文件进行安装,因为安装时候容易出现包依赖问题
2、cuDNN 安装
这个就是一个加速的文件,无需安装。
把准备好的cudnn文件复制到已经安装好的cuda文件夹里。cuda安装在usr文件夹里。点开主目录里下面的计算机就可以找到。但是在这里没有办法用拖拽的方式进行复制黏贴(因为没有超级权限),需要使用命令行的方式。安装过程参考自[3]
首先进入cudnn对应的文件夹里。之后敲如下命令:
sudo cp cuda/include/* /usr/local/cuda/include
sudo cp cuda/lib64/* /usr/local/cuda/lib64
为上述文件添加读取和执行权限:
sudo chmod 755 /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
五、安装Anaconda 及 其他相关的包 (pytorch、tensorflow 等)
六、安装ssh服务
Ubuntu下安装ssh与配置
服务端(必须)
1.安装ssh服务端
sudo apt-get install openssh-server
2.确认sshserver是否启动了
ps -e | grep ssh
如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start,如果看到sshd那说明ssh-server已经启动了
3.启动sshserver
/etc/init.d/ssh start
4.SSH配置(如果需要)
修改配置文件/etc/ssh/sshd_config,这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号如32,然后重启服务
5.重启sshserver
/etc/init.d/ssh restart
客户端(非必须)
1. 安装客户端(客户端不是必须的)
apt-get install ssh
2.如果安装失败,则使用下面命令进行安装
apt-get install openssh-client
3. SSH登录(客户端)
ssh 192.168.159.128
ssh -l cookie 192.168.152.10
ssh cookie@192.168.152.10
Mac终端连接服务器
ssh 服务器名称@服务器ip地址 eg ssh duanxincheng@10.185.96.218
Mac 上传文件到服务器命令
scp -P 22 本地文件路径及文件名 服务器名称@服务器ip地址 服务器中文件的存放路径 (其中 22 为端口号)
Eg : scp -P 22 ./libcudnn8-dev_8.1.0.77-1+cuda11.2_amd64.deb duanxincheng@10.185.96.218:/home/duanxincheng
Demo:
下载文件夹
scp -r root@110.255.255.52:/root/htmltitle (远程目录) 『空格』/Users/xxx/Desktop (本地目录)
下载文件
scp root@110.255.250.52 :/root/htmltitle/htmltitle.html (远程目录) 『空格』 /Users/xxx/Desktop
注: 不是所有的文件都能下载 如: .h5 文件我就没有下载下来, 此种情况,我们可以将改文件 放入文件夹中,下载所在的文件夹即可,或者将文件进行压缩然后下载
上传文件『到文件夹下』
1 . 打开终端, 进入上传文件的目录。
输入下面的命令
scp -r htmltitle.cpp(文件名) root@139.59.250.52:/root/htmltitle
详细格式:
下载文件夹
scp -r 远程登录服务器用户名@远程服务器ip地址:/下载文件夹的目录 本地目录
下载文件
scp 远程登录服务器用户名@远程服务器ip地址:/下载文件的目录 本地目录
上传文件『到文件夹下』
1 . 打开终端, 进入上传文件的目录。
输入下面的命令
scp -r 本地目录 远程登录服务器用户名@远程服务器ip地址:/文件上传的目录地址