public class nvToolsExt extends nvToolsExt
Modifier and Type | Field and Description |
---|---|
static int |
NVTX_COLOR_ARGB
enum nvtxColorType_t
|
static int |
NVTX_COLOR_UNKNOWN
enum nvtxColorType_t
|
static int |
NVTX_EVENT_ATTRIB_STRUCT_SIZE |
static int |
NVTX_INITIALIZATION_ATTRIB_STRUCT_SIZE |
static int |
NVTX_INITIALIZATION_MODE_CALLBACK_V1
enum nvtxInitializationMode_t
|
static int |
NVTX_INITIALIZATION_MODE_CALLBACK_V2
enum nvtxInitializationMode_t
|
static int |
NVTX_INITIALIZATION_MODE_SIZE
enum nvtxInitializationMode_t
|
static int |
NVTX_INITIALIZATION_MODE_UNKNOWN
enum nvtxInitializationMode_t
|
static int |
NVTX_MESSAGE_TYPE_ASCII
enum nvtxMessageType_t
|
static int |
NVTX_MESSAGE_TYPE_REGISTERED
enum nvtxMessageType_t
|
static int |
NVTX_MESSAGE_TYPE_UNICODE
enum nvtxMessageType_t
|
static int |
NVTX_MESSAGE_UNKNOWN
enum nvtxMessageType_t
|
static int |
NVTX_NO_PUSH_POP_TRACKING |
static int |
NVTX_PAYLOAD_TYPE_DOUBLE
enum nvtxPayloadType_t
|
static int |
NVTX_PAYLOAD_TYPE_FLOAT
enum nvtxPayloadType_t
|
static int |
NVTX_PAYLOAD_TYPE_INT32
enum nvtxPayloadType_t
|
static int |
NVTX_PAYLOAD_TYPE_INT64
enum nvtxPayloadType_t
|
static int |
NVTX_PAYLOAD_TYPE_UNSIGNED_INT32
enum nvtxPayloadType_t
|
static int |
NVTX_PAYLOAD_TYPE_UNSIGNED_INT64
enum nvtxPayloadType_t
|
static int |
NVTX_PAYLOAD_UNKNOWN
enum nvtxPayloadType_t
|
static int |
NVTX_RESOURCE_ATTRIB_STRUCT_SIZE |
static int |
NVTX_RESOURCE_CLASS_CUDA
\addtogroup RESOURCE_NAMING
\section RESOURCE_NAMING_CUDA CUDA Resource Naming
This section covers the API functions that allow to annotate CUDA resources
with user-provided names.
|
static int |
NVTX_RESOURCE_CLASS_CUDART
\addtogroup RESOURCE_NAMING
\section RESOURCE_NAMING_CUDART CUDA Runtime Resource Naming
This section covers the API functions that allow to annotate CUDA resources
with user-provided names.
|
static int |
NVTX_RESOURCE_CLASS_GENERIC
\cond SHOW_HIDDEN
\brief Resource typing helpers.
|
static int |
NVTX_RESOURCE_TYPE_CUDA_CONTEXT |
static int |
NVTX_RESOURCE_TYPE_CUDA_DEVICE |
static int |
NVTX_RESOURCE_TYPE_CUDA_EVENT |
static int |
NVTX_RESOURCE_TYPE_CUDA_STREAM |
static int |
NVTX_RESOURCE_TYPE_CUDART_DEVICE |
static int |
NVTX_RESOURCE_TYPE_CUDART_EVENT |
static int |
NVTX_RESOURCE_TYPE_CUDART_STREAM |
static int |
NVTX_RESOURCE_TYPE_GENERIC_HANDLE |
static int |
NVTX_RESOURCE_TYPE_GENERIC_POINTER |
static int |
NVTX_RESOURCE_TYPE_GENERIC_THREAD_NATIVE |
static int |
NVTX_RESOURCE_TYPE_GENERIC_THREAD_POSIX |
static int |
NVTX_RESOURCE_TYPE_UNKNOWN
enum nvtxResourceGenericType_t
|
static int |
NVTX_VERSION
Tools Extension API version
|
Constructor and Description |
---|
nvToolsExt() |
Modifier and Type | Method and Description |
---|---|
static int |
NVTX_EVENT_ATTRIB_STRUCT_SIZE()
Size of the nvtxEventAttributes_t structure.
|
static int |
NVTX_INITIALIZATION_ATTRIB_STRUCT_SIZE()
Size of the nvtxInitializationAttributes_t structure.
|
static int |
NVTX_RESOURCE_ATTRIB_STRUCT_SIZE()
\brief Resource Attribute Structure.
|
static int |
NVTX_RESOURCE_TYPE_CUDA_CONTEXT() |
static int |
NVTX_RESOURCE_TYPE_CUDA_DEVICE()
enum nvtxResourceCUDAType_t
|
static int |
NVTX_RESOURCE_TYPE_CUDA_EVENT() |
static int |
NVTX_RESOURCE_TYPE_CUDA_STREAM() |
static int |
NVTX_RESOURCE_TYPE_CUDART_DEVICE()
enum nvtxResourceCUDARTType_t
|
static int |
NVTX_RESOURCE_TYPE_CUDART_EVENT() |
static int |
NVTX_RESOURCE_TYPE_CUDART_STREAM() |
static int |
NVTX_RESOURCE_TYPE_GENERIC_HANDLE() |
static int |
NVTX_RESOURCE_TYPE_GENERIC_POINTER() |
static int |
NVTX_RESOURCE_TYPE_GENERIC_THREAD_NATIVE() |
static int |
NVTX_RESOURCE_TYPE_GENERIC_THREAD_POSIX() |
static Pointer |
nvtxDomainCreateA(BytePointer name)
\brief Register a NVTX domain.
|
static Pointer |
nvtxDomainCreateA(String name) |
static Pointer |
nvtxDomainCreateW(CharPointer name) |
static Pointer |
nvtxDomainCreateW(IntPointer name) |
static void |
nvtxDomainDestroy(Pointer domain)
\brief Unregister a NVTX domain.
|
static void |
nvtxDomainMarkEx(Pointer domain,
nvtxEventAttributes_t eventAttrib)
\brief Marks an instantaneous event in the application.
|
static void |
nvtxDomainNameCategoryA(Pointer domain,
int category,
BytePointer name)
\brief Annotate an NVTX category used within a domain.
|
static void |
nvtxDomainNameCategoryA(Pointer domain,
int category,
String name) |
static void |
nvtxDomainNameCategoryW(Pointer domain,
int category,
CharPointer name) |
static void |
nvtxDomainNameCategoryW(Pointer domain,
int category,
IntPointer name) |
static void |
nvtxDomainRangeEnd(Pointer domain,
long id)
\brief Ends a process range.
|
static int |
nvtxDomainRangePop(Pointer domain)
\brief Ends a nested thread range.
|
static int |
nvtxDomainRangePushEx(Pointer domain,
nvtxEventAttributes_t eventAttrib)
\brief Starts a nested thread range.
|
static long |
nvtxDomainRangeStartEx(Pointer domain,
nvtxEventAttributes_t eventAttrib)
\brief Starts a process range in a domain.
|
static Pointer |
nvtxDomainRegisterStringA(Pointer domain,
BytePointer string)
\brief Register a string.
|
static Pointer |
nvtxDomainRegisterStringA(Pointer domain,
String string) |
static Pointer |
nvtxDomainRegisterStringW(Pointer domain,
CharPointer string) |
static Pointer |
nvtxDomainRegisterStringW(Pointer domain,
IntPointer string) |
static Pointer |
nvtxDomainResourceCreate(Pointer domain,
Pointer attribs)
\brief Create a resource object to track and associate data with OS and middleware objects
Allows users to associate an API handle or pointer with a user-provided name.
|
static void |
nvtxDomainResourceDestroy(Pointer resource)
\brief Destroy a resource object to track and associate data with OS and middleware objects
Allows users to associate an API handle or pointer with a user-provided name.
|
static int |
nvtxInitialize(Pointer initAttrib)
\brief Force initialization (optional on most platforms)
Force NVTX library to initialize.
|
static void |
nvtxMarkA(BytePointer message)
\brief Marks an instantaneous event in the application.
|
static void |
nvtxMarkA(String message) |
static void |
nvtxMarkEx(nvtxEventAttributes_t eventAttrib)
\brief Marks an instantaneous event in the application.
|
static void |
nvtxMarkW(CharPointer message) |
static void |
nvtxMarkW(IntPointer message) |
static void |
nvtxNameCategoryA(int category,
BytePointer name)
\brief Annotate an NVTX category.
|
static void |
nvtxNameCategoryA(int category,
String name) |
static void |
nvtxNameCategoryW(int category,
CharPointer name) |
static void |
nvtxNameCategoryW(int category,
IntPointer name) |
static void |
nvtxNameCuContextA(CUctx_st context,
BytePointer name)
\brief Annotates a CUDA context.
|
static void |
nvtxNameCuContextA(CUctx_st context,
String name) |
static void |
nvtxNameCuContextW(CUctx_st context,
CharPointer name) |
static void |
nvtxNameCuContextW(CUctx_st context,
IntPointer name) |
static void |
nvtxNameCudaDeviceA(int device,
BytePointer name)
\brief Annotates a CUDA device.
|
static void |
nvtxNameCudaDeviceA(int device,
String name) |
static void |
nvtxNameCudaDeviceW(int device,
CharPointer name) |
static void |
nvtxNameCudaDeviceW(int device,
IntPointer name) |
static void |
nvtxNameCudaEventA(CUevent_st event,
BytePointer name)
\brief Annotates a CUDA event.
|
static void |
nvtxNameCudaEventA(CUevent_st event,
String name) |
static void |
nvtxNameCudaEventW(CUevent_st event,
CharPointer name) |
static void |
nvtxNameCudaEventW(CUevent_st event,
IntPointer name) |
static void |
nvtxNameCudaStreamA(CUstream_st stream,
BytePointer name)
\brief Annotates a CUDA stream.
|
static void |
nvtxNameCudaStreamA(CUstream_st stream,
String name) |
static void |
nvtxNameCudaStreamW(CUstream_st stream,
CharPointer name) |
static void |
nvtxNameCudaStreamW(CUstream_st stream,
IntPointer name) |
static void |
nvtxNameCuDeviceA(int device,
BytePointer name)
\brief Annotates a CUDA device.
|
static void |
nvtxNameCuDeviceA(int device,
String name) |
static void |
nvtxNameCuDeviceW(int device,
CharPointer name) |
static void |
nvtxNameCuDeviceW(int device,
IntPointer name) |
static void |
nvtxNameCuEventA(CUevent_st event,
BytePointer name)
\brief Annotates a CUDA event.
|
static void |
nvtxNameCuEventA(CUevent_st event,
String name) |
static void |
nvtxNameCuEventW(CUevent_st event,
CharPointer name) |
static void |
nvtxNameCuEventW(CUevent_st event,
IntPointer name) |
static void |
nvtxNameCuStreamA(CUstream_st stream,
BytePointer name)
\brief Annotates a CUDA stream.
|
static void |
nvtxNameCuStreamA(CUstream_st stream,
String name) |
static void |
nvtxNameCuStreamW(CUstream_st stream,
CharPointer name) |
static void |
nvtxNameCuStreamW(CUstream_st stream,
IntPointer name) |
static void |
nvtxNameOsThreadA(int threadId,
BytePointer name)
\brief Annotate an OS thread.
|
static void |
nvtxNameOsThreadA(int threadId,
String name) |
static void |
nvtxNameOsThreadW(int threadId,
CharPointer name) |
static void |
nvtxNameOsThreadW(int threadId,
IntPointer name) |
static void |
nvtxRangeEnd(long id)
\brief Ends a process range.
|
static int |
nvtxRangePop()
\brief Ends a nested thread range.
|
static int |
nvtxRangePushA(BytePointer message)
\brief Starts a nested thread range.
|
static int |
nvtxRangePushA(String message) |
static int |
nvtxRangePushEx(nvtxEventAttributes_t eventAttrib)
\brief Starts a nested thread range.
|
static int |
nvtxRangePushW(CharPointer message) |
static int |
nvtxRangePushW(IntPointer message) |
static long |
nvtxRangeStartA(BytePointer message)
\brief Starts a process range.
|
static long |
nvtxRangeStartA(String message) |
static long |
nvtxRangeStartEx(nvtxEventAttributes_t eventAttrib)
\brief Starts a process range.
|
static long |
nvtxRangeStartW(CharPointer message) |
static long |
nvtxRangeStartW(IntPointer message) |
map
public static final int NVTX_VERSION
public static final int NVTX_EVENT_ATTRIB_STRUCT_SIZE
public static final int NVTX_INITIALIZATION_ATTRIB_STRUCT_SIZE
public static final int NVTX_NO_PUSH_POP_TRACKING
public static final int NVTX_COLOR_UNKNOWN
public static final int NVTX_COLOR_ARGB
public static final int NVTX_MESSAGE_UNKNOWN
public static final int NVTX_MESSAGE_TYPE_ASCII
public static final int NVTX_MESSAGE_TYPE_UNICODE
public static final int NVTX_MESSAGE_TYPE_REGISTERED
public static final int NVTX_INITIALIZATION_MODE_UNKNOWN
public static final int NVTX_INITIALIZATION_MODE_CALLBACK_V1
public static final int NVTX_INITIALIZATION_MODE_CALLBACK_V2
public static final int NVTX_INITIALIZATION_MODE_SIZE
public static final int NVTX_PAYLOAD_UNKNOWN
public static final int NVTX_PAYLOAD_TYPE_UNSIGNED_INT64
public static final int NVTX_PAYLOAD_TYPE_INT64
public static final int NVTX_PAYLOAD_TYPE_DOUBLE
public static final int NVTX_PAYLOAD_TYPE_UNSIGNED_INT32
public static final int NVTX_PAYLOAD_TYPE_INT32
public static final int NVTX_PAYLOAD_TYPE_FLOAT
public static final int NVTX_RESOURCE_CLASS_GENERIC
public static final int NVTX_RESOURCE_TYPE_UNKNOWN
public static final int NVTX_RESOURCE_TYPE_GENERIC_POINTER
public static final int NVTX_RESOURCE_TYPE_GENERIC_HANDLE
public static final int NVTX_RESOURCE_TYPE_GENERIC_THREAD_NATIVE
public static final int NVTX_RESOURCE_TYPE_GENERIC_THREAD_POSIX
public static final int NVTX_RESOURCE_ATTRIB_STRUCT_SIZE
public static final int NVTX_RESOURCE_CLASS_CUDA
public static final int NVTX_RESOURCE_TYPE_CUDA_DEVICE
public static final int NVTX_RESOURCE_TYPE_CUDA_CONTEXT
public static final int NVTX_RESOURCE_TYPE_CUDA_STREAM
public static final int NVTX_RESOURCE_TYPE_CUDA_EVENT
public static final int NVTX_RESOURCE_CLASS_CUDART
public static final int NVTX_RESOURCE_TYPE_CUDART_DEVICE
public static final int NVTX_RESOURCE_TYPE_CUDART_STREAM
public static final int NVTX_RESOURCE_TYPE_CUDART_EVENT
@MemberGetter public static int NVTX_EVENT_ATTRIB_STRUCT_SIZE()
@MemberGetter public static int NVTX_INITIALIZATION_ATTRIB_STRUCT_SIZE()
public static int nvtxInitialize(@Cast(value="const nvtxInitializationAttributes_t*") Pointer initAttrib)
initAttrib
- - The initialization attribute structure::nvtxInitializationAttributes_t
public static void nvtxDomainMarkEx(@Cast(value="nvtxDomainHandle_t") Pointer domain, @Const nvtxEventAttributes_t eventAttrib)
domain
- - The domain of scoping the category.eventAttrib
- - The event attribute structure defining the marker's
attribute types and attribute values.::nvtxMarkEx
public static void nvtxMarkEx(@Const nvtxEventAttributes_t eventAttrib)
eventAttrib
- - The event attribute structure defining the marker's
attribute types and attribute values.
\par Example:
// zero the structure
nvtxEventAttributes_t eventAttrib = {0};
// set the version and the size information
eventAttrib.version = NVTX_VERSION;
eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;
// configure the attributes. 0 is the default for all attributes.
eventAttrib.colorType = NVTX_COLOR_ARGB;
eventAttrib.color = 0xFF880000;
eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;
eventAttrib.message.ascii = "Example nvtxMarkEx";
nvtxMarkEx(&eventAttrib);
::nvtxDomainMarkEx
public static void nvtxMarkA(@Cast(value="const char*") BytePointer message)
message
- - The message associated to this marker event.
\par Example:
nvtxMarkA("Example nvtxMarkA");
nvtxMarkW(L"Example nvtxMarkW");
::nvtxMarkEx
public static void nvtxMarkA(String message)
public static void nvtxMarkW(@Cast(value="const wchar_t*") CharPointer message)
public static void nvtxMarkW(@Cast(value="const wchar_t*") IntPointer message)
@Cast(value="nvtxRangeId_t") public static long nvtxDomainRangeStartEx(@Cast(value="nvtxDomainHandle_t") Pointer domain, @Const nvtxEventAttributes_t eventAttrib)
domain
- - The domain of scoping the category.eventAttrib
- - The event attribute structure defining the range's
attribute types and attribute values.
nvtxDomainHandle_t domain = nvtxDomainCreateA("my domain");
nvtxEventAttributes_t eventAttrib = {0};
eventAttrib.version = NVTX_VERSION;
eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;
eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;
eventAttrib.message.ascii = "my range";
nvtxRangeId_t rangeId = nvtxDomainRangeStartEx(&eventAttrib);
// ...
nvtxDomainRangeEnd(rangeId);
::nvtxDomainRangeEnd
@Cast(value="nvtxRangeId_t") public static long nvtxRangeStartEx(@Const nvtxEventAttributes_t eventAttrib)
eventAttrib
- - The event attribute structure defining the range's
attribute types and attribute values.
nvtxEventAttributes_t eventAttrib = {0};
eventAttrib.version = NVTX_VERSION;
eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;
eventAttrib.category = 3;
eventAttrib.colorType = NVTX_COLOR_ARGB;
eventAttrib.color = 0xFF0088FF;
eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;
eventAttrib.message.ascii = "Example Range";
nvtxRangeId_t rangeId = nvtxRangeStartEx(&eventAttrib);
// ...
nvtxRangeEnd(rangeId);
::nvtxDomainRangeStartEx
@Cast(value="nvtxRangeId_t") public static long nvtxRangeStartA(@Cast(value="const char*") BytePointer message)
message
- - The event message associated to this range event.
nvtxRangeId_t r1 = nvtxRangeStartA("Range 1");
nvtxRangeId_t r2 = nvtxRangeStartW(L"Range 2");
nvtxRangeEnd(r1);
nvtxRangeEnd(r2);
::nvtxRangeStartEx
::nvtxDomainRangeStartEx
@Cast(value="nvtxRangeId_t") public static long nvtxRangeStartW(@Cast(value="const wchar_t*") CharPointer message)
@Cast(value="nvtxRangeId_t") public static long nvtxRangeStartW(@Cast(value="const wchar_t*") IntPointer message)
public static void nvtxDomainRangeEnd(@Cast(value="nvtxDomainHandle_t") Pointer domain, @Cast(value="nvtxRangeId_t") long id)
domain
- - The domainid
- - The correlation ID returned from a nvtxRangeStart call.
\remarks This function is offered completeness but is an alias for ::nvtxRangeEnd.
It does not need a domain param since that is associated iwth the range ID at ::nvtxDomainRangeStartEx
\par Example:
nvtxDomainHandle_t domain = nvtxDomainCreateA("my domain");
nvtxEventAttributes_t eventAttrib = {0};
eventAttrib.version = NVTX_VERSION;
eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;
eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;
eventAttrib.message.ascii = "my range";
nvtxRangeId_t rangeId = nvtxDomainRangeStartEx(&eventAttrib);
// ...
nvtxDomainRangeEnd(rangeId);
::nvtxDomainRangeStartEx
public static void nvtxRangeEnd(@Cast(value="nvtxRangeId_t") long id)
id
- - The correlation ID returned from an nvtxRangeStart call.::nvtxRangeStartEx
::nvtxRangeStartA
::nvtxRangeStartW
public static int nvtxDomainRangePushEx(@Cast(value="nvtxDomainHandle_t") Pointer domain, @Const nvtxEventAttributes_t eventAttrib)
domain
- - The domain of scoping.eventAttrib
- - The event attribute structure defining the range's
attribute types and attribute values.
nvtxDomainHandle_t domain = nvtxDomainCreateA("example domain");
nvtxEventAttributes_t eventAttrib = {0};
eventAttrib.version = NVTX_VERSION;
eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;
eventAttrib.colorType = NVTX_COLOR_ARGB;
eventAttrib.color = 0xFFFF0000;
eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;
eventAttrib.message.ascii = "Level 0";
nvtxDomainRangePushEx(domain, &eventAttrib);
// Re-use eventAttrib
eventAttrib.messageType = NVTX_MESSAGE_TYPE_UNICODE;
eventAttrib.message.unicode = L"Level 1";
nvtxDomainRangePushEx(domain, &eventAttrib);
nvtxDomainRangePop(domain); //level 1
nvtxDomainRangePop(domain); //level 0
::nvtxDomainRangePop
public static int nvtxRangePushEx(@Const nvtxEventAttributes_t eventAttrib)
eventAttrib
- - The event attribute structure defining the range's
attribute types and attribute values.
nvtxEventAttributes_t eventAttrib = {0};
eventAttrib.version = NVTX_VERSION;
eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;
eventAttrib.colorType = NVTX_COLOR_ARGB;
eventAttrib.color = 0xFFFF0000;
eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;
eventAttrib.message.ascii = "Level 0";
nvtxRangePushEx(&eventAttrib);
// Re-use eventAttrib
eventAttrib.messageType = NVTX_MESSAGE_TYPE_UNICODE;
eventAttrib.message.unicode = L"Level 1";
nvtxRangePushEx(&eventAttrib);
nvtxRangePop();
nvtxRangePop();
::nvtxRangePop
public static int nvtxRangePushA(@Cast(value="const char*") BytePointer message)
message
- - The event message associated to this range event.
nvtxRangePushA("Level 0");
nvtxRangePushW(L"Level 1");
nvtxRangePop();
nvtxRangePop();
::nvtxRangePop
public static int nvtxRangePushA(String message)
public static int nvtxRangePushW(@Cast(value="const wchar_t*") CharPointer message)
public static int nvtxRangePushW(@Cast(value="const wchar_t*") IntPointer message)
public static int nvtxDomainRangePop(@Cast(value="nvtxDomainHandle_t") Pointer domain)
nvtxDomainHandle_t domain = nvtxDomainCreate("example library");
nvtxDomainRangePushA(domain, "Level 0");
nvtxDomainRangePushW(domain, L"Level 1");
nvtxDomainRangePop(domain);
nvtxDomainRangePop(domain);
::nvtxRangePushA
::nvtxRangePushW
public static int nvtxRangePop()
nvtxRangePushA("Level 0");
nvtxRangePushW(L"Level 1");
nvtxRangePop();
nvtxRangePop();
::nvtxRangePushA
::nvtxRangePushW
@MemberGetter public static int NVTX_RESOURCE_TYPE_GENERIC_POINTER()
@MemberGetter public static int NVTX_RESOURCE_TYPE_GENERIC_HANDLE()
@MemberGetter public static int NVTX_RESOURCE_TYPE_GENERIC_THREAD_NATIVE()
@MemberGetter public static int NVTX_RESOURCE_TYPE_GENERIC_THREAD_POSIX()
@MemberGetter public static int NVTX_RESOURCE_ATTRIB_STRUCT_SIZE()
nvtxResourceAttributes_t attribs = {0};
attribs.version = NVTX_VERSION;
attribs.size = NVTX_RESOURCE_ATTRIB_STRUCT_SIZE;
\par Method 2: Initializing nvtxEventAttributes for a specific version
nvtxResourceAttributes_v0 attribs = {0};
attribs.version = 2;
attribs.size = (uint16_t)(sizeof(nvtxResourceAttributes_v0));
If the caller uses Method 1 it is critical that the entire binary
layout of the structure be configured to 0 so that all fields
are initialized to the default value.
The caller should either use both NVTX_VERSION and
NVTX_RESOURCE_ATTRIB_STRUCT_SIZE (Method 1) or use explicit values
and a versioned type (Method 2). Using a mix of the two methods
will likely cause either source level incompatibility or binary
incompatibility in the future.
\par Settings Attribute Types and Values
\par Example:
nvtxDomainHandle_t domain = nvtxDomainCreateA("example domain");
// Initialize
nvtxResourceAttributes_t attribs = {0};
attribs.version = NVTX_VERSION;
attribs.size = NVTX_RESOURCE_ATTRIB_STRUCT_SIZE;
// Configure the Attributes
attribs.identifierType = NVTX_RESOURCE_TYPE_GENERIC_POINTER;
attribs.identifier.pValue = (const void*)pMutex;
attribs.messageType = NVTX_MESSAGE_TYPE_ASCII;
attribs.message.ascii = "Single thread access to database.";
nvtxResourceHandle_t handle = nvtxDomainResourceCreate(domain, attribs);
::nvtxDomainResourceCreate
@Cast(value="nvtxResourceHandle_t") public static Pointer nvtxDomainResourceCreate(@Cast(value="nvtxDomainHandle_t") Pointer domain, @Cast(value="nvtxResourceAttributes_t*") Pointer attribs)
domain
- - Domain to own the resource objectattribs
- - Attributes to be associated with the resource
nvtxDomainHandle_t domain = nvtxDomainCreateA("example domain");
nvtxResourceAttributes_t attribs = {0};
attribs.version = NVTX_VERSION;
attribs.size = NVTX_RESOURCE_ATTRIB_STRUCT_SIZE;
attribs.identifierType = NVTX_RESOURCE_TYPE_GENERIC_POINTER;
attribs.identifier.pValue = (const void*)pMutex;
attribs.messageType = NVTX_MESSAGE_TYPE_ASCII;
attribs.message.ascii = "Single thread access to database.";
nvtxResourceHandle_t handle = nvtxDomainResourceCreate(domain, attribs);
::nvtxDomainResourceDestroy
public static void nvtxDomainResourceDestroy(@Cast(value="nvtxResourceHandle_t") Pointer resource)
resource
- - Handle to the resource in which to operate.
\par Example:
nvtxDomainHandle_t domain = nvtxDomainCreateA("example domain");
nvtxResourceAttributes_t attribs = {0};
attribs.version = NVTX_VERSION;
attribs.size = NVTX_RESOURCE_ATTRIB_STRUCT_SIZE;
attribs.identifierType = NVTX_RESOURCE_TYPE_GENERIC_POINTER;
attribs.identifier.pValue = (const void*)pMutex;
attribs.messageType = NVTX_MESSAGE_TYPE_ASCII;
attribs.message.ascii = "Single thread access to database.";
nvtxResourceHandle_t handle = nvtxDomainResourceCreate(domain, attribs);
nvtxDomainResourceDestroy(handle);
::nvtxDomainResourceCreate
public static void nvtxDomainNameCategoryA(@Cast(value="nvtxDomainHandle_t") Pointer domain, @Cast(value="uint32_t") int category, @Cast(value="const char*") BytePointer name)
domain
- - The domain of scoping the category.category
- - The category ID to name.name
- - The name of the category.
\remarks The category names are tracked per domain.
\par Example:
nvtxDomainHandle_t domain = nvtxDomainCreateA("example");
nvtxDomainNameCategoryA(domain, 1, "Memory Allocation");
nvtxDomainNameCategoryW(domain, 2, L"Memory Transfer");
public static void nvtxDomainNameCategoryA(@Cast(value="nvtxDomainHandle_t") Pointer domain, @Cast(value="uint32_t") int category, String name)
public static void nvtxDomainNameCategoryW(@Cast(value="nvtxDomainHandle_t") Pointer domain, @Cast(value="uint32_t") int category, @Cast(value="const wchar_t*") CharPointer name)
public static void nvtxDomainNameCategoryW(@Cast(value="nvtxDomainHandle_t") Pointer domain, @Cast(value="uint32_t") int category, @Cast(value="const wchar_t*") IntPointer name)
public static void nvtxNameCategoryA(@Cast(value="uint32_t") int category, @Cast(value="const char*") BytePointer name)
category
- - The category ID to name.name
- - The name of the category.
\remarks The category names are tracked per process.
\par Example:
nvtxNameCategory(1, "Memory Allocation");
nvtxNameCategory(2, "Memory Transfer");
nvtxNameCategory(3, "Memory Object Lifetime");
public static void nvtxNameCategoryA(@Cast(value="uint32_t") int category, String name)
public static void nvtxNameCategoryW(@Cast(value="uint32_t") int category, @Cast(value="const wchar_t*") CharPointer name)
public static void nvtxNameCategoryW(@Cast(value="uint32_t") int category, @Cast(value="const wchar_t*") IntPointer name)
public static void nvtxNameOsThreadA(@Cast(value="uint32_t") int threadId, @Cast(value="const char*") BytePointer name)
threadId
- - The ID of the thread to name.name
- - The name of the thread.
\par Example:
nvtxNameOsThread(GetCurrentThreadId(), "MAIN_THREAD");
public static void nvtxNameOsThreadA(@Cast(value="uint32_t") int threadId, String name)
public static void nvtxNameOsThreadW(@Cast(value="uint32_t") int threadId, @Cast(value="const wchar_t*") CharPointer name)
public static void nvtxNameOsThreadW(@Cast(value="uint32_t") int threadId, @Cast(value="const wchar_t*") IntPointer name)
@Cast(value="nvtxStringHandle_t") public static Pointer nvtxDomainRegisterStringA(@Cast(value="nvtxDomainHandle_t") Pointer domain, @Cast(value="const char*") BytePointer string)
Registers an immutable string with NVTX. Once registered the pointer used to register the domain name can be used in nvtxEventAttributes_t \ref MESSAGE_FIELD. This allows NVTX implementation to skip copying the contents of the message on each event invocation. String registration is an optimization. It is recommended to use string registration if the string will be passed to an event many times. String are not unregistered, except that by unregistering the entire domain
domain
- - Domain handle. If NULL then the global domain is used.string
- - A unique pointer to a sequence of characters.
nvtxDomainCreateA("com.nvidia.nvtx.example");
nvtxStringHandle_t message = nvtxDomainRegisterStringA(domain, "registered string");
nvtxEventAttributes_t eventAttrib = {0};
eventAttrib.version = NVTX_VERSION;
eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;
eventAttrib.messageType = NVTX_MESSAGE_TYPE_REGISTERED;
eventAttrib.message.registered = message;
@Cast(value="nvtxStringHandle_t") public static Pointer nvtxDomainRegisterStringA(@Cast(value="nvtxDomainHandle_t") Pointer domain, String string)
@Cast(value="nvtxStringHandle_t") public static Pointer nvtxDomainRegisterStringW(@Cast(value="nvtxDomainHandle_t") Pointer domain, @Cast(value="const wchar_t*") CharPointer string)
@Cast(value="nvtxStringHandle_t") public static Pointer nvtxDomainRegisterStringW(@Cast(value="nvtxDomainHandle_t") Pointer domain, @Cast(value="const wchar_t*") IntPointer string)
@Cast(value="nvtxDomainHandle_t") public static Pointer nvtxDomainCreateA(@Cast(value="const char*") BytePointer name)
name
- - A unique string representing the domain.
nvtxDomainHandle_t domain = nvtxDomainCreateA("com.nvidia.nvtx.example");
nvtxMarkA("nvtxMarkA to global domain");
nvtxEventAttributes_t eventAttrib1 = {0};
eventAttrib1.version = NVTX_VERSION;
eventAttrib1.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;
eventAttrib1.message.ascii = "nvtxDomainMarkEx to global domain";
nvtxDomainMarkEx(NULL, &eventAttrib1);
nvtxEventAttributes_t eventAttrib2 = {0};
eventAttrib2.version = NVTX_VERSION;
eventAttrib2.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;
eventAttrib2.message.ascii = "nvtxDomainMarkEx to com.nvidia.nvtx.example";
nvtxDomainMarkEx(domain, &eventAttrib2);
nvtxDomainDestroy(domain);
::nvtxDomainDestroy
@Cast(value="nvtxDomainHandle_t") public static Pointer nvtxDomainCreateA(String name)
@Cast(value="nvtxDomainHandle_t") public static Pointer nvtxDomainCreateW(@Cast(value="const wchar_t*") CharPointer name)
@Cast(value="nvtxDomainHandle_t") public static Pointer nvtxDomainCreateW(@Cast(value="const wchar_t*") IntPointer name)
public static void nvtxDomainDestroy(@Cast(value="nvtxDomainHandle_t") Pointer domain)
domain
- - the domain handle
\par Example:
nvtxDomainHandle_t domain = nvtxDomainCreateA("com.nvidia.nvtx.example");
nvtxDomainDestroy(domain);
::nvtxDomainCreateW
@MemberGetter public static int NVTX_RESOURCE_TYPE_CUDA_DEVICE()
@MemberGetter public static int NVTX_RESOURCE_TYPE_CUDA_CONTEXT()
@MemberGetter public static int NVTX_RESOURCE_TYPE_CUDA_STREAM()
@MemberGetter public static int NVTX_RESOURCE_TYPE_CUDA_EVENT()
public static void nvtxNameCuDeviceA(@Cast(value="CUdevice") int device, @Cast(value="const char*") BytePointer name)
device
- - The handle of the CUDA device to name.name
- - The name of the CUDA device.public static void nvtxNameCuDeviceA(@Cast(value="CUdevice") int device, String name)
public static void nvtxNameCuDeviceW(@Cast(value="CUdevice") int device, @Cast(value="const wchar_t*") CharPointer name)
public static void nvtxNameCuDeviceW(@Cast(value="CUdevice") int device, @Cast(value="const wchar_t*") IntPointer name)
public static void nvtxNameCuContextA(CUctx_st context, @Cast(value="const char*") BytePointer name)
context
- - The handle of the CUDA context to name.name
- - The name of the CUDA context.
\par Example:
CUresult status = cuCtxCreate( &cuContext, 0, cuDevice );
if ( CUDA_SUCCESS != status )
goto Error;
nvtxNameCuContext(cuContext, "CTX_NAME");
public static void nvtxNameCuContextW(CUctx_st context, @Cast(value="const wchar_t*") CharPointer name)
public static void nvtxNameCuContextW(CUctx_st context, @Cast(value="const wchar_t*") IntPointer name)
public static void nvtxNameCuStreamA(CUstream_st stream, @Cast(value="const char*") BytePointer name)
stream
- - The handle of the CUDA stream to name.name
- - The name of the CUDA stream.public static void nvtxNameCuStreamA(CUstream_st stream, String name)
public static void nvtxNameCuStreamW(CUstream_st stream, @Cast(value="const wchar_t*") CharPointer name)
public static void nvtxNameCuStreamW(CUstream_st stream, @Cast(value="const wchar_t*") IntPointer name)
public static void nvtxNameCuEventA(CUevent_st event, @Cast(value="const char*") BytePointer name)
event
- - The handle of the CUDA event to name.name
- - The name of the CUDA event.public static void nvtxNameCuEventA(CUevent_st event, String name)
public static void nvtxNameCuEventW(CUevent_st event, @Cast(value="const wchar_t*") CharPointer name)
public static void nvtxNameCuEventW(CUevent_st event, @Cast(value="const wchar_t*") IntPointer name)
@MemberGetter public static int NVTX_RESOURCE_TYPE_CUDART_DEVICE()
@MemberGetter public static int NVTX_RESOURCE_TYPE_CUDART_STREAM()
@MemberGetter public static int NVTX_RESOURCE_TYPE_CUDART_EVENT()
public static void nvtxNameCudaDeviceA(int device, @Cast(value="const char*") BytePointer name)
device
- - The id of the CUDA device to name.name
- - The name of the CUDA device.public static void nvtxNameCudaDeviceA(int device, String name)
public static void nvtxNameCudaDeviceW(int device, @Cast(value="const wchar_t*") CharPointer name)
public static void nvtxNameCudaDeviceW(int device, @Cast(value="const wchar_t*") IntPointer name)
public static void nvtxNameCudaStreamA(CUstream_st stream, @Cast(value="const char*") BytePointer name)
stream
- - The handle of the CUDA stream to name.name
- - The name of the CUDA stream.public static void nvtxNameCudaStreamA(CUstream_st stream, String name)
public static void nvtxNameCudaStreamW(CUstream_st stream, @Cast(value="const wchar_t*") CharPointer name)
public static void nvtxNameCudaStreamW(CUstream_st stream, @Cast(value="const wchar_t*") IntPointer name)
public static void nvtxNameCudaEventA(CUevent_st event, @Cast(value="const char*") BytePointer name)
event
- - The handle of the CUDA event to name.name
- - The name of the CUDA event.public static void nvtxNameCudaEventA(CUevent_st event, String name)
public static void nvtxNameCudaEventW(CUevent_st event, @Cast(value="const wchar_t*") CharPointer name)
public static void nvtxNameCudaEventW(CUevent_st event, @Cast(value="const wchar_t*") IntPointer name)
Copyright © 2024. All rights reserved.