我的机器中有多少个 GPU?

Tak*_*Tak 8 command-line gpu

我想知道在使用和不使用终端的情况下,我如何知道我的机器上有多少 GPU?

Ary*_*dhi 10

终端方式

输入:

lspci|grep 'VGA\|Display'
Run Code Online (Sandbox Code Playgroud)

你会看到类似的东西:

00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Carrizo (rev c9)
Run Code Online (Sandbox Code Playgroud)

grep 'VGA\|Display'如果数据不准确,您可以忽略列出所有 PCIe 并自行计算您拥有多少 GPU。

图形界面

hardinfo在终端/在 Dash 中搜索“System Profiler and Benchmark”安装并运行它。查看 PCI 设备部分。它应该是这样的:

图形用户界面

  • `grep VGA` 是个坏主意:在我的系统上,我有两个 GPU:独立的 nVidia 和内置的 Intel,只有一个显示为 VGA 兼容控制器。最好使用 `lspci|grep 'VGA\|Display'`,这样可以找到以下行: `00:02.0 Display controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06 )`。 (3认同)

Dav*_*ter 8

终端

使用 lspci

大多数桌面计算 GPU(即 Ubuntu 的目标群体)都可以通过 PCI 总线使用和枚举。

一个快速且容易记住的命令是

$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GF104 [GeForce GTX 460] (rev a1)
Run Code Online (Sandbox Code Playgroud)

在某些其他设备VGA的名称或供应商字符串中的奇怪情况下,您可以专门扫描 VGA 适配器设备类代码:

$ lspci -nn | grep -Fe '[0300]:'
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF104 [GeForce GTX 460] [10de:0e22] (rev a1)
Run Code Online (Sandbox Code Playgroud)

使用 lshw

的优点lshw是它枚举了所有已知接口上的设备,包括。USB、FireWire、Thunderbolt、I2C 和其他用于台式计算机(与嵌入式系统相对)上的 GPU 的通用总线越来越少。

缺点是需要超级用户权限才能扫描这些总线。

$ sudo lshw -C display
  *-display               
       description: VGA compatible controller
       product: GF104 [GeForce GTX 460]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:32 memory: ...
Run Code Online (Sandbox Code Playgroud)

-C display将设备列表限制为图形适配器,而不是设备类名称所暗示的显示器或屏幕。