简介:本文详细介绍Ubuntu系统下双显卡(或多显卡)的配置方法、驱动安装、性能测试及常见问题解决,帮助开发者充分发挥多显卡的计算潜力。
在深度学习、3D渲染和高性能计算领域,多显卡(尤其是NVIDIA GPU)的并行计算能力已成为提升效率的关键。Ubuntu作为开发者首选的Linux发行版,其多显卡配置与测试一直是热门话题。本文将从基础配置到性能调优,系统梳理Ubuntu下双显卡(或多显卡)的完整流程,涵盖驱动安装、CUDA环境配置、性能测试工具及常见问题解决。
amdgpu对多卡的支持,部分旧卡(如HD 7000系列)可能存在兼容性问题。prime-select或optimus-manager管理输出,但计算任务通常需统一驱动。nvidia-smi -l 1实时监控温度,超过85℃需优化散热。
sudo ubuntu-drivers autoinstall # 自动推荐并安装sudo reboot
sudo bash -c "echo 'blacklist nouveau' >> /etc/modprobe.d/blacklist.conf"sudo update-initramfs -usudo reboot
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/535.154.02/NVIDIA-Linux-x86_64-535.154.02.runsudo sh NVIDIA-Linux-x86_64-*.run --dkms # --dkms支持内核更新
lspci | grep -i nvidianvidia-smi -L # 列出每张卡的UUID和型号
nvcc --version
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pinsudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pubsudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /"sudo apt-get updatesudo apt-get -y install cuda-12-2 # 替换为所需版本
import torch# 检查可用GPUprint(torch.cuda.device_count()) # 输出GPU数量print(torch.cuda.get_device_name(0)) # 输出第一张卡型号# 数据并行示例model = torch.nn.Linear(10, 10).cuda()if torch.cuda.device_count() > 1:model = torch.nn.DataParallel(model) # 自动分配到多卡
nsys profile --stats=true python train.py
bandwidthTest测试PCIe带宽。
cd /usr/local/cuda/samples/1_Utilities/bandwidthTestmake./bandwidthTest --device=0,1 # 测试双卡间带宽
stream1 = torch.cuda.Stream(device=0)stream2 = torch.cuda.Stream(device=1)with torch.cuda.stream(stream1):# 卡0任务with torch.cuda.stream(stream2):# 卡1任务
nvidia-smi报错或登录循环。
sudo apt purge nvidia-* # 彻底卸载sudo rm /etc/X11/xorg.conf # 删除可能存在的配置文件sudo reboot
ImportError: libcublas.so.12找不到。
sudo apt install --only-upgrade cuda-12-2 # 升级到指定版本
export NCCL_DEBUG=INFOexport NCCL_BLOCKING_WAIT=1 # 启用阻塞等待
pip install horovod[pytorch]mpirun -np 2 -H server1:1,server2:1 \python train.py --dist-url tcp://server1:23456
FROM nvidia/cuda:12.2.0-base-ubuntu22.04RUN apt-get update && apt-get install -y python3-pipRUN pip install torch torchvision
运行命令:
docker run --gpus all -it my_image
Ubuntu下双显卡(或多显卡)的配置需兼顾硬件兼容性、驱动稳定性和任务分配策略。通过本文的流程,开发者可系统完成从驱动安装到性能调优的全过程。实际测试中,双RTX 3090在数据并行下可实现近1.9倍的加速比,而模型并行需针对具体架构优化。建议定期使用nvidia-smi topo -m检查GPU拓扑结构,以最大化利用NVLink或PCIe带宽。