The Tensor Processing API encompasses all NvMedia tensor related functionality.
Data Structures | |
struct | NvMediaTensorTaskStatus |
Holds the status of the latest operation for a tensor. More... | |
struct | NvMediaTensorAttr |
Holds tensor creation attributes. More... | |
struct | NvMediaTensorSurfaceMap |
Defines the tensor surface map descriptor used by NvMediaTensorLock(). More... | |
Macros | |
#define | NVMEDIA_TENSOR_VERSION_MAJOR (1u) |
Major version number. More... | |
#define | NVMEDIA_TENSOR_VERSION_MINOR (7u) |
Minor version number. More... | |
#define | NVMEDIA_TENSOR_TIMEOUT_INFINITE |
Infinite time-out for NvMediaTensorGetStatus() More... | |
#define | NVM_TENSOR_ATTR_CPU_ACCESS_UNCACHED (0x00000001u) |
Specifies that the tensor CPU accesses are uncached (mapped). More... | |
#define | NVM_TENSOR_ATTR_CPU_ACCESS_CACHED (0x00000002u) |
Specifies that the tensor CPU accesses are cacheable (mapped). More... | |
#define | NVM_TENSOR_ATTR_CPU_ACCESS_UNMAPPED (0x00000003u) |
Specifies that the tensor CPU accesses are unmapped from the virtual address space of the current process. More... | |
#define | NVM_TENSOR_ATTR_ALLOC_RESERVED (0x00000010u) |
Specifies that the tensor allocation is on CVRAM. More... | |
#define | NVM_TENSOR_ATTR_ALLOC_NONE (0x00000000u) |
Specifies that the tensor allocation is on Soc DRAM. More... | |
#define | NVM_TENSOR_INIT_ATTR(x) |
A helper macro to initialize tensor creation attributes. More... | |
#define | NVM_TENSOR_DEFINE_ATTR(x) |
A helper macro to define tensor creation attributes. More... | |
#define | NVM_TENSOR_SET_ATTR_4D(attr, N, C, H, W, order, datatype, bpe, accesstype, alloctype, X) |
A helper macro to set 4-D tensor creation attributes. More... | |
Typedefs | |
typedef struct NvMediaTensor | NvMediaTensor |
A handle representing tensor objects. More... | |
Enumerations | |
enum | NvMediaTensorAttrType { NVM_TENSOR_ATTR_DATA_TYPE = 0, NVM_TENSOR_ATTR_BITS_PER_ELEMENT, NVM_TENSOR_ATTR_DIMENSION_ORDER, NVM_TENSOR_ATTR_CPU_ACCESS, NVM_TENSOR_ATTR_ALLOC_TYPE, NVM_TENSOR_ATTR_4D_N, NVM_TENSOR_ATTR_4D_C, NVM_TENSOR_ATTR_4D_H, NVM_TENSOR_ATTR_4D_W, NVM_TENSOR_ATTR_4D_X, NVM_TENSOR_ATTR_MAX } |
Defines attribute types for creating NvMedia Tensor. More... | |
Functions | |
void | NvMediaTensorDestroy (NvMediaTensor *tensorDesc) |
Destroys a tensor object previously created by NvMediaTensorCreateFromNvSciBuf(). More... | |
NvMediaStatus | NvMediaTensorGetStatus (NvMediaTensor *tensor, uint32_t millisecondWait, NvMediaTensorTaskStatus *status) |
Gets the status of the last operation for the tensor, and optionally waits for the operation to complete or time out. More... | |
NvMediaStatus | NvMediaTensorGetMetaData (const NvMediaTensor *tensor, NvMediaTensorMetaData *tensormetadata) |
Fills in the metadata information for the tensor. More... | |
#define NVM_TENSOR_ATTR_ALLOC_NONE (0x00000000u) |
Specifies that the tensor allocation is on Soc DRAM.
Definition at line 121 of file nvmedia_tensor.h.
#define NVM_TENSOR_ATTR_ALLOC_RESERVED (0x00000010u) |
Specifies that the tensor allocation is on CVRAM.
Definition at line 117 of file nvmedia_tensor.h.
#define NVM_TENSOR_ATTR_CPU_ACCESS_CACHED (0x00000002u) |
Specifies that the tensor CPU accesses are cacheable (mapped).
Definition at line 107 of file nvmedia_tensor.h.
#define NVM_TENSOR_ATTR_CPU_ACCESS_UNCACHED (0x00000001u) |
Specifies that the tensor CPU accesses are uncached (mapped).
Definition at line 103 of file nvmedia_tensor.h.
#define NVM_TENSOR_ATTR_CPU_ACCESS_UNMAPPED (0x00000003u) |
Specifies that the tensor CPU accesses are unmapped from the virtual address space of the current process.
Definition at line 112 of file nvmedia_tensor.h.
#define NVM_TENSOR_DEFINE_ATTR | ( | x | ) |
A helper macro to define tensor creation attributes.
Definition at line 174 of file nvmedia_tensor.h.
#define NVM_TENSOR_INIT_ATTR | ( | x | ) |
A helper macro to initialize tensor creation attributes.
x | The array to initialize with tensor creation attributes. |
Definition at line 138 of file nvmedia_tensor.h.
#define NVM_TENSOR_SET_ATTR_4D | ( | attr, | |
N, | |||
C, | |||
H, | |||
W, | |||
order, | |||
datatype, | |||
bpe, | |||
accesstype, | |||
alloctype, | |||
X | |||
) |
A helper macro to set 4-D tensor creation attributes.
The attr
parameter must be defined before setting the values using NVM_TENSOR_SET_ATTR_4D. For example, to set the attributes for NCHW 4-D FP16
tensor:
attr | The attribute to set. |
N | A tensor layout dimension for number of surfaces. |
C | A tensor layout dimension for number of channels on the surface. |
H | A tensor layout dimension for the height of the surface. |
W | A tensor layout dimension for the width of the surface. |
order | The order of the tensor elements. |
datatype | The datatype for this tensor. |
bpe | Specifies the bits per element. |
accesstype | Specifies the access type. |
alloctype | Specifies the allocation type. |
X | A tensor layout dimension for X. |
Definition at line 198 of file nvmedia_tensor.h.
#define NVMEDIA_TENSOR_TIMEOUT_INFINITE |
Infinite time-out for NvMediaTensorGetStatus()
Definition at line 53 of file nvmedia_tensor.h.
#define NVMEDIA_TENSOR_VERSION_MAJOR (1u) |
Major version number.
Definition at line 45 of file nvmedia_tensor.h.
#define NVMEDIA_TENSOR_VERSION_MINOR (7u) |
Minor version number.
Definition at line 47 of file nvmedia_tensor.h.
typedef struct NvMediaTensor NvMediaTensor |
A handle representing tensor objects.
Definition at line 69 of file nvmedia_tensor.h.
Defines attribute types for creating NvMedia Tensor.
Definition at line 74 of file nvmedia_tensor.h.
void NvMediaTensorDestroy | ( | NvMediaTensor * | tensorDesc | ) |
Destroys a tensor object previously created by NvMediaTensorCreateFromNvSciBuf().
[in] | tensorDesc | The tensor to destroy. |
NvMediaStatus NvMediaTensorGetMetaData | ( | const NvMediaTensor * | tensor, |
NvMediaTensorMetaData * | tensormetadata | ||
) |
Fills in the metadata information for the tensor.
[in] | tensor | The tensor object to get metadata from. |
[in,out] | tensormetadata | A pointer to a NvMediaTensorMetaData structure where tensor metadata is copied. |
NvMediaStatus NvMediaTensorGetStatus | ( | NvMediaTensor * | tensor, |
uint32_t | millisecondWait, | ||
NvMediaTensorTaskStatus * | status | ||
) |
Gets the status of the last operation for the tensor, and optionally waits for the operation to complete or time out.
[in] | tensor | The handle to the tensor object. |
[in] | millisecondWait | Time in milliseconds to wait for the operation to complete before getting the status. Use the value NVMEDIA_TENSOR_TIMEOUT_INFINITE to wait until the operation completes before getting the status. |
[out] | status | The status of the operation. |