提交 7b577b92 编写于 作者: F fengjiayi

fix a memory bug in CudnnHolder

上级 82a1b35b
...@@ -176,13 +176,12 @@ class CudnnHolder { ...@@ -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;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册