diff --git a/paddle/fluid/inference/api/analysis_predictor.cc b/paddle/fluid/inference/api/analysis_predictor.cc index 20bea8e568..7bfdb2107c 100644 --- a/paddle/fluid/inference/api/analysis_predictor.cc +++ b/paddle/fluid/inference/api/analysis_predictor.cc @@ -175,9 +175,15 @@ bool AnalysisPredictor::PrepareScope( status_is_cloned_ = true; } else { paddle::framework::InitDevices(false); - scope_.reset(new paddle::framework::Scope(), [&](framework::Scope *scope) { + scope_.reset(new paddle::framework::Scope(), [](framework::Scope *scope) { delete scope; - memory::Release(place_); +#ifdef PADDLE_WITH_CUDA + for (int dev_id = 0; dev_id < paddle::platform::GetCUDADeviceCount(); + ++dev_id) { + memory::Release(platform::CUDAPlace(dev_id)); + } +#endif + memory::Release(platform::CPUPlace()); }); status_is_cloned_ = false; } diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 34edb0280b..0be09c1ec6 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -106,7 +106,7 @@ if(APPLE) message(FATAL_ERROR "install_name_tool not found, please check.\n") endif() endif() -if(LINUX AND NOT WITH_SW) +if(LINUX AND NOT WITH_SW AND NOT WITH_ARM) find_program(PATCHELF_EXECUTABLE patchelf) if(NOT PATCHELF_EXECUTABLE) message(FATAL_ERROR "patchelf not found, please install it.\n"