如何检查我的系统上是不是有可用的 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系统? 我都有,我想知道如何在他们两个上做到这一点。我会更新我的问题,谢谢提醒! 我认为您不会找到直接的标准库解决方案,但如果您使用了platform
和ctypes
,您可以自己动手。看起来很多其他人已经可能完成并维护的工作,例如 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?的主要内容,如果未能解决你的问题,请参考以下文章
如何在运行应用程序的系统上检查所需的 Windows API 功能是不是可用?