18#ifndef NV_INFER_RUNTIME_BASE_H
19#define NV_INFER_RUNTIME_BASE_H
24#include <cuda_runtime_api.h>
27#if __cplusplus >= 201402L
28#define TRT_DEPRECATED [[deprecated]]
29#define TRT_DEPRECATED_BECAUSE(REASON) [[deprecated(REASON)]]
30#define TRT_DEPRECATED_ENUM TRT_DEPRECATED
32#define TRT_DEPRECATED_API __declspec(dllexport)
34#define TRT_DEPRECATED_API [[deprecated]] __attribute__((visibility("default")))
39#define TRT_DEPRECATED_ENUM
40#define TRT_DEPRECATED_API __declspec(dllexport)
42#define TRT_DEPRECATED __attribute__((deprecated))
43#define TRT_DEPRECATED_ENUM
44#define TRT_DEPRECATED_API __attribute__((deprecated, visibility("default")))
46#define TRT_DEPRECATED_BECAUSE(REASON) TRT_DEPRECATED
50#if __cplusplus >= 201907L
51#define TRT_NODISCARD [[nodiscard]]
52#define TRT_NODISCARD_BECAUSE(REASON) [[nodiscard(REASON)]]
53#elif __cplusplus >= 201603L
54#define TRT_NODISCARD [[nodiscard]]
55#define TRT_NODISCARD_BECAUSE(REASON) [[nodiscard]]
58#define TRT_NODISCARD_BECAUSE(REASON)
62#ifdef TENSORRT_BUILD_LIB
64#define TENSORRTAPI __declspec(dllexport)
66#define TENSORRTAPI __attribute__((visibility("default")))
81#if !defined(NV_INFER_INTERNAL_INCLUDE)
82static_assert(
false,
"Do not directly include this file. Include NvInferRuntime.h or NvInferPluginUtils.h");
97#define NV_TENSORRT_VERSION_INT(major, minor, patch) ((major) *10000L + (minor) *100L + (patch) *1L)
101#define NV_TENSORRT_VERSION NV_TENSORRT_VERSION_INT(NV_TENSORRT_MAJOR, NV_TENSORRT_MINOR, NV_TENSORRT_PATCH)
199 static constexpr int32_t kVALUE = 11;
264 static constexpr int32_t kVALUE = 2;
404 static constexpr int32_t kVALUE = 11;
431 static constexpr size_t kMAX_DESC_LENGTH{127U};
466 virtual int32_t getNbErrors() const noexcept = 0;
486 virtual
ErrorCode getErrorCode(int32_t errorIdx) const noexcept = 0;
509 virtual
ErrorDesc getErrorDesc(int32_t errorIdx) const noexcept = 0;
525 virtual
bool hasOverflowed() const noexcept = 0;
541 virtual
void clear() noexcept = 0;
672 static constexpr int32_t kVALUE = 3;
#define TENSORRTAPI
Definition: NvInferRuntimeBase.h:69
int32_t getInferLibVersion() noexcept
Return the library version number.
Definition: NvInferRuntimeBase.h:214
static constexpr int32_t MAX_DIMS
The maximum rank (number of dimensions) supported for a tensor.
Definition: NvInferRuntimeBase.h:217
int64_t d[MAX_DIMS]
The extent of each dimension.
Definition: NvInferRuntimeBase.h:223
int32_t nbDims
The rank (number of dimensions).
Definition: NvInferRuntimeBase.h:220
An Interface class for version control.
Definition: NvInferRuntimeBase.h:274
virtual InterfaceInfo getInterfaceInfo() const noexcept=0
Return version information associated with this interface. Applications must not override this method...
virtual APILanguage getAPILanguage() const noexcept
The language used to build the implementation of this Interface.
Definition: NvInferRuntimeBase.h:281
Version information associated with a TRT interface.
Definition: NvInferRuntimeBase.h:239
InterfaceKind kind
Definition: NvInferRuntimeBase.h:241
int32_t major
Definition: NvInferRuntimeBase.h:242
int32_t minor
Definition: NvInferRuntimeBase.h:243
Definition: NvInferRuntimeBase.h:411
char const * ErrorDesc
A typedef of a C-style string for reporting error descriptions.
Definition: NvInferRuntimeBase.h:424
~IErrorRecorder() noexcept override=default
int32_t RefCount
A typedef of a 32-bit integer for reference counting.
Definition: NvInferRuntimeBase.h:436
InterfaceInfo getInterfaceInfo() const noexcept override
Return version information associated with this interface. Applications must not override this method...
Definition: NvInferRuntimeBase.h:416
The TensorRT API version 1 namespace.
ErrorCode
Error codes that can be returned by TensorRT during execution.
Definition: NvInferRuntimeBase.h:307
TensorIOMode
Definition of tensor IO Mode.
Definition: NvInferRuntimeBase.h:654
@ kOUTPUT
Tensor is output by the engine.
@ kINPUT
Tensor is input to the engine.
APILanguage
Programming language used in the implementation of a TRT interface.
Definition: NvInferRuntimeBase.h:252
char_t AsciiChar
Definition: NvInferRuntimeBase.h:115
char char_t
char_t is the type used by TensorRT to represent all valid characters.
Definition: NvInferRuntimeBase.h:111
DataType
The type of weights and tensors.
Definition: NvInferRuntimeBase.h:143
@ kINT64
Signed 64-bit integer type.
@ kFLOAT
32-bit floating point format.
@ kBOOL
8-bit boolean. 0 = false, 1 = true, other values undefined.
@ kHALF
IEEE 16-bit floating-point format – has a 5 bit exponent and 11 bit significand.
@ kINT8
Signed 8-bit integer representing a quantized floating-point value.
@ kBF16
Brain float – has an 8 bit exponent and 8 bit significand.
@ kINT4
Signed 4-bit integer type.
@ kINT32
Signed 32-bit integer format.
char const * InterfaceKind
Definition: NvInferRuntimeBase.h:231
constexpr int32_t EnumMax() noexcept
Maximum number of elements in an enumeration type.
Definition: NvInferRuntimeBase.h:133
v_1_0::IErrorRecorder IErrorRecorder
Definition: NvInferRuntimeBase.h:122
Declaration of EnumMaxImpl struct to store maximum number of elements in an enumeration type.
Definition: NvInferRuntimeBase.h:128