[QUESTION] How does the custom `torch.distributed.ring_exchange()` work?
Open
question
- Dominant language
- Python
- Stars
- 17.9k
- Forks
- 4.5k
- Avg merge
- 4d 6h
- Merged PRs (30d)
- 271
Description
I see it referenced in [a few places](https://github.com/NVIDIA/Megatron-LM/blob/8a5521ac4226fbefeeb2a102ebecac32a01d4852/megatron/core/model_parallel_config.py#L262-L265). How is it different from `batch_isend_irecv`? Would be good to know what it does differently, so we can see if it's worth implementing this ourselves. Thanks.
Related issue #141
Contributor guide
Assessment
This issue has not been assessed yet.