Replies: 1 comment
|
This is a very good question — the branching on: get_pipeline_model_parallel_rank() % 2 == 0is not just stylistic, and it is also not about stream dependency. It is mainly about deadlock avoidance in NCCL/Gloo-style point-to-point communication. 1. What
|
Uh oh!
There was an error while loading. Please reload this page.
Your question

Ask a clear and concise question about Megatron-LM.
**
**
why the _p2p_ops func has the condition branches to distinguish between get_pipeline_model_parallel_rank() % 2 == 0 and get_pipeline_model_parallel_rank() % 2 != 0 ?
just for different send recv launch order?
but send next and recv prev will use different stream, no dependency
All reactions