适用系统:Ubuntu 24.04 LTS
包含:PWstudio gpu 版与现有主流容器版 GPU 应用相同,都在运行时依赖 NVIDIA 显卡驱动、Docker、nvidia-container-toolkit,安装 PWstudio gpu 版前请先确定您的机器已经安装这些依赖项。本手册中提供了这些依赖项的安装步骤,您可以参考安装。
在开始之前,强烈建议先看一遍 PWstudio 安装前必看,尤其是里面关于“复制粘贴”和“命令提示符不是命令的一部分”的说明。如果你还不会用工具登录服务器、上传下载文件,先看 MobaXterm 新手教程。
如果你的机器之前已经装过驱动,可以先做 1.2 检查一下,如果有输出就可以跳过整个第 1 章节,直接进入“2. 安装 Docker”。
lspci | grep -i nvidia
nvidia-smi
如果能看到显卡型号、驱动版本、CUDA 版本等信息,说明驱动已经安装, 跳过这一步。也就是说 1.3~1.7 都不用做了,直接去第 2 章节“安装 Docker”。若提示 “command not found”,说明还没装,请继续下面的步骤。
# 1. 先禁用 nouveau sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf" sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf" sudo update-initramfs -u # 2. 重启系统(让 nouveau 禁用生效) sudo reboot
执行 sudo reboot 后,终端连接会断开,这是正常且必须的现象,不用担心。请等待 1-2 分钟让服务器完成重启,然后重新登录服务器(比如用 MobaXterm 重新连接一次),登录成功后再继续下面 1.4 的步骤。
sudo apt update
这条命令是刷新一下软件源列表,执行后会滚动显示各个源的检查信息,正常现象,跑完即可,不需要额外操作。
sudo apt install -y ubuntu-drivers-common
# 安装 535 版本驱动(支持 CUDA 12.1 及以上) sudo ubuntu-drivers install nvidia:535
如需查看系统推荐驱动版本,可先执行sudo ubuntu-drivers list参考输出结果。
这一步会下载并安装驱动,根据网速可能需要几分钟,请耐心等待,中途不要强行关闭终端。
sudo reboot
同样,执行后终端会断开,属于正常现象,等待 1-2 分钟后重新登录服务器。
nvidia-smi
注意 nvidia-smi 中间是短横线,没有空格,建议直接复制粘贴执行,不要手动敲。
如果能看到显卡型号、驱动版本、CUDA 版本等信息,说明驱动已成功安装(如下图例所示,看到类似这样的表格就说明成功了):
NVIDIA-SMI 535.309.01 为命令行工具本身的版本号,是用来查询GPU状态的可执行程序;
Driver Version: 535.309.01 是 NVIDIA 显卡内核驱动 的版本号。它是真正掌管GPU硬件、与操作系统内核交互的核心底层程序;
CUDA Version: 12.2 是当前驱动所能支持的最高 CUDA 运行时(Runtime)版本。只要CUDA应用程序(如PyTorch、TensorFlow)依赖的CUDA版本 不超过 12.2,就可以正常调用GPU。
安装前请先确认您的机器是否未安装docker:
docker --version # 如果输出类似 Docker version 29.6.1, build 8900f1d 信息,则表示已安装docker,可以跳过本章节,直接进入"3. 安装 nvidia-container-toolkit" systemctl status docker # 检查检查 Docker 服务是否运行,显示 active (running) ,则不仅安装了,服务也在运行
sudo apt update sudo apt install -y ca-certificates curl
# 1. 创建存放密钥的目录 sudo install -m 0755 -d /etc/apt/keyrings # 2. 从阿里云镜像站下载并保存 Docker 的 GPG 密钥 sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # 3. 添加 Docker 软件源(同样使用阿里云镜像地址) echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
第 3 步这一整段(从 echo 到最后的 > /dev/null)建议整体一起复制粘贴执行,不要拆开分行执行,因为它本身就是一条跨行的命令。其中 $(dpkg –print-architecture) 和 $(. /etc/os-release && echo …) 都是系统自动变量,会自动替换成你系统的架构和版本代号,不需要手动修改。
# 再次更新软件包索引 sudo apt update # 安装 Docker 及其组件 sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
这一步会下载安装 Docker 及相关组件,根据网速可能需要一两分钟。
sudo systemctl start docker sudo systemctl enable docker
sudo docker run --rm swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/hello-world:latest # 展示类似如下信息则表示安装成功 # Hello from Docker! # This message shows that your installation appears to be working correctly. # To generate this message, Docker took the following steps: # 1. The Docker client contacted the Docker daemon. # 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) # 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. # 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. # To try something more ambitious, you can run an Ubuntu container with: # $ docker run -it ubuntu bash
只要你在终端里看到 “Hello from Docker!” 这几个字,就说明 Docker 已经安装成功、并且能正常工作了,可以放心进行下一步。
sudo usermod -aG docker $USER
这里的 $USER 是系统自动变量,会自动替换成你当前登录的用户名,不需要你手动改成自己的用户名,原样复制粘贴执行即可。
注意:需要重新登录或重启会话才能生效,也就是说执行完这条命令后,先退出终端(输入exit),再重新登录一次服务器,这条设置才会真正生效。
Ubuntu 24.04 推荐使用 NVIDIA 官方 apt 仓库安装,不再使用已废弃的apt-key add方式。
链接:http://223.70.160.60:9999/qflow/nvidia-container-toolkit_1.19.1_deb_amd64.tgz
用户名:pwmat
密码: SimplyTheBest
可在服务器直接下载(如果你的服务器能直接访问外网,可以省去“浏览器下载再上传”这一步,直接在服务器终端执行下面命令):
wget --user=pwmat --password=SimplyTheBest "http://223.70.160.60:9999/qflow/nvidia-container-toolkit_1.19.1_amd64.deb.tgz"
如果服务器不能直接访问外网,就跟前面驱动、Docker 一样,先用浏览器打开上面链接下载到本地,再用 MobaXterm 上传到服务器。
tar -zxvf nvidia-container-toolkit_1.19.1_deb_amd64.tgz cd nvidia-container-toolkit_1.19.1_deb_amd64 sudo dpkg -i *.deb
第一条解压,第二条进入解压出来的文件夹,第三条安装里面所有的 .deb 安装包。
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
3.3 和 3.4 这两步只需要执行一次,配置好以后就一直生效,不需要每次使用 Docker 前都重新做一遍。
sudo docker run --rm --gpus all swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi
如果容器内能正常输出 nvidia-smi 信息(如下图所示,能看到显卡型号、驱动版本等信息),说明 nvidia-container-toolkit 安装成功,容器已经能正常使用 GPU 了。
点击链接, 从 宿主机安装 server.py 服务 开始: 跳转到宿主机安装 server.py 服务章节 跟着文档安装到结尾