为什么多 GPU 服务器中的 GPU 无法通信?

为什么多 GPU 服务器中的 GPU 无法通信?

这是一台配备 4 个 Nvidia A40 GPU 的 Dell PowerEdge r750xa 服务器,用于 AI 应用。虽然 GPU 单独运行良好,但多 GPU 训练作业或任何多 GPU 计算工作负载都会失败,因为至少有 2 个 GPU 必须交换信息,包括简单IPC共轭梯度多设备CGCUDA 样本(第一个显示不匹配的结果,第二个挂起)。

我看到了网上的讨论(123),声称必须关闭名为 IOMMU 的东西。我尝试设置iommu=offintel_iommu=offLinux 内核标志,但没有帮助。我检查了 BIOS 设置,但 BIOS 中没有关闭 IOMMU 的选项。

答案1

虽然此 BIOS 版本中没有明确的“IOMMU 关闭”设置,但问题仍然出在 BIOS 配置上。

在 BIOS 中,转到“集成设备”并改变“内存映射 I/O 基础”设置从默认的“56TB”到“12TB”。这将解决问题。无需添加任何额外的内核参数。

相关内容