Tips: 本文使用的服务器为ubuntu18.04(1080ti x2)
按简单顺序可分为3种,推荐第二种PPA安装。
ubuntu详见
可以通过命令行,安装PPA里面的nvidia驱动:
sudo add-apt-repository ppa:graphics-drivers/ppa --yes
sudo apt update
sudo apt search nvidia # 找到自己想安装的版本xxx
sudo apt install xxx
可以参考nvidia 510.60.02 版本的官方教程,下文是对官方文档的一个简单概括:
(1) 百度搜索"nvidia driver"或者"英伟达显卡驱动"(如果是在需要装环境的设备上搜索的记为情况一,通过远程ssh登陆的为情况二)
(2) 选择你的显卡类型和操作系统,我是装有1080ti的ubuntu amd64位的操作系统,所以选择的是:GeForce 10series, GeForece GTX 1080ti; Linux 64-bit, 保险起见语言选择English.之后点击搜索,点击download(这里要点击download一次)
(3) 进入下面界面,情况一直接点击下载,情况二拷贝下载链接,在远程连接的终端上输入wget
+拷贝的链接,注意链接应含有 .run
(如:https://www.nvidia.com/content/DriverDownload-March2009/confirmation.php?url=/XFree86/Linux-x86_64/510.60.02/NVIDIA-Linux-x86_64-510.60.02.run&lang=us&type=TITAN)
sudo apt update
apt install build-essential
Nouveau是“Accelerated Open Source driver for nVidia cards”,需要在装官网的驱动之前屏蔽.
(1) 修改Nouveau的配置文件,下述代码使用的是here doc的技巧修改配置文件的,也可以以管理员权限使用 vim
:在 /etc/modprobe.d/blacklist-nouveau.conf
文件末尾添加下面第二、三行的内容。
cat <<EOF | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
EOF
(2) 更新配置并重启
sudo update-initramfs -u
sudo reboot
(3) 重启后确认一下,重启的时候进入bios,并关闭secure boot(只是为了方便,才在这一步关闭,只要在安装驱动前关闭即可),如果看见Successs
表示成功屏蔽
lsmod | grep "nouveau" > /dev/null && echo "WARNING: nouveau still active" || echo "Success"
这里注意,请使用远程ssh操作,关闭X server会关闭图形化界面,不能保证关闭后电脑能够进入图形化界面(似乎与显示器是否接在显卡上有关),所以使用ssh操作比较保险
sudo init 3
cd directory_of_driver_download
sudo bash NVIDIA-Linux-x86_64-*.run --dkms
sudo reboot
之后一路确认即可后重启,最后用 nvidia-smi
确认一下
推荐使用国内镜像(如果服务器在国内的话),根据服务器选择合适的镜像源,比如我在南京且在高校内,所以选择了南京大学的镜像,类似的有清华、中科大、阿里、腾讯等等。
以南京大学镜像为例,百度搜索“南京大学mirror“,看一看地址: https://mirror.nju.edu.cn/,是南京大学的域名(nju.edu.cn),不是广告。
进去后点击 anaconda,我喜欢用miniconda,当然也可以选择archive,点击后选择符合系统的最新版本,这里和下载驱动一样,分情况一二。比如我是ubuntu amd64位,选“Miniconda3-py39_4.11.0-Linux-x86_64.sh”
类似的,如果想下载archive版本,我就会选择:
sudo bash *conda3*.sh
一路下一步,即可,这里将conda的安装路径记为 CondaPath
(方便之后表述,下文中的CondaPath需要替换成实际安装的路径)
(1) 当出现 NoWritableEnvsDirError
的报错时:
sudo chmod -R 777 CondaPath
(2) 关闭自动初始化base环境
使用某些版本的vscode + remote ssh的时候建议关闭
conda config --set auto_activate_base false
pytorch安装最为简单,可完全参考官网的conda安装.
nameofenv 替换为自己想设定的名字,比如这里可以设置成 pytorchenv
conda create -n nameofenv python=3.9
激活该环境
conda activate nameofenv
这里在官网选择好后复杂代码运行即可:
复制Run this Command对应的this command在终端运行:
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
python -c "import torch;print(torch.cuda.is_available())"
返回True则说明安装成功,torch是自带cudnn的,所以只需要再设备安装驱动后再conda安装cudatoolkit和pytorch即可。
本文基于tensorflow官方软件要求进行安装:
必须在系统中安装以下 NVIDIA® 软件:
cudatoolkit,其实在pytorch的安装时也安装了cudatoolkit11.3,是可以直接套用的: conda install -c pytorch cudatoolkit=11.3
在里的 -c pytorch
可以在 cudatoolkit=11.3
之前或之后,表示在名为 pytorch
的包频道(channel)中下载。(cuda 11.1及之后的版本才支持30系显卡)
当然更加通用的方法是在anaconda包官网上进行检索:
输入关键词“cuda”:
检索结果如下:
挑选一个,这里可以选择下载量最高的 conda-forge 的cudatoolkit,点击后页面会自动生成安装的命令:
可以通过在 cudatoolkit
后加 =11.3
来限定下载版本。
方法与cudatoolkit雷同,写本文时不推荐使用nvidia的,目前nvidia的频道版本不是最高的,其实包括cudatoolkit也不推荐下载nvidia版本。
此外推荐下载的还有TensorRT,也可以用类似的方法通过conda下载,但是笔者没有下载。
在设置之前先定义一些需要结合自己情况替换的名词:
envoftf
(可以和torch同环境,在torch环境搭建后仅需安装cuDNN即可)CondaPath
,miniconda的默认安装目录是:~/miniconda3
,这里使用绝对路径。完成上述步骤后仍然是不可以使用tensorflow的gpu的,在官方教程中提到需要设置一个环境变量:
(1) 找真正的lib路径
不能直接使用官网提供的,因为使用的是conda,实际这些包并不在 /usr/local/cuda/extras/CUPTI/lib64
,可以通过两种方式找到:
(a) 根据规律拼接出目录:CondaPath/envs/envoftf/lib
这里的CondaPath
和 envoftf
需要自行替换
(b) 利用 find
命令:
find CondaPath -name libcu*.so* | xargs dirname | head -n 1
(2) 设置conda环境变量,并重新激活环境(conda activate envoftf
)
conda env config vars set LD_LIBRARY_PATH=(1)中获得路径
python -c "import tensorflow as tf;print(tf.config.list_physical_devices('GPU'))"
返回设备列表,检测GPU数量是否和实际安装的一直。
和选择conda的镜像一样,选择离稳定且离自己近的镜像源,这里仍然是使用南京大学的镜像.
这里讲解如何获得换源的设置,以ubuntu18.04的apt包源替换为例。
进入mirror的帮助界面:
不同镜像网站帮助放置位置不同,南大的在顶部,清华则是在首页的右下方的相关链接里:
进入帮助界面后选择ubuntu,按照里面的描述进行修改即可,清华的比较方便,支持ubuntu版本的选择,而南大需要自己手动修改对应版本名。
修改配置前最好备份原先配置:
sudo mv /etc/apt/sources.list /etc/apt/backup.sources.list
如果是其他发行版本的linux,则需选择对应的即可,conda换源也是如此,已经在macos常用的homebrew也是有的.