In cutlass/test/unit/pipeline/pipeline_tma_async_warp_specialized.cu, I see:
pipeline.producer_commit
And in cutlass/include/cutlass/gemm/collective/sm90_mma_tma_gmma_ss_warpspecialized.hpp, I see:
pipeline.producer_get_barrier
They locates at almost same place, so I guess they have same function. Why? Any difference? They are the same?(from source code I can not understand)
Thanks~
I noticed one reply said: “one is doing the commit, the other is simply returning the pointer to the barrier.”
I am wondering, if we use multi-stage, we need commit, but TMA hardware itself contains the commit???
I checked cuda doc and I see:
TMA… has commit or not? In what case we do not need to commit?(I really can not imagine and this infect my proceeding coding…)