MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / RecvOutputsAsync

Method RecvOutputsAsync

tensorflow/core/distributed_runtime/graph_mgr.cc:401–425  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

399}
400
401void GraphMgr::RecvOutputsAsync(const int64 step_id, NamedTensors* out,
402 StatusCallback done) {
403 Rendezvous* rendezvous = worker_env_->rendezvous_mgr->Find(step_id);
404 std::vector<string> keys;
405 std::vector<Tensor>* received_keys = new std::vector<Tensor>;
406 keys.reserve(out->size());
407 received_keys->reserve(out->size());
408 for (const auto& p : *out) {
409 keys.push_back(p.first);
410 received_keys->push_back(p.second);
411 }
412 RecvOutputsFromRendezvousAsync(
413 rendezvous, nullptr, {}, keys, received_keys,
414 [done, rendezvous, received_keys, out, keys](const Status s) {
415 rendezvous->Unref();
416 size_t output_size = 0;
417 for (int i = 0; i < keys.size(); ++i) {
418 (*out)[keys[i]] = (*received_keys)[i];
419 output_size += (*out)[keys[i]].AllocatedBytes();
420 }
421 metrics::RecordGraphOutputTensors(output_size);
422 delete received_keys;
423 done(s);
424 });
425}
426
427void GraphMgr::ExecuteAsync(const string& handle, const int64 step_id,
428 WorkerSession* session, const ExecutorOpts& opts,

Callers 1

DoPartialRunGraphMethod · 0.80

Calls 8

RecordGraphOutputTensorsFunction · 0.85
FindMethod · 0.45
reserveMethod · 0.45
sizeMethod · 0.45
push_backMethod · 0.45
UnrefMethod · 0.45
AllocatedBytesMethod · 0.45

Tested by

no test coverage detected