NVIDIA DeepStream SDK API Reference

9.0 Release
nvdsinfer::BackendContext Class Referenceabstract

Detailed Description

Abstract interface for managing the actual inferencing implementation.

This interface abstracts away the low-level implementation details required for inferencing with implicit batch dimensions network/full dimensions network on GPU and inferencing on DLA.

Actual instance of a BackendContext can be created using createBackendContext function. This function will create the appropriate BackendContext (ImplicitTrtBackendContext/FullDimTrtBackendContext/DlaTrtBackendContext) based on the parameters used to build the network/engine.

Definition at line 167 of file sources/libs/nvdsinfer/nvdsinfer_backend.h.

Inheritance diagram for nvdsinfer::BackendContext:

Public Member Functions

 BackendContext ()=default
 
virtual ~BackendContext ()=default
 
virtual NvDsInferStatus initialize ()=0
 
virtual int getNumBoundLayers ()=0
 
virtual const NvDsInferBatchDimsLayerInfo & getLayerInfo (int bindingIdx)=0
 
virtual bool isOutputLayer (const std::string &bindingName)=0
 
virtual bool canSupportBatchDims (int bindingIdx, const NvDsInferBatchDims &batchDims)=0
 
virtual NvDsInferBatchDims getMaxBatchDims (int bindingIdx)=0
 
virtual NvDsInferBatchDims getMinBatchDims (int bindingIdx)=0
 
virtual NvDsInferBatchDims getOptBatchDims (int bindingIdx)=0
 
virtual NvDsInferStatus enqueueBuffer (const std::shared_ptr< InferBatchBuffer > &buffer, CudaStream &stream, CudaEvent *consumeEvent)=0
 
 BackendContext ()=default
 
virtual ~BackendContext ()=default
 
virtual NvDsInferStatus initialize ()=0
 
virtual int getNumBoundLayers ()=0
 
virtual const NvDsInferBatchDimsLayerInfo & getLayerInfo (int bindingIdx)=0
 
virtual bool isOutputLayer (const std::string &bindingName)=0
 
virtual bool canSupportBatchDims (int bindingIdx, const NvDsInferBatchDims &batchDims)=0
 
virtual NvDsInferBatchDims getMaxBatchDims (int bindingIdx)=0
 
virtual NvDsInferBatchDims getMinBatchDims (int bindingIdx)=0
 
virtual NvDsInferBatchDims getOptBatchDims (int bindingIdx)=0
 
virtual NvDsInferStatus enqueueBuffer (const std::shared_ptr< InferBatchBuffer > &buffer, CudaStream &stream, CudaEvent *consumeEvent)=0
 

Constructor & Destructor Documentation

◆ BackendContext() [1/2]

nvdsinfer::BackendContext::BackendContext ( )
default

◆ ~BackendContext() [1/2]

virtual nvdsinfer::BackendContext::~BackendContext ( )
virtualdefault

◆ BackendContext() [2/2]

nvdsinfer::BackendContext::BackendContext ( )
default

◆ ~BackendContext() [2/2]

virtual nvdsinfer::BackendContext::~BackendContext ( )
virtualdefault

Member Function Documentation

◆ canSupportBatchDims() [1/2]

virtual bool nvdsinfer::BackendContext::canSupportBatchDims ( int  bindingIdx,
const NvDsInferBatchDims &  batchDims 
)
pure virtual

◆ canSupportBatchDims() [2/2]

virtual bool nvdsinfer::BackendContext::canSupportBatchDims ( int  bindingIdx,
const NvDsInferBatchDims &  batchDims 
)
pure virtual

◆ enqueueBuffer() [1/2]

virtual NvDsInferStatus nvdsinfer::BackendContext::enqueueBuffer ( const std::shared_ptr< InferBatchBuffer > &  buffer,
CudaStream stream,
CudaEvent consumeEvent 
)
pure virtual

◆ enqueueBuffer() [2/2]

virtual NvDsInferStatus nvdsinfer::BackendContext::enqueueBuffer ( const std::shared_ptr< InferBatchBuffer > &  buffer,
CudaStream stream,
CudaEvent consumeEvent 
)
pure virtual

◆ getLayerInfo() [1/2]

virtual const NvDsInferBatchDimsLayerInfo& nvdsinfer::BackendContext::getLayerInfo ( int  bindingIdx)
pure virtual

◆ getLayerInfo() [2/2]

virtual const NvDsInferBatchDimsLayerInfo& nvdsinfer::BackendContext::getLayerInfo ( int  bindingIdx)
pure virtual

◆ getMaxBatchDims() [1/2]

virtual NvDsInferBatchDims nvdsinfer::BackendContext::getMaxBatchDims ( int  bindingIdx)
pure virtual

◆ getMaxBatchDims() [2/2]

virtual NvDsInferBatchDims nvdsinfer::BackendContext::getMaxBatchDims ( int  bindingIdx)
pure virtual

◆ getMinBatchDims() [1/2]

virtual NvDsInferBatchDims nvdsinfer::BackendContext::getMinBatchDims ( int  bindingIdx)
pure virtual

◆ getMinBatchDims() [2/2]

virtual NvDsInferBatchDims nvdsinfer::BackendContext::getMinBatchDims ( int  bindingIdx)
pure virtual

◆ getNumBoundLayers() [1/2]

virtual int nvdsinfer::BackendContext::getNumBoundLayers ( )
pure virtual

◆ getNumBoundLayers() [2/2]

virtual int nvdsinfer::BackendContext::getNumBoundLayers ( )
pure virtual

◆ getOptBatchDims() [1/2]

virtual NvDsInferBatchDims nvdsinfer::BackendContext::getOptBatchDims ( int  bindingIdx)
pure virtual

◆ getOptBatchDims() [2/2]

virtual NvDsInferBatchDims nvdsinfer::BackendContext::getOptBatchDims ( int  bindingIdx)
pure virtual

◆ initialize() [1/2]

virtual NvDsInferStatus nvdsinfer::BackendContext::initialize ( )
pure virtual

◆ initialize() [2/2]

virtual NvDsInferStatus nvdsinfer::BackendContext::initialize ( )
pure virtual

◆ isOutputLayer() [1/2]

virtual bool nvdsinfer::BackendContext::isOutputLayer ( const std::string &  bindingName)
pure virtual

◆ isOutputLayer() [2/2]

virtual bool nvdsinfer::BackendContext::isOutputLayer ( const std::string &  bindingName)
pure virtual

The documentation for this class was generated from the following file: