TensorRT 8.2.5
|
Reference counted application-implemented error reporting interface for TensorRT objects. More...
#include <NvInferRuntimeCommon.h>
Public Types | |
using | ErrorDesc = char const * |
using | RefCount = int32_t |
Public Member Functions | |
virtual int32_t | getNbErrors () const noexcept=0 |
Return the number of errors. More... | |
virtual ErrorCode | getErrorCode (int32_t errorIdx) const noexcept=0 |
Returns the ErrorCode enumeration. More... | |
virtual ErrorDesc | getErrorDesc (int32_t errorIdx) const noexcept=0 |
Returns a null-terminated C-style string description of the error. More... | |
virtual bool | hasOverflowed () const noexcept=0 |
Determine if the error stack has overflowed. More... | |
virtual void | clear () noexcept=0 |
Clear the error stack on the error recorder. More... | |
virtual bool | reportError (ErrorCode val, ErrorDesc desc) noexcept=0 |
Report an error to the error recorder with the corresponding enum and description. More... | |
virtual RefCount | incRefCount () noexcept=0 |
Increments the refcount for the current ErrorRecorder. More... | |
virtual RefCount | decRefCount () noexcept=0 |
Decrements the refcount for the current ErrorRecorder. More... | |
Static Public Attributes | |
static constexpr size_t | kMAX_DESC_LENGTH {127U} |
Reference counted application-implemented error reporting interface for TensorRT objects.
The error reporting mechanism is a user defined object that interacts with the internal state of the object that it is assigned to in order to determine information about abnormalities in execution. The error recorder gets both an error enum that is more descriptive than pass/fail and also a string description that gives more detail on the exact failure modes. In the safety context, the error strings are all limited to 1024 characters in length.
The ErrorRecorder gets passed along to any class that is created from another class that has an ErrorRecorder assigned to it. For example, assigning an ErrorRecorder to an IBuilder allows all INetwork's, ILayer's, and ITensor's to use the same error recorder. For functions that have their own ErrorRecorder accessor functions. This allows registering a different error recorder or de-registering of the error recorder for that specific object.
The ErrorRecorder object implementation must be thread safe. All locking and synchronization is pushed to the interface implementation and TensorRT does not hold any synchronization primitives when accessing the interface functions.
The lifetime of the ErrorRecorder object must exceed the lifetime of all TensorRT objects that use it.
using nvinfer1::IErrorRecorder::ErrorDesc = char const* |
A typedef of a C-style string for reporting error descriptions.
using nvinfer1::IErrorRecorder::RefCount = int32_t |
A typedef of a 32bit integer for reference counting.
|
pure virtualnoexcept |
Clear the error stack on the error recorder.
Removes all the tracked errors by the error recorder. This function must guarantee that after this function is called, and as long as no error occurs, the next call to getNbErrors will return zero.
\usage
|
pure virtualnoexcept |
Decrements the refcount for the current ErrorRecorder.
Decrements the reference count for the object by one and returns the current value. This reference count allows the application to know that an object inside of TensorRT has taken a reference to the ErrorRecorder. TensorRT guarantees that every call to IErrorRecorder::decRefCount will be preceded by a call to IErrorRecorder::incRefCount. It is undefined behavior to destruct the ErrorRecorder when incRefCount has been called without a corresponding decRefCount.
\usage
|
pure virtualnoexcept |
Returns the ErrorCode enumeration.
errorIdx | A 32-bit integer that indexes into the error array. |
The errorIdx specifies what error code from 0 to getNbErrors()-1 that the application wants to analyze and return the error code enum.
\usage
|
pure virtualnoexcept |
Returns a null-terminated C-style string description of the error.
errorIdx | A 32-bit integer that indexes into the error array. |
For the error specified by the idx value, return the string description of the error. The error string is a null-terminated C-style string. In the safety context there is a constant length requirement to remove any dynamic memory allocations and the error message may be truncated. The format of the string is "<EnumAsStr> - <Description>".
\usage
|
pure virtualnoexcept |
Return the number of errors.
Determines the number of errors that occurred between the current point in execution and the last time that the clear() was executed. Due to the possibility of asynchronous errors occuring, a TensorRT API can return correct results, but still register errors with the Error Recorder. The value of getNbErrors must monotonically increases until clear() is called.
\usage
|
pure virtualnoexcept |
Determine if the error stack has overflowed.
In the case when the number of errors is large, this function is used to query if one or more errors have been dropped due to lack of storage capacity. This is especially important in the automotive safety case where the internal error handling mechanisms cannot allocate memory.
\usage
|
pure virtualnoexcept |
Increments the refcount for the current ErrorRecorder.
Increments the reference count for the object by one and returns the current value. This reference count allows the application to know that an object inside of TensorRT has taken a reference to the ErrorRecorder. TensorRT guarantees that every call to IErrorRecorder::incRefCount will be paired with a call to IErrorRecorder::decRefCount when the reference is released. It is undefined behavior to destruct the ErrorRecorder when incRefCount has been called without a corresponding decRefCount.
\usage
|
pure virtualnoexcept |
Report an error to the error recorder with the corresponding enum and description.
val | The error code enum that is being reported. |
desc | The string description of the error. |
Report an error to the user that has a given value and human readable description. The function returns false if processing can continue, which implies that the reported error is not fatal. This does not guarantee that processing continues, but provides a hint to TensorRT. The desc C-string data is only valid during the call to reportError and may be immediately deallocated by the caller when reportError returns. The implementation must not store the desc pointer in the ErrorRecorder object or otherwise access the data from desc after reportError returns.
\usage
|
staticconstexpr |
The length limit for an error description, excluding the '\0' string terminator.
Copyright © 2024 NVIDIA Corporation
Privacy Policy |
Manage My Privacy |
Do Not Sell or Share My Data |
Terms of Service |
Accessibility |
Corporate Policies |
Product Security |
Contact