Before this change, it was possible to access a `const CollectiveParams&` after it was destroyed. For example, the call to `UnblockDependencies` in `NcclCommunicator::Enqueue` raced with the done_callback of the collective participant. This change makes `CollectiveParams` a refcounted object, and holds references everywhere it may be accessed. PiperOrigin-RevId: 355646163 Change-Id: I7fd164afe8c1c9aa1c3b77a988930a0624977c7c |
||
---|---|---|
.. | ||
BUILD | ||
collective_communicator.cc | ||
collective_communicator.h | ||
nccl_manager_test.cc | ||
nccl_manager.cc | ||
nccl_manager.h | ||
nccl_rewrite.cc |