Linux裸机配置驱动,CUDA,Docker,Nvidia-Docker
裸机配置深度学习环境
只有网络功能,先挂载磁盘至/data
。
安装GCC
1
| sudo apt install build-essential
|
安装Nvidia驱动
- 查看显卡型号(4位16进制数)
- 进入网站 https://admin.pci-ids.ucw.cz/read/PC/10de/ ,查询4位16进制数,得到显卡型号
Nvidia官网下载对应版本的驱动(https://www.nvidia.com/en-us/drivers)文件 NVIDIA-Linux-x86_64-550.107.02.run
,将文件放进/root
目录下
安装驱动 sh /path/to/your/driver
,nvidia-smi
正常使用即为安装成功
安装CUDA
- 检查CUDA版本:12.4,查看Linux版本:Ubuntu 22.04.4 LTS
- 进入网站 https://developer.nvidia.com/cuda-12-4-0-download-archive,找到对应版本的安装包,下载安装(自动重定向到国内源)。
1 2
| wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.runsudo sh cuda_12.4.0_550.54.14_linux.run
|
- 在
~/.bashrc
文件中写入(路径可查看安装后的输出信息,一般为以下路径,更改cuda版本号即可):
1 2
| export PATH=/usr/local/cuda-12.4/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
|
并 source ~/.bashrc
更新,使用nvcc -V
,若显示版本信息,则安装成功。
安装AnaConda(一般不在宿主机运行Python…)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #下载annaconda wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh
#安装annaconda,安装中需要键入ENTER或输入yes bash Anaconda3-2022.05-Linux-x86_64.sh
#配置annaconda环境变量,将下面命令写入~/.bashrc文件中(或.bash_profile文件,因系统而异) export PATH=/root/anaconda3/bin:$PATH
#重新加载用户主目录下的.bash_profile文件,使设置的变量生效 source ~/.bashrc #或者 source .bash_profile
#初始化Conda shell,使得Conda环境能够在当前的Shell中正常运行 conda init
|
安装Docker/Nvidia-Docker
先安装正常的Docker
- 安装依赖:
1
| sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
|
- 添加GPG密钥,设置stable仓库:
1 2 3
| curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
|
- 安装docker:
1
| sudo apt install docker-ce docker-ce-cli containerd.io
|
docker --version
检查无误即安装成功!
设置镜像源,进入 /etc/docker/daemon.json
配置文件,添加:
1 2 3 4 5 6 7 8 9
| { "registry-mirrors": [ "https://dockerproxy.com/", "https://hub-mirror.c.163.com/", "https://mirror.baidubce.com/", "https://ccr.ccs.tencentyun.com/", "https://docker.rainbond.cc/" ] }
|
为使Docker内可以正常使用GPU,Nvidia提供了改进版的Docker,Nvidia-Docker
- 配置存储库并更新包列表:
1 2 3 4 5 6
| curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt-get update
|
- 安装 NVIDIA Container Toolkit 软件包:
1
| sudo apt-get install -y nvidia-container-toolkit
|
- 使用 nvidia-ctk 命令配置容器
1
| sudo nvidia-ctk runtime configure --runtime=docker
|
- 重启Docker服务
1
| sudo systemctl restart docker
|
测试Docker
1 2 3
| sudo docker container run hello-world
sudo docker run --gpus all --name test -it -v /home/user/:/workspace --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 ubuntu:22.04 bash
|
启动后出现hello-world等信息,Docker即配置成功。
启动后若能正确查看GPU信息,Nvidia-Docker即配置成功。
注:非root用户执行docker命令时需要sudo权限,若不想每次都输入sudo,则可设置Docker权限后,重新登陆。
1
| sudo usermod -aG docker $USER
|
参考资料
- https://blog.csdn.net/QQ896710872/article/details/136782475
- https://blog.csdn.net/magic_ll/article/details/139985543
- https://blog.csdn.net/qq_40647372/article/details/134940480