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

Method MergeDeviceNames

tensorflow/core/common_runtime/colocation_graph.cc:326–355  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

324}
325
326Status Member::MergeDeviceNames(const Member& other,
327 bool allow_soft_placement) {
328 // Assuming the "requested is a specialization of assigned and resource
329 // devices" invariant holds for this and `other`, it will hold after the
330 // merges below.
331 DeviceNameUtils::ParsedName assigned_device_name_copy = assigned_device_name_;
332 TF_RETURN_IF_ERROR(DeviceNameUtils::MergeDevNames(
333 &assigned_device_name_copy, other.assigned_device_name_));
334
335 DeviceNameUtils::ParsedName resource_device_name_copy = resource_device_name_;
336 TF_RETURN_IF_ERROR(DeviceNameUtils::MergeDevNames(
337 &resource_device_name_copy, other.resource_device_name_));
338
339 DeviceNameUtils::ParsedName requested_device_name_copy =
340 requested_device_name_;
341 TF_RETURN_IF_ERROR(DeviceNameUtils::MergeDevNames(
342 &requested_device_name_copy, other.requested_device_name_,
343 allow_soft_placement));
344
345 DeviceNameUtils::EnsureSpecification(&requested_device_name_copy,
346 assigned_device_name_copy);
347 DeviceNameUtils::EnsureSpecification(&requested_device_name_copy,
348 resource_device_name_copy);
349
350 // We checked for all errors, now change the devices.
351 assigned_device_name_ = assigned_device_name_copy;
352 resource_device_name_ = resource_device_name_copy;
353 requested_device_name_ = requested_device_name_copy;
354 return Status::OK();
355}
356
357// Updates this to contain the intersection of the device types in
358// this and "other".

Callers 1

ColocateNodesMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected