in src/torch_ucc.cpp [218:238]
void ProcessGroupUCC::ProgressEntry::finalize(std::exception_ptr eptr) {
ucc_status_t status = UCC_OK;
if (request_ != nullptr) {
status = request_->status;
comm_->free_request(request_);
}
if (eptr) {
eptr_ = eptr;
} else {
status_ = status;
}
if (future_) {
if (eptr) {
future_->setError(eptr);
} else {
future_->markCompleted(
c10::IValue(data ? data->dst : std::vector<at::Tensor>()));
}
}
}