如何确定系统上 CUDA 设备的数量(无需编译任何内容)?

ein*_*ica 4 command-line cuda

我想确定系统上 CUDA 设备的数量。当然,我可以在我编译的 C 程序中使用 CUDA 运行时 API 来执行此操作,但是 - 在编译任何代码的情况下执行此操作的最简单/最直接的方法是什么?

假设:

  • 已安装 CUDA >= 7.0
  • 安装了最新的 nVIDIA 驱动程序
  • 您可以为类 UNIX 和非类 UNIX 操作系统提供不同的解决方案。

ein*_*ica 5

如果您使用的是 Linux 或类 UNIX 系统,则可以使用以下方法:

nvidia-smi  -L | wc -l
Run Code Online (Sandbox Code Playgroud)

解释:

  • nvidia-smi是 nVIDIA 的“系统管理界面”实用程序。您可以使用它来确定有关 GPU 的各种信息,并执行一些维护操作。
  • nvidia-smi -L列出系统上可用的 GPU。
  • wc是 UNIX 字/行/字符计数实用程序
  • wc -l计算标准输入的行数

...但有点脆。我希望我有更强大的东西。