如何检查我的系统上是不是有可用的 NVIDIA GPU?

Posted

技术标签:

【中文标题】如何检查我的系统上是不是有可用的 NVIDIA GPU?【英文标题】:How to check if an NVIDIA GPU is available on my system?如何检查我的系统上是否有可用的 NVIDIA GPU? 【发布时间】:2021-08-02 20:13:31 【问题描述】:

有没有一种简单的方法来检查我的系统上是否有可用的 NVIDIA GPU仅使用标准库?我已经看到他们推荐使用 PyTorch 或 TensorFlow 的其他答案,但这不是我想要的。我想知道如何在 Windows 和 Linux 上执行此操作。谢谢!

【问题讨论】:

你有windows或者linux系统? 我都有,我想知道如何在他们两个上做到这一点。我会更新我的问题,谢谢提醒! 我认为您不会找到直接的标准库解决方案,但如果您使用了platformctypes,您可以自己动手。看起来很多其他人已经可能完成并维护的工作,例如 Windows 上的wmi 【参考方案1】:

当您安装了 Nvidia 驱动程序后,nvidia-smi 命令会输出一个简洁的表格,为您提供有关您的 GPU、CUDA 和驱动程序设置的信息。

通过检查此命令是否存在,可以知道是否存在 Nvidia GPU。

请注意,此代码仅在安装了 Nvidia GPU 适当的驱动程序时才有效。

这段代码应该可以在 Linux 和 Windows 上运行,它使用的唯一库是 subprocess,它是一个标准库。

import subprocess

try:
    subprocess.check_output('nvidia-smi')
    print('Nvidia GPU detected!')
except Exception: # this command not being found can raise quite a few different errors depending on the configuration
    print('No Nvidia GPU in system!')
    

【讨论】:

更喜欢except Exception 而不是裸露的except! ***.com/questions/54948548/… 我完全忘了那是一回事!我已经习惯于从每个平台上的代码块中找到所有可能的异常......谢谢!【参考方案2】:

以下代码显示 cuda 是否可用。 cuda与gpu接触

print(torch.cuda.is_available())
print(torch.backends.cudnn.enabled)

【讨论】:

以上是关于如何检查我的系统上是不是有可用的 NVIDIA GPU?的主要内容,如果未能解决你的问题,请参考以下文章

如何安装Pytorch

如何安装Pytorch

如何在运行应用程序的系统上检查所需的 Windows API 功能是不是可用?

如何检查某个功能在特定 iOS 版本上是不是可用?

如何检查 Android 设备上是不是有可用的 Google Play 游戏帐户?

NVIDIA 硬件的 OpenCL 1.2 何时可用?