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进行计算,请检查调试代码。如果以下代码执行异常,请联系客服协助处理:
