-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
Description
What is your question?
Before cutlass 4.0.0, there is a pipeline wait before update the tma descriptor (
cutlass/include/cutlass/gemm/kernel/sm90_gemm_array_tma_warpspecialized_cooperative.hpp
Lines 709 to 713 in 2b78c2f
| // Purpose of this pipeline state is to make sure TMA loads have finished before doing descriptor updates | |
| // Since this state is waiting for loads to finish, it must start in the inverted phase. | |
| typename CollectiveMainloop::PipelineState mainloop_pipe_tma_consumer_state = | |
| {mainloop_pipe_producer_state.index(), !mainloop_pipe_producer_state.phase(), mainloop_pipe_producer_state.count()}; | |
| mainloop_pipeline.consumer_wait(mainloop_pipe_tma_consumer_state); |
As commented:
// Purpose of this pipeline state is to make sure TMA loads have finished before doing descriptor updates
// Since this state is waiting for loads to finish, it must start in the inverted phase.
why it can be safely removed?