NVTX  v3
NVIDIA Tools Extension Library
Classes | Typedefs | Enumerations | Functions
Synchronization

Classes

struct  nvtxSyncUserAttributes_t
 User Defined Synchronization Object Attributes Structure. More...
 

Typedefs

typedef enum nvtxResourceSyncLinuxType_t nvtxResourceSyncAndroidType_t
 Resource type values for Android come from Linux. More...
 
typedef struct nvtxSyncUser * nvtxSyncUser_t
 User Defined Synchronization Object Handle . More...
 

Enumerations

enum  nvtxResourceSyncPosixThreadType_t {
  NVTX_RESOURCE_TYPE_SYNC_PTHREAD_MUTEX = NVTX_RESOURCE_MAKE_TYPE(SYNC_PTHREAD, 1), NVTX_RESOURCE_TYPE_SYNC_PTHREAD_CONDITION = NVTX_RESOURCE_MAKE_TYPE(SYNC_PTHREAD, 2), NVTX_RESOURCE_TYPE_SYNC_PTHREAD_RWLOCK = NVTX_RESOURCE_MAKE_TYPE(SYNC_PTHREAD, 3), NVTX_RESOURCE_TYPE_SYNC_PTHREAD_BARRIER = NVTX_RESOURCE_MAKE_TYPE(SYNC_PTHREAD, 4),
  NVTX_RESOURCE_TYPE_SYNC_PTHREAD_SPINLOCK = NVTX_RESOURCE_MAKE_TYPE(SYNC_PTHREAD, 5), NVTX_RESOURCE_TYPE_SYNC_PTHREAD_ONCE = NVTX_RESOURCE_MAKE_TYPE(SYNC_PTHREAD, 6)
}
 Resource type values for OSs with POSIX Thread API support.
 
enum  nvtxResourceSyncWindowsType_t {
  NVTX_RESOURCE_TYPE_SYNC_WINDOWS_MUTEX = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 1), NVTX_RESOURCE_TYPE_SYNC_WINDOWS_SEMAPHORE = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 2), NVTX_RESOURCE_TYPE_SYNC_WINDOWS_EVENT = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 3), NVTX_RESOURCE_TYPE_SYNC_WINDOWS_CRITICAL_SECTION = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 4),
  NVTX_RESOURCE_TYPE_SYNC_WINDOWS_SRWLOCK = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 5)
}
 Resource type values for Windows OSs.
 
enum  nvtxResourceSyncLinuxType_t {
  NVTX_RESOURCE_TYPE_SYNC_LINUX_MUTEX = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 1), NVTX_RESOURCE_TYPE_SYNC_LINUX_FUTEX = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 2), NVTX_RESOURCE_TYPE_SYNC_LINUX_SEMAPHORE = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 3), NVTX_RESOURCE_TYPE_SYNC_LINUX_COMPLETION = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 4),
  NVTX_RESOURCE_TYPE_SYNC_LINUX_SPINLOCK = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 5), NVTX_RESOURCE_TYPE_SYNC_LINUX_SEQLOCK = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 6), NVTX_RESOURCE_TYPE_SYNC_LINUX_RCU = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 7)
}
 Resource type values for Linux and Linux derived OSs such as Android. More...
 

Functions

NVTX_DECLSPEC nvtxSyncUser_t NVTX_API nvtxDomainSyncUserCreate (nvtxDomainHandle_t domain, const nvtxSyncUserAttributes_t *attribs)
 Create a user defined synchronization object This is used to track non-OS synchronization working with spinlocks and atomics. More...
 
NVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserDestroy (nvtxSyncUser_t handle)
 Destroy a user defined synchronization object This is used to track non-OS synchronization working with spinlocks and atomics. More...
 
NVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserAcquireStart (nvtxSyncUser_t handle)
 Signal to tools that an attempt to acquire a user defined synchronization object. More...
 
NVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserAcquireFailed (nvtxSyncUser_t handle)
 Signal to tools of failure in acquiring a user defined synchronization object This should be called after nvtxDomainSyncUserAcquireStart. More...
 
NVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserAcquireSuccess (nvtxSyncUser_t handle)
 Signal to tools of success in acquiring a user defined synchronization object This should be called after nvtxDomainSyncUserAcquireStart. More...
 
NVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserReleasing (nvtxSyncUser_t handle)
 Signal to tools of releasing a reservation on user defined synchronization object This should be called after nvtxDomainSyncUserAcquireSuccess. More...
 

Detailed Description

See page Synchronization.

Typedef Documentation

Resource type values for Android come from Linux.

See also
nvtxResourceSyncLinuxType_t nvtxResourceSyncPosixThreadType_t

Definition at line 142 of file nvToolsExtSync.h.

typedef struct nvtxSyncUser* nvtxSyncUser_t

User Defined Synchronization Object Handle .

This structure is opaque to the user and is used as a handle to reference a user defined syncrhonization object. The tools will return a pointer through the API for the application to hold on it's behalf to reference the string in the future.

Definition at line 152 of file nvToolsExtSync.h.

Enumeration Type Documentation

Resource type values for Linux and Linux derived OSs such as Android.

See also
nvtxResourceSyncPosixThreadType_t

Definition at line 126 of file nvToolsExtSync.h.

Function Documentation

NVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserAcquireFailed ( nvtxSyncUser_t  handle)

Signal to tools of failure in acquiring a user defined synchronization object This should be called after nvtxDomainSyncUserAcquireStart.

Parameters
handle- A handle to the object to operate on.
See also
nvtxDomainSyncUserCreate nvtxDomainSyncUserDestroy nvtxDomainSyncUserAcquireStart nvtxDomainSyncUserAcquireFailed nvtxDomainSyncUserAcquireSuccess nvtxDomainSyncUserReleasing
Version
NVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserAcquireStart ( nvtxSyncUser_t  handle)

Signal to tools that an attempt to acquire a user defined synchronization object.

Parameters
handle- A handle to the object to operate on.
See also
nvtxDomainSyncUserCreate nvtxDomainSyncUserDestroy nvtxDomainSyncUserAcquireStart nvtxDomainSyncUserAcquireFailed nvtxDomainSyncUserAcquireSuccess nvtxDomainSyncUserReleasing
Version
NVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserAcquireSuccess ( nvtxSyncUser_t  handle)

Signal to tools of success in acquiring a user defined synchronization object This should be called after nvtxDomainSyncUserAcquireStart.

Parameters
handle- A handle to the object to operate on.
See also
nvtxDomainSyncUserCreate nvtxDomainSyncUserDestroy nvtxDomainSyncUserAcquireStart nvtxDomainSyncUserAcquireFailed nvtxDomainSyncUserAcquireSuccess nvtxDomainSyncUserReleasing
Version
NVTX_DECLSPEC nvtxSyncUser_t NVTX_API nvtxDomainSyncUserCreate ( nvtxDomainHandle_t  domain,
const nvtxSyncUserAttributes_t *  attribs 
)

Create a user defined synchronization object This is used to track non-OS synchronization working with spinlocks and atomics.

Parameters
domain- Domain to own the resource
attribs- A structure to assign multiple attributes to the object.
Returns
A handle that represents the newly created user defined synchronization object.
See also
nvtxDomainSyncUserCreate nvtxDomainSyncUserDestroy nvtxDomainSyncUserAcquireStart nvtxDomainSyncUserAcquireFailed nvtxDomainSyncUserAcquireSuccess nvtxDomainSyncUserReleasing
Version
NVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserDestroy ( nvtxSyncUser_t  handle)

Destroy a user defined synchronization object This is used to track non-OS synchronization working with spinlocks and atomics.

Parameters
handle- A handle to the object to operate on.
See also
nvtxDomainSyncUserCreate nvtxDomainSyncUserDestroy nvtxDomainSyncUserAcquireStart nvtxDomainSyncUserAcquireFailed nvtxDomainSyncUserAcquireSuccess nvtxDomainSyncUserReleasing
Version
NVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserReleasing ( nvtxSyncUser_t  handle)

Signal to tools of releasing a reservation on user defined synchronization object This should be called after nvtxDomainSyncUserAcquireSuccess.

Parameters
handle- A handle to the object to operate on.
See also
nvtxDomainSyncUserCreate nvtxDomainSyncUserDestroy nvtxDomainSyncUserAcquireStart nvtxDomainSyncUserAcquireFailed nvtxDomainSyncUserAcquireSuccess nvtxDomainSyncUserReleasing
Version