跳转至

跑起来速度慢,GPU占用率低

适用镜像: Windows、Ubuntu18、Ubuntu20、Ubuntu22、Ubuntu24

一、查看GPU占用率

首先我们通过命令查看GPU的占用情况。

# 查看GPU占用率
nvidia-smi
# 持续更新GPU占用率情况
nvidia-smi -l

以上命令需要在终端或者命令提示符中运行。

运行之后我们会得到如下界面:

alt text

图片解释:

  • 红框一:这里是展示的是显卡的功率,斜杠 / 前面是当前功率,后面是显卡的额定功率;
    • 理想状态😄:当前功率越高越好,超过70%的额定功率。
    • 糟糕状态☹️:当前功率过低,甚至不到80w
  • 红框二:这里的表示的是显卡的显存,斜杠 / 前面是当前显存占用量,后面是显卡总的可用显存;
    • 理想状态😄:当前使用的显存尽可能的接近总的可用显存达到90%以上的占用率。
    • 糟糕状态☹️:显存暂用只有几百M,或者小于50%
  • 红框三:这里是GPU的计算单元的占用率,百分数。
    • 理想状态😄:GPU的计算单元的占用率达到90%以上的占用率。
    • 糟糕状态☹️:GPU的计算单元的占用率为0,或者小于50%

前面看到的各项指标,出现高低起伏频繁变化,也将会严重影响计算效率。

二、常见问题

  1. 当前环境不支持GPU加速,检测方法:

    • 使用Tensorflow框架:
      • Windows镜像:在当前环境中执行python X:\深度学习测试\test-tf.py;
      • Ubuntu Linux 镜像: 在当前环境中执行python ~/ai-test/test-tf.py;
    • 使用Torch (也叫 pyTorch)框架:
      • Windows镜像:在当前环境中执行python X:\深度学习测试\test-torch.py;
      • Ubuntu Linux 镜像: 在当前环境中执行python ~/ai-test/test-torch.py;

    请务必确认执行上述代码的环境与自己代码的环境是相同的。

    确认方法参考链接

  2. 当前环境的cuda版本不支持当前机器的显卡

    • CUDA9.x: 显卡限制为 10601080
    • CUDA10.x: 显卡限制为 106010802080Ti
    • CUDA11.0~CUDA11.3: 显卡限制为 106010802080Ti3060307030803080Ti30903090Ti
    • CUDA11.3~CUDA12.6: 显卡限制为 106010802080Ti3060307030803080Ti30903090Ti4060Ti4090
    • CUDA12.8~CUDA12.9: 显卡限制为 106010802080Ti3060307030803080Ti30903090Ti4060Ti4090506050805090

    一般会表现现象:显存有占用,但是cuda占用为0,功耗占用很低;

三、其他优化思路指引