File tree Expand file tree Collapse file tree
include/TRT_InferenceEngine Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -98,6 +98,8 @@ class TensorRTInferenceEngine
9898 nvinfer1::ILogger::Severity _logSeverity =
9999 nvinfer1::ILogger::Severity::kWARNING ;
100100 TRTOptimizerParams _optimization_params;
101+ // Runtime must outlive the engine and execution context.
102+ TRTUniquePtr<nvinfer1::IRuntime> _runtime{nullptr };
101103 TRTUniquePtr<nvinfer1::ICudaEngine> _engine{nullptr };
102104 TRTUniquePtr<nvinfer1::IExecutionContext> _context{nullptr };
103105 std::unique_ptr<TRTLogger> _logger{nullptr };
Original file line number Diff line number Diff line change @@ -312,9 +312,9 @@ bool inference_backend::TensorRTInferenceEngine::_deserialize_engine(
312312 engine_file.close ();
313313
314314 // Deserialize engine
315- std::unique_ptr<nvinfer1::IRuntime> runtime{
316- nvinfer1::createInferRuntime (*_logger)} ;
317- _engine = makeUnique (runtime ->deserializeCudaEngine (
315+ // Runtime must outlive the engine. Keep it as a member
316+ _runtime = makeUnique ( nvinfer1::createInferRuntime (*_logger)) ;
317+ _engine = makeUnique (_runtime ->deserializeCudaEngine (
318318 trt_model_stream.data (), trt_model_stream.size ()));
319319 if (!_engine)
320320 {
You can’t perform that action at this time.
0 commit comments