Skip to content

Commit df11b40

Browse files
authored
Merge pull request #12961 from jacquesqiao/cherry-pick-fix-sparse-update-bug
fix sparse update bug
2 parents 5d85c22 + 3766e6b commit df11b40

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

paddle/fluid/operators/distributed/variable_response.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ bool VariableResponse::CopySelectRowsData(
151151
::google::protobuf::io::CodedInputStream* input,
152152
const platform::DeviceContext& ctx, int length) {
153153
auto* slr = GetVar()->GetMutable<framework::SelectedRows>();
154+
slr->mutable_rows()->clear();
154155
slr->mutable_rows()->resize(length /
155156
framework::SizeOfType(typeid(int64_t))); // int64
156157
int64_t* rows_data = slr->mutable_rows()->data();

paddle/fluid/operators/listen_and_serv_op.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,12 +165,13 @@ void ListenAndServOp::RunSyncLoop(
165165
recv_scope);
166166
VLOG(2) << "run all blocks spent " << GetTimestamp() - ts << "(ms)";
167167

168-
rpc_service_->SetCond(distributed::kRequestGet);
169-
rpc_service_->WaitBarrier(distributed::kRequestGet);
170-
rpc_service_->ResetBarrierCounter();
171168
// reset received sparse vars to avoid reuse it in the next mini-batch
172169
dynamic_cast<distributed::RequestSendHandler *>(request_send_handler_.get())
173170
->ResetSparseVarRecorder();
171+
172+
rpc_service_->SetCond(distributed::kRequestGet);
173+
rpc_service_->WaitBarrier(distributed::kRequestGet);
174+
rpc_service_->ResetBarrierCounter();
174175
} // while(true)
175176
}
176177

0 commit comments

Comments
 (0)