Bluefog-Lib / Bluefog-Lib/bluefog

Proposal for local GPU communication merging

Open
#20 1 comment 0 reactions 3 assignees Claimed by @kunyuan827 View on GitHub
Dominant language
Python
Stars
257
Forks
50
PR merge metrics
No merged PRs in 30d

Description

Current win_ops logics is

win_create -> gradient/iterate update -> win_put -> win_sync

The processing between all nodes/agents are almost decoupled and independent.

We want to further optimize our communication for multi machines cases. We know the communication between multiple GPUs within in same physical machine should be faster than communication between different machines. Further, we can utilize the NCCL, RDMA, etc technique to accelerate the speed. I suggest modifying the processes into

Local machine leader:
win_create -> gradient/iterate update -> Local Allreduce -> win_put -> win_sync
ocal machine worker1:
nothing ----> gradient/iterate update -> Local Allreduce ---- nothing
local machine woker2:
nothing ----> gradient/iterate update -> Local Allreduce ---- nothing

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.