Inference iteration and streams management. More...
Public Member Functions | |
Iteration (int id, const InferenceOptions &inference, nvinfer1::IExecutionContext &context, Bindings &bindings) | |
void | query (bool skipTransfers) |
float | sync (const TimePoint &cpuStart, const TrtCudaEvent &gpuStart, std::vector< InferenceTrace > &trace, bool skipTransfers) |
void | syncAll (const TimePoint &cpuStart, const TrtCudaEvent &gpuStart, std::vector< InferenceTrace > &trace, bool skipTransfers) |
void | wait (TrtCudaEvent &gpuStart) |
void | setInputData () |
void | fetchOutputData () |
Private Member Functions | |
void | moveNext () |
TrtCudaStream & | getStream (StreamType t) |
TrtCudaEvent & | getEvent (EventType t) |
void | record (EventType e, StreamType s) |
void | recordEnqueueTime () |
TimePoint | getEnqueueTime (bool start) |
void | wait (EventType e, StreamType s) |
InferenceTrace | getTrace (const TimePoint &cpuStart, const TrtCudaEvent &gpuStart, bool skipTransfers) |
void | createEnqueueFunction (const InferenceOptions &inference, nvinfer1::IExecutionContext &context, Bindings &bindings) |
Private Attributes | |
Bindings & | mBindings |
TrtCudaGraph | mGraph |
EnqueueFunction | mEnqueue |
int | mStreamId {0} |
int | mNext {0} |
int | mDepth {2} |
std::vector< bool > | mActive |
MultiStream | mStream |
std::vector< MultiEvent > | mEvents |
int | enqueueStart {0} |
std::vector< EnqueueTimes > | mEnqueueTimes |
Inference iteration and streams management.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |