NVTX C API Reference v3
NVIDIA Tools Extension Library
Loading...
Searching...
No Matches
Data Fields
nvtxPayloadData_t Struct Reference

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
 

Detailed Description

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.

Field Documentation

◆ payload

const void* nvtxPayloadData_t::payload

Pointer to the binary payload data. Must not be NULL.

Definition at line 839 of file nvToolsExtPayload.h.

◆ schemaId

uint64_t nvtxPayloadData_t::schemaId

The schema ID, which defines the layout of the binary data.

The value can be one of:

  • A predefined entry type (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.
  • A registered schema ID (statically specified or dynamically created), >= NVTX_PAYLOAD_SCHEMA_ID_STATIC_START.
  • One of NVTX_TYPE_PAYLOAD_SCHEMA_REFERENCED or NVTX_TYPE_PAYLOAD_SCHEMA_RAW.

Definition at line 816 of file nvToolsExtPayload.h.

◆ size

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.


The documentation for this struct was generated from the following file: