8.4 多GPU计算
注:相对于本章的前面几节,我们实际中更可能遇到本节所讨论的情况:多GPU计算。原书将MXNet的多GPU计算分成了8.4和8.5两节,但我们将关于PyTorch的多GPU计算统一放在本节讨论。 需要注意的是,这里我们谈论的是单主机多GPU计算而不是分布式计算。如果对分布式计算感兴趣可以参考PyTorch官方文档。
本节中我们将展示如何使用多块GPU计算,例如,使用多块GPU训练同一个模型。正如所期望的那样,运行本节中的程序需要至少2块GPU。事实上,一台机器上安装多块GPU很常见,这是因为主板上通常会有多个PCIe插槽。如果正确安装了NVIDIA驱动,我们可以通过在命令行输入nvidia-smi
命令来查看当前计算机上的全部GPU(或者在jupyter notebook中运行!nvidia-smi
)。
nvidia-smi
Copy to clipboardErrorCopied
输出:
Wed May 15 23:12:38 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48 Driver Version: 390.48 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 TITAN X (Pascal) Off | 00000000:02:00.0 Off | N/A |
| 46% 76C P2 87W / 250W | 10995MiB / 12196MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 TITAN X (Pascal) Off | 00000000:04:00.0 Off | N/A |
| 53% 84C P2 143W / 250W | 11671MiB