1.
AllReduce: 모든 GPU(rank)의 데이터를 결합하여 그 결과를 모든 GPU에 다시 배포합니다. 예를 들어, 각 GPU가 데이터 조각을 가지고 있을 때, 이 데이터를 합산하여 모든 GPU에 결과를 제공합니다.
2.
Broadcast: 한 GPU에서 다른 모든 GPU로 데이터를 보냅니다. 예를 들어, 첫 번째 GPU의 데이터를 나머지 3개의 GPU와 공유합니다.
3.
Reduce: 모든 GPU의 데이터를 결합하고 그 결과를 하나의 GPU로 보냅니다. 예를 들어, 모든 GPU의 데이터를 합산하고 이를 첫 번째 GPU에만 전달합니다.
4.
AllGather: 모든 GPU로부터 데이터를 수집하여 모든 GPU에 분배합니다. 각 GPU가 데이터 조각을 가지고 있을 때, 이들을 모두 모아서 모든 GPU에 전달합니다.
5.
ReduceScatter: 모든 GPU의 데이터를 결합하고 그 결과를 모든 GPU에 분산시킵니다. 데이터를 결합한 후, 이를 여러 조각으로 나누어 각각의 GPU에 할당합니다.