1、确认基础软硬件环境
硬件:GeForce RTX 3090 24G
软件:ubuntu20.04+kernel5.15.0kernel+gcc9.4.0
根据pci device号查看显卡型号
http://pci-ids.ucw.cz/read/PC/10de/2208
2、安装cuda
(1)下载安装cuda离线安装包
查阅nvidia官方手册查看软硬件匹配的cuda toolkit版本区间
[cuda历史版本下载地址]
https://developer.nvidia.com/cuda-toolkit-archive
此处下载的是cuda11.6.0m,如果wget下载速度过慢,可直接用浏览器或迅雷下载deb文件后放到服务器上安装;
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda-repo-ubuntu2004-11-6-local_11.6.0-510.39.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-6-local_11.6.0-510.39.01-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-6-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
(2)安装后配置环境变量
安装后之后的cuda位于/usr/local/cuda目录中,可用/usr/local/cuda/bin/nvcc -V验证;
安装后还需配置环境变量,否则无法直接使用
sudo vim ~/.bashrc,在文件末尾写入:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
写入保存后cuda就可以在当前用户的所有shell中生效了,如下:
3、安装cudnn(容器可跳过)
(1)下载cudnn安装包及问题解决
dpkg -i cuda-repo-ubuntu2004-11-6-local_11.6.0-510.39.01-1_amd64.deb
安装下载好的cudnn deb包失败,问题如下,提示的解决办法有一些问题,可用解决方法:
cp /var/cudnn-local-repo-ubuntu2004-8.5.0.96/cudnn-local-0579404E-keyring.gpg /usr/share/keyrings/cuda-archive-keyring
(2)sample安装
新版本的cudnn装好后没有sample,解决如下:
apt-get update
dpkg -i libcudnn8_8.5.0.96-1+cuda11.7_amd64.deb
dpkg -i libcudnn8-dev_8.5.0.96-1+cuda11.7_amd64.deb
dpkg -i libcudnn8-samples_8.5.0.96-1+cuda11.7_amd64.deb
安装过后/usr/src目录下就会存在sample目录:
(3)sample运行
在mnistCUDNN目录下对cudnn样例进行编译安装
make
./mnistCUDNN
编译mnist出错,解决办法:apt-get install libfreeimage3 libfreeimage-dev
cudnn version查看方法:
cat /usr/include/cudnn_version.h
4、docker和nvidia-docker安装
(1)docker安装
(2)nvidia-docker安装
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
apt-get install nvidia-docker2
pkill -SIGHUP dockerd
测试是否可以使用:
docker run --runtime=nvidia --rm nvidia/cuda:11.0-base nvidia-smi