调用GPU异常

不能调用GPU

首先使用nvidia-smi命令检查GPU的使用情况

0

以上红色框标记的分别为显存占用和GPU使用率。如果程序开始运行后:

     1. 显存无占用,那么可能是安装的框架为非GPU版本。检查方法为:

# 如果你在使用PyTorch # 如果版本号中带cu字样,说明是cuda版本,否则是cpu版本 # 此外:使用Torch官方的conda安装命令在国内安装的一般为非cuda版本,而是cpu版本(有bug),因此推荐用pip安装,并且如果使用torch官方pip命令,去掉-f参数,这样可以走国内的pip源,速度更快 import torch print(torch.__version__) # 如果你在使用TensorFlow import tensorflow as tf sys_details = tf.sysconfig.get_build_info() sys_details["cuda_version"]

      2. 显存有占用,GPU占用率不为0,但是波动较大,此时正常使用了GPU,可以优化程序使GPU利用率更高,参考最佳实践 性能

     3. 显存有占用,但是GPU占用率一直为0。这种case可以分两种,一种安培架构的GPU(30系列的卡、A40、A100、A5000等)需要使用CUDA11.X。另一种case为代码未使用GPU,只不过import框架和构建网络时,框架会分配显存,因此看到的情况就是显存有占用,但是未使用GPU。

栏目
问题反馈