使用NCCL时如何指定Nvlink类型

How to specify the Nvlink type when using NCCL

在DGX-1系统(8xV100)中,有两种类型的NVlink:NVlink-V1和NVlink-V2,

我们有什么方法可以明确指定我们使用哪种类型的 NVlink 进行 p2p 和集体通信?

一台机器上没有两种类型的 NVLINK。这里的区别在于绑定在一起的 link 的数量。

NV1 名称表示那些 GPU(在该连接路径上)具有单一 link 连接。

NV2 名称表示这些 GPU 具有双 link(即带宽的两倍)连接。两个 link“结合”在一起。

不能二选一,这是不可控的,是HW设计的功能。

如果 NCCL 选择在具有 NV2 连接的两个 GPU 之间传输数据,它将以两倍的速度进行。

这里没有您可以设置或控制的内容。

使用 NCCL 的一般原则是您指定要执行的集体,NCCL 将使用现有结构尽快完成该集体。