NCCL에서는 node 간 path type을 아래와 같이 나누어 놓는다. (topoPathTypeStr[])을 보면 된다.

각 type에 대한 NCCL 공식 문서의 설명은 아래와 같다.
https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/env.html

본 글에서는, NCCL에서 사용하는 path type 중 PIX, PXB, PHB, SYS에 대해서 간단히 알아보고자 한다.
해당 개념들을 이해하기 위해선 PCI Express에 대해 알아야 한다. PCI Express에 관한 내용은 아래 사이트에 잘 정리되어 있다. 참고로 PIX, PXB, PHB, SYS를 나타낼 topology는 해당 사이트의 topology를 기반으로 한다.
PIX는 GPUs가 같은 PCIe 스위치에 연결돼 있는 경우이다. 이런 경우 두 GPU 간 통신은 P2P(Peer-to-Peer) 전송을 사용할 수 있다.



SYS는 GPUs가 서로 다른 NUMA 노드에 연결돼 있는 경우를 의미한다. 이 경우 GPUs는 두 CPU를 연결하는 QPI/UPI 같은 CPU 간 인터커넥트를 통해 통신해야 한다.
