GPU无法调用
不能调用GPU
¶
首先使用nvidia-smi
命令检查GPU
的使用情况
以上红色框标记的分别为显存占用和GPU
使用率。如果程序开始运行后:
显存无占用,那么可能是安装的框架为非GPU
版本。
检查方法为:
- 如果你在使用
PyTorch
- 如果版本号中带
cu
字样,说明是cuda
版本,否则是cpu
版本 - 此外:使用
Torch
官方的conda
安装命令在国内安装的一般为非cuda
版本,而是cpu
版本(有bug),因此推荐用pip
安装,并且如果使用torch
官方pip
命令,去掉-f
参数,这样可以走国内的pip
源,速度更快
如果你在使用 TensorFlow
显存有占用,GPU
占用率不为0
,但是波动较大,此时正常使用了GPU
,可以优化程序使GPU
利用率更高,参考帮助文档
显存有占用,但是GPU
占用率一直为0。这种case
可以分两种,一种安培架构的GPU
(30系列的卡、A40
、A100
、A5000
等)需要使用CUDA11.X
。另一种case
为代码未使用GPU
,只不过import
框架和构建网络时,框架会分配显存,因此看到的情况就是显存有占用,但是未使用GPU
。这种情况可以通过其他代码进行验证:
在终端执行以下命令,然后观察GPU
的使用情况(注意该代码是Torch
代码)
如果GPU
使用率不为0
,则证明你的代码可能未调用GPU
进行计算,请检查调试代码。如果以下代码执行异常,请联系客服协助处理: