| mbarrier.init setup |
设置每个 phase 需要等待的 arrival 数量 |
phase=0, expected_arrival_count=count, pending_arrival_count=count, tx_count=0 |
| mbarrier.arrive participant |
thread 向 barrier 发出 arrival 信号 |
pending_arrival_count -= 1 |
| mbarrier.arrive.expect_tx participant |
arrive,同时声明预期的异步传输字节数 |
pending_arrival_count -= 1, tx_count += byte_count |
| tcgen05.commit...mbarrier::arrive::one issuer |
让 barrier 追踪当前 thread 此前发出的异步 tcgen05 操作 |
完成后由 system 执行一次 arrive(count=1) |
| T.ptx.mbarrier.try_wait consumer |
等待指定 phase 完成 |
不修改 barrier 状态;未完成时在内部重试,完成后返回 |