diff --git a/paddle/fluid/inference/api/analysis_predictor.cc b/paddle/fluid/inference/api/analysis_predictor.cc index ce47e9ff5e48e191e3aba68134e6ccfe1862735e..b4c35e82c6e457fa364ce91008439f4211c69fd3 100644 --- a/paddle/fluid/inference/api/analysis_predictor.cc +++ b/paddle/fluid/inference/api/analysis_predictor.cc @@ -502,14 +502,18 @@ void *AnalysisPredictor::GetExecStream() const { return reinterpret_cast(pool.Get(place_)) ->stream(); } - } else { - return nullptr; } - return nullptr; -#else +#endif +#if defined(PADDLE_WITH_XPU) + if (place_.GetType() == phi::AllocationType::XPU) { + paddle::platform::DeviceContextPool &pool = + paddle::platform::DeviceContextPool::Instance(); + return reinterpret_cast(pool.Get(place_)) + ->stream(); + } +#endif // TODO(inference): Support other backends. return nullptr; -#endif } const void *AnalysisPredictor::GetDeviceContexts() const {