|
NVTX C API Reference v3
NVIDIA Tools Extension Library
|
Binary payload data, size and decoding information. More...
#include <nvToolsExtPayload.h>
Data Fields | |
| uint64_t | schemaId |
| The schema ID, which defines the layout of the binary data. | |
| size_t | size |
| Size of the payload (blob) in bytes. | |
| const void * | payload |
Binary payload data, size and decoding information.
An array of nvtxPayloadData_t can be passed directly to the payload event APIs (nvtxMarkPayload, nvtxRangePushPayload, nvtxRangePopPayload, nvtxRangeStartPayload, nvtxRangeEndPayload, nvtxEventSubmit), or attached to nvtxEventAttributes_t via its payload.ullValue field. The helper macros nvtxPayloadMark, nvtxPayloadRangePush, and NVTX_PAYLOAD_EVTATTR_SET_MULTIPLE simplify the latter approach.
Payload array order and schema-entry order define the ordering of event attributes supplied by extended payloads; see NVTX_PAYLOAD_EVENT_ATTRIBUTE_PRECEDENCE.
Definition at line 799 of file nvToolsExtPayload.h.
| const void* nvtxPayloadData_t::payload |
Pointer to the binary payload data. Must not be NULL.
Definition at line 839 of file nvToolsExtPayload.h.
| uint64_t nvtxPayloadData_t::schemaId |
The schema ID, which defines the layout of the binary data.
The value can be one of:
NVTX_PAYLOAD_ENTRY_TYPE_*, i.e. a value below NVTX_PAYLOAD_SCHEMA_ID_STATIC_START). The payload bytes are decoded directly as that type without requiring a registered schema. For C-string types the bytes contain inline character data (not a pointer). For numeric types, the element count is size / elementSize; any trailing bytes are ignored.Definition at line 816 of file nvToolsExtPayload.h.
| size_t nvtxPayloadData_t::size |
Size of the payload (blob) in bytes.
Must be non-zero; a payload with size == 0 is ignored.
SIZE_MAX ((size_t)-1) defers size determination to the tool. This is only reliably supported when schemaId is a predefined null-terminated C-string type, where the tool can call the appropriate string-length function. For all other schema IDs a tool may not be able to determine the size and will skip the payload.
When schemaId is a predefined C-string type and size != SIZE_MAX, size bounds the inline string data in bytes and the payload does not need to include a null terminator. size must be at least one code unit. An empty string is encoded as a single null code unit.
Definition at line 834 of file nvToolsExtPayload.h.