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
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