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

Method AssignDevice

tensorflow/core/common_runtime/colocation_graph.cc:458–497  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

456}
457
458Status Member::AssignDevice(const Node& node) {
459 if (node.assigned_device_name_index() == assigned_device_name_index_) {
460 return Status::OK();
461 }
462
463 DeviceNameUtils::ParsedName parsed;
464 DeviceNameUtils::ParseFullName(node.assigned_device_name(), &parsed);
465 Status s = DeviceNameUtils::MergeDevNames(&assigned_device_name_, parsed);
466 if (!s.ok()) {
467 return errors::Internal(
468 "Constraining by assigned device should not cause an error. Original "
469 "root's assigned device name: ",
470 DeviceNameUtils::ParsedNameToString(assigned_device_name_),
471 " node's assigned device name \"", node.assigned_device_name(),
472 ". Error: ", s.error_message());
473 }
474 s = DeviceNameUtils::MergeOverrideDevNames(&resource_device_name_, parsed);
475 if (!s.ok()) {
476 return errors::Internal(
477 "Constraining by assigned device should not cause an error. Original "
478 "root's resource device name: ",
479 DeviceNameUtils::ParsedNameToString(resource_device_name_),
480 " node's assigned device name \"", node.assigned_device_name(),
481 ". Error: ", s.error_message());
482 }
483 s = DeviceNameUtils::MergeOverrideDevNames(&requested_device_name_, parsed);
484 if (!s.ok()) {
485 return errors::Internal(
486 "Constraining by assigned device should not cause an error. Original "
487 "root's requested device name: \"",
488 DeviceNameUtils::ParsedNameToString(requested_device_name_),
489 "\", node's assigned device name \"", node.assigned_device_name(),
490 "\". Error: ", s.error_message());
491 }
492
493 assigned_device_name_index_ = node.assigned_device_name_index();
494 // Clear cached possible_devices, if any.
495 possible_devices_.clear();
496 return Status::OK();
497}
498
499Status Member::LimitToPossibleDevices(const PossibleDevices& devices,
500 bool allow_soft_placement) {

Callers 1

LimitToAssignedDeviceMethod · 0.45

Calls 4

InternalFunction · 0.85
okMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected