fix a memory bug in CudnnHolder

fix-develop-build.sh
fengjiayi 7 years ago
parent 82a1b35b9b
commit 7b577b92e0

@ -176,13 +176,12 @@ class CudnnHolder {
if (required_workspace_len <= workspace_len_) { if (required_workspace_len <= workspace_len_) {
return; return;
} }
void* new_workspace = paddle::memory::Alloc(place_, required_workspace_len);
if (workspace_ != nullptr) { if (workspace_ != nullptr) {
// Maybe someone is using the current workspace // Maybe someone is using the current workspace
PADDLE_ENFORCE(cudaStreamSynchronize(*stream_)); PADDLE_ENFORCE(cudaStreamSynchronize(*stream_));
paddle::memory::Free(place_, workspace_); paddle::memory::Free(place_, workspace_);
} }
workspace_ = new_workspace; workspace_ = paddle::memory::Alloc(place_, required_workspace_len);
workspace_len_ = required_workspace_len; workspace_len_ = required_workspace_len;
} }

Loading…
Cancel
Save