Ubuntu
更换软件源
Ubuntu官方源服务器在国外,所以这里将软件源更换为国内的源。
Ubuntu的源存放在在/etc/apt/
目录下的sources.list
文件中,修改前我们先备份,在终端中执行以下命令:
1
| sudo cp p /etc/apt/sources.list.bak
|
然后执行下面的命令打开sources.list
文件,清空里面的内容,把阿里云与清华大学的 Ubuntu 源复制进去,保存后退出。
1
2
3
4
5
6
7
8
9
10
11
| sudo gedit /etc/apt/sources.list
# 阿里云源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
# 清华大学源
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
|
在终端上执行以下命令更新软件列表,检测出可以更新的软件:
在终端上执行以下命令进行软件更新:
显卡驱动
下载
在英伟达驱动下载页面上选择对应的系统和显卡型号,下载驱动,以Titan RTX
的460.67
驱动为例:
1
2
3
| wget https://cn.download.nvidia.com/XFree86/Linux-x86_64/460.67/NVIDIA-Linux-x86_64-460.67.run # 下载
sudo chmod 777 NVIDIA-Linux-x86_64-460.67.run # 对驱动文件赋权
sudo service lightdm stop # 关闭集显
|
安装
1
2
3
4
5
6
7
8
9
10
11
12
| sudo bash NVIDIA-Linux-x86_64-460.67.run
# 安装过程中弹出的选项
> The distribution-provided pre-install script failed! Are you sure you want to continue?
> Yes
> Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?
> No
> Would you like to run the nvidia-xconfigutility to automatically update
your x configuration so that the NVIDIA x driver will be used when you
restart x? Any pre-existing x confile will be backed up.
> Yes
# 完成安装后重启
sudo reboot
|
验证
使用如下命令验证,有显卡信息输出即可。
CUDA
环境检查
查看是否已经有支持CUDA
的GPU,有显示GPU信息即可。
查看系统是否已经安装gcc
,有版本信息输出即可。
查看系统是否安装了kernel header
和package development
。
1
2
3
| uname --r # 查看正在运行的系统内核版本
# 安装对应kernel版本的kernel header和package development,如果没有新安装则表示系统里有
sudo apt-get install linux-headers-$(uname --r)
|
禁用nouveau
驱动。
1
2
3
4
5
6
7
8
9
10
11
| lsmod | grep nouveau # 没有输出则已经禁用
-------------------------------------------
# 如果未禁用则按如下操作
sudo vi /etc/modprobe.d/blacklist-nouveau.conf
# 在文件中输入然后保存退出
blacklist nouveau
options nouveau modeset=0
# 更新内核
sudo update-initramfs -u
# 重启系统即可
sudo reboot
|
下载
在nvidia官方的cuda-toolkit-archive发行页选择需要的CUDA Toolkit
版本,这里选择的是CUDA Toolkit 10.1 update2 (Aug 2019)版本,按以下配置选择:

然后会得到对应的安装指令:
1
| wget https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
|
下载完成后执行安装:
1
| sudo sh cuda_10.1.243_418.87.00_linux.run
|
如果提示/tmp
空间不足,可以切换临时解压目录,具体做法是先创建一个文件夹代替/tmp
,然后安装时指定在这个目录进行临时解压:
1
2
| sudo mkdir /home/tmp # 这个地址可以自定义
sudo sh cuda_10.1.243_418.87.00_linux.run --tmpdir=/home/tmp/
|
安装
安装过程会有一些自选项,不同版本的CUDA
显示样式可能略有不同,但选项内容大致一样:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| > Do you accept the previously read EULA?(accept/decline/quit)
> accept
-------------------
# accept后会进入如下界面,按如下配置选取即可,之前显卡驱动装了的情况下就不需要再选Driver
> CUDA Insataller
-[] Driver
[] 418.87.00
+[x] CUDA Toolkit 10.1
[x] CUDA Samples 10.1
[x] CUDA Demo Suite 10.1
[x] CUDA Documentation 10.1
Options
Install
# 进入Options
- CUDA Driver里选中"Do not install any of the OpenGL-related driver files"
- 其他保持默认即可
# 最后选中Install
|
设置环境变量。
1
2
3
4
5
| sudo vim /etc/profile
# 在文件末尾添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
export PATH=$PATH:/usr/local/cuda-10.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.1
|
验证
输入如下命令,有输出即可:
1
2
3
4
5
| cd /usr/local/cuda-10.1/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
cat /proc/driver/nvidia/version
nvcc -V
|
cuDNN
下载
在nvidia官方的cudnn-archive发行页选择需要的cuDNN
版本,这里选择的是cuDNN v8.0.5 (November 9th, 2020), for CUDA 10.1版本,注意要跟CUDA版本对应,分别下载以下四个包:

安装
1
2
3
4
5
6
7
8
| tar -xzvf cudnn-x.x-linux-x64-v8.x.x.x.tgz
sudo dpkg -i libcudnn8_8.0.5.39-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.5.39-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.5.39-1+cuda10.1_amd64.deb
# 把cuDNN拷贝到CUDA安装路径
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
|
验证
按照以下流程,如果输出test passed
即安装成功。
1
2
3
4
| cp -r /usr/src/cudnn_samples_v8 ~/cudnn-sample
cd ~/cudnn_sample/mnistCUDNN/
make clean && make -j16
./mnistCUDNN
|
Anaconda
下载
1
| wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.11-Linux-x86_64.sh
|
安装
1
2
3
4
5
| sudo bash ./Anaconda3-2020.11-Linux-x86_64.sh
# 添加环境变量
sudo vim ~/.bashrc
export PATH="/root/anaconda3/bin:$PATH"
source ~/.bashrc
|
验证
输入以下命令有输出即可。
更换软件源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro/
conda config --set show_channel_urls yes
------------------------------------
# pip添加清华源
mkdir ~/.pip
vim ~/.pip/pip.conf
# 在打开的文件中输入,然后保存退出即可
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
|
创建虚拟环境
1
| conda create -n env_name python=3.6 # env_name-虚拟环境名字,可指定环境的python版本
|
激活虚拟环境
1
| conda activate env_name
|
退出虚拟环境
1
| conda deactivate env_name
|
PyTorch
安装
在conda
环境下,根据PyTorch官网的安装指令执行,注意cudatoolkit
版本要跟之前安装的CUDA
一致。以Torch1.7版本为例:
1
2
| # CUDA 10.1
conda install pytorch==1.7.1 torchvision==0.8.2 cudatoolkit=10.1
|
验证
运行python,执行以下命令,输出True
即可。
1
2
3
4
5
| import torch
import torchvision
torch.__version__
torchvision.__version__
print(torch.cuda.is_available())
|
参考链接
https://blog.csdn.net/baidu_36602427/article/details/86548203
https://blog.csdn.net/qq_34138003/article/details/109390134
https://zhuanlan.zhihu.com/p/47330858
https://blog.csdn.net/qijiajun97/article/details/103916002
https://www.jianshu.com/p/d05406904e31