diff --git a/tensorflow/compiler/xla/python/local_client.cc b/tensorflow/compiler/xla/python/local_client.cc index 221a2001fa7..3c634d529bf 100644 --- a/tensorflow/compiler/xla/python/local_client.cc +++ b/tensorflow/compiler/xla/python/local_client.cc @@ -597,9 +597,11 @@ StatusOr> PyLocalBuffer::CopyToDevice( TF_RET_CHECK(input_buffer.size() == output_buffer.size()) << "input: " << input_buffer.size() << " output: " << output_buffer.size(); - TF_RETURN_IF_ERROR(transfer_local_device->ThenMemcpyDeviceToDevice( - transfer_stream, dst_local_device->compute_stream(), input_buffer, - output_buffer)); + if (input_buffer.size() != 0) { + TF_RETURN_IF_ERROR(transfer_local_device->ThenMemcpyDeviceToDevice( + transfer_stream, dst_local_device->compute_stream(), input_buffer, + output_buffer)); + } } // We hold on to the `src_device_buffer` until the transfer is finished.