aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/compiler/xla/service/computation_placer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/compiler/xla/service/computation_placer.cc')
-rw-r--r--tensorflow/compiler/xla/service/computation_placer.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/tensorflow/compiler/xla/service/computation_placer.cc b/tensorflow/compiler/xla/service/computation_placer.cc
index cdf277581f..cdfa30dd9a 100644
--- a/tensorflow/compiler/xla/service/computation_placer.cc
+++ b/tensorflow/compiler/xla/service/computation_placer.cc
@@ -49,17 +49,18 @@ Status DeviceAssignment::Serialize(DeviceAssignmentProto* proto) const {
return Status::OK();
}
-/* static */ StatusOr<DeviceAssignment> DeviceAssignment::Deserialize(
- const DeviceAssignmentProto& proto) {
+/* static */ StatusOr<std::unique_ptr<DeviceAssignment>>
+DeviceAssignment::Deserialize(const DeviceAssignmentProto& proto) {
TF_RET_CHECK(proto.computation_devices_size() == proto.computation_count());
- DeviceAssignment assignment(proto.replica_count(), proto.computation_count());
+ auto assignment = MakeUnique<DeviceAssignment>(proto.replica_count(),
+ proto.computation_count());
for (int computation = 0; computation < proto.computation_count();
++computation) {
const auto& computation_device = proto.computation_devices(computation);
TF_RET_CHECK(computation_device.replica_device_ids_size() ==
proto.replica_count());
for (int replica = 0; replica < proto.replica_count(); ++replica) {
- assignment(replica, computation) =
+ (*assignment)(replica, computation) =
computation_device.replica_device_ids(replica);
}
}