Skip to content

CUDA 安装配置

基础概念

显卡、驱动、CUDA、CUDNN的关系

组件 说明
显卡(GPU) NVIDIA的GPU,具有强大的并行计算能力,满足深度学习需求
驱动 识别GPU硬件,调用其计算资源的基础软件
CUDA NVIDIA推出的并行计算框架,用于GPU并行加速,深度学习框架均基于CUDA
CUDNN 针对深度卷积神经网络的加速库,依赖CUDA

版本关系

  • 显卡驱动与CUDA:不是一一对应关系,可同时安装多个CUDA版本
  • 安装顺序:先安装最新版本的显卡驱动,再根据需要选择CUDA工具包
  • 版本要求:安装的CUDA版本需小于等于显卡驱动支持的最新CUDA版本
  • VS要求:安装CUDA前需先安装Visual Studio,需注意版本对应关系

Docker 安装

NVIDIA Container Toolkit

安装步骤

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
sudo apt-get install -y nvidia-container-toolkit

# 配置容器运行时
sudo nvidia-ctk runtime configure --runtime=docker

# 重新启动 Docker 守护进程
sudo systemctl restart docker

# 验证配置
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

nvidia-smi 输出详解

输出示例

| NVIDIA-SMI 450.51.06    Driver Version: 450.51.06    CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080    Off  | 00000000:01:00.0 Off |                  N/A |
| 20%   45C    P2    50W / 180W |  150MiB /  8118MiB   |     0%      Default  |
+-------------------------------+----------------------+----------------------+

字段说明

字段 说明
GPU-Util GPU利用率,表示当前GPU的使用情况,以百分比形式显示
Fan GPU风扇运转情况
Temp GPU温度
Perf 性能状态(Performance State),用P0-P12表示,P0为最高性能状态,P12为最低性能状态
Persistence-M 持久模式,On表示GPU保持活动状态,Off表示无任务时进入低功耗状态
Pwr:Usage/Cap GPU功耗使用情况与功耗能力的比例,格式为:Usage/Cap(如50W/180W)
Bus-Id GPU设备在系统总线上的唯一标识符,格式如00000000:01:00.0
Disp.A Display Active,显示活动状态,On表示有显示设备连接并活动,Off表示未活动
Memory-Usage GPU内存使用情况,格式为:Used/Total(如150MiB/8118MiB)
Volatile Uncorr.ECC 易失性不可纠正错误,N/A表示无错误
Compute M. 计算模式,Default为默认模式,Prohibited为禁止模式,Exclusive Process为独占模式

CUDA API 类型

CUDA有两种API:

API类型 说明 查看命令
Runtime API 运行时API nvcc -V
Driver API 驱动API nvidia-smi

注意: Runtime API版本要小于等于Driver API版本