21#if defined(NVTX_AS_SYSTEM_HEADER)
23#pragma clang system_header
24#elif defined(__GNUC__) || defined(__NVCOMPILER)
25#pragma GCC system_header
26#elif defined(_MSC_VER)
31#include "nvToolsExtPayload.h"
36#ifndef NVTX_EXT_COUNTERS_COMPATID
37#define NVTX_EXT_COUNTERS_COMPATID 0x0102
44#ifndef NVTX_EXT_COUNTERS_MODULEID
45#define NVTX_EXT_COUNTERS_MODULEID 4
48#ifndef NVTX_COUNTER_IDS_V1
49#define NVTX_COUNTER_IDS_V1
52#define NVTX_COUNTER_ID_NONE 0
55#define NVTX_COUNTER_ID_STATIC_START (1 << 24)
58#define NVTX_COUNTER_ID_DYNAMIC_START (NVTX_STATIC_CAST(uint64_t, 1) << 32)
63#ifndef NVTX_COUNTER_SAMPLES_V1
64#define NVTX_COUNTER_SAMPLES_V1
66#define NVTX_COUNTER_SAMPLE_ZERO 0
67#define NVTX_COUNTER_SAMPLE_UNCHANGED 1
68#define NVTX_COUNTER_SAMPLE_UNAVAILABLE 2
77#ifndef NVTX_COUNTER_BATCH_FLAGS_V1
78#define NVTX_COUNTER_BATCH_FLAGS_V1
80#define NVTX_COUNTER_BATCH_FLAG_BEGINTIME_INTERVAL_PAIR (1 << 32)
81#define NVTX_COUNTER_BATCH_FLAG_ENDTIME_INTERVAL_PAIR (2 << 32)
89#ifndef NVTX_COUNTER_TYPEDEFS_V1
90#define NVTX_COUNTER_TYPEDEFS_V1
95typedef struct nvtxCounterAttr_v1
147typedef struct nvtxCounterBatch_v1
183#ifndef NVTX_COUNTER_API_FUNCTIONS_V1
184#define NVTX_COUNTER_API_FUNCTIONS_V1
195NVTX_DECLSPEC uint64_t NVTX_API nvtxCounterRegister(
196 nvtxDomainHandle_t hDomain,
207NVTX_DECLSPEC
void NVTX_API nvtxCounterSampleInt64(
208 nvtxDomainHandle_t hDomain,
220NVTX_DECLSPEC
void NVTX_API nvtxCounterSampleFloat64(
221 nvtxDomainHandle_t hDomain,
234NVTX_DECLSPEC
void NVTX_API nvtxCounterSample(
235 nvtxDomainHandle_t hDomain,
247NVTX_DECLSPEC
void NVTX_API nvtxCounterSampleNoValue(
248 nvtxDomainHandle_t hDomain,
262NVTX_DECLSPEC
void NVTX_API nvtxCounterBatchSubmit(
263 nvtxDomainHandle_t hDomain,
268#ifndef NVTX_COUNTER_CALLBACK_ID_V1
269#define NVTX_COUNTER_CALLBACK_ID_V1
271#define NVTX3EXT_CBID_nvtxCounterRegister 0
272#define NVTX3EXT_CBID_nvtxCounterSampleInt64 1
273#define NVTX3EXT_CBID_nvtxCounterSampleFloat64 2
274#define NVTX3EXT_CBID_nvtxCounterSample 3
275#define NVTX3EXT_CBID_nvtxCounterSampleNoValue 4
276#define NVTX3EXT_CBID_nvtxCounterBatchSubmit 5
281#ifndef NVTX_EXT_COUNTERS_VERSIONED_IDENTIFIERS_V1
282#define NVTX_EXT_COUNTERS_VERSIONED_IDENTIFIERS_V1
283#define NVTX_EXT_COUNTERS_VERSIONED_IDENTIFIER_L3(NAME, VERSION, COMPATID) \
284 NAME##_v##VERSION##_cnt##COMPATID
285#define NVTX_EXT_COUNTERS_VERSIONED_IDENTIFIER_L2(NAME, VERSION, COMPATID) \
286 NVTX_EXT_COUNTERS_VERSIONED_IDENTIFIER_L3(NAME, VERSION, COMPATID)
287#define NVTX_EXT_COUNTERS_VERSIONED_ID(NAME) \
288 NVTX_EXT_COUNTERS_VERSIONED_IDENTIFIER_L2(NAME, NVTX_VERSION, NVTX_EXT_COUNTERS_COMPATID)
292#pragma GCC visibility push(internal)
295#define NVTX_EXT_TYPES_GUARD
296#include "nvtxDetail/nvtxExtTypes.h"
297#undef NVTX_EXT_TYPES_GUARD
300#define NVTX_EXT_IMPL_COUNTERS_GUARD
301#include "nvtxDetail/nvtxExtImplCounters_v1.h"
302#undef NVTX_EXT_IMPL_COUNTERS_GUARD
306#pragma GCC visibility pop
Attributes of a counter or counter group.
const nvtxSemanticsHeader_t * semantics
Helper struct to submit a batch of counters.
const int64_t * timestamps