diff --git a/paddle/operators/parallel_do_op.cc b/paddle/operators/parallel_do_op.cc index 77936cf58e361dd1d2c5198b8583f687a26de077..dd8a9e05f93ace1c6bb56fe1d25c48f5116f53fb 100644 --- a/paddle/operators/parallel_do_op.cc +++ b/paddle/operators/parallel_do_op.cc @@ -79,11 +79,11 @@ inline void CopyOrShare(const framework::Variable& src, auto *dst_sr = dst->GetMutable(); dst_sr->set_rows(src_sr.rows()); dst_sr->set_height(src_sr.height()); - Copy(src_sr.value(), dst_place, dst_sr->mutable_value()); -// if (src_sr.value().place() == dst_place) { -// dst_sr->mutable_value()->ShareDataWith(src_sr.value()); -// } else { -// } + if (src_sr.value().place() == dst_place) { + dst_sr->mutable_value()->ShareDataWith(src_sr.value()); + } else { + Copy(src_sr.value(), dst_place, dst_sr->mutable_value()); + } } else { PADDLE_THROW("Expect LoDTensor/SelectedRows, get %s", src.Type().name()); }