nvperfapi_delimiters.h File Reference

#include "nvperfapi_common_types.h"

Go to the source code of this file.


Object-based delimiters for blocks of execution.

NvPerfAPI keeps track of the following per graphics or compute API object:
  • range-stack
  • (boolean) is measuring


NVPA_Status NVPA_D3D11_PushRange (struct ID3D11DeviceContext *pDeviceContext, NVPA_RangeId rangeId)
NVPA_Status NVPA_D3D12_Queue_PushRange (struct ID3D12CommandQueue *pCommandQueue, NVPA_RangeId rangeId)
NVPA_Status NVPA_D3D12_CommandList_PushRange (struct ID3D12GraphicsCommandList *pCommandList, NVPA_RangeId rangeId)
NVPA_Status NVPA_OpenGL_PushRange (NVPA_RangeId rangeId)
NVPA_Status NVPA_EGL_PushRange (NVPA_RangeId rangeId)
NVPA_Status NVPA_CUDA_PushRange (NVPA_RangeId rangeId, struct CUctx_st *ctx)
NVPA_Status NVPA_D3D11_PopRange (struct ID3D11DeviceContext *pDeviceContext)
NVPA_Status NVPA_D3D12_Queue_PopRange (struct ID3D12CommandQueue *pCommandQueue)
NVPA_Status NVPA_D3D12_CommandList_PopRange (struct ID3D12GraphicsCommandList *pCommandList)
NVPA_Status NVPA_OpenGL_PopRange (void)
NVPA_Status NVPA_EGL_PopRange (void)
NVPA_Status NVPA_CUDA_PopRange (struct CUctx_st *ctx)
NVPA_Status NVPA_D3D11_GetNumRangeIds (struct ID3D11DeviceContext *pDeviceContext, int32_t *pNumRangeIds)
NVPA_Status NVPA_D3D12_Queue_GetNumRangeIds (struct ID3D12CommandQueue *pCommandQueue, int32_t *pNumRangeIds)
NVPA_Status NVPA_D3D12_CommandList_GetNumRangeIds (struct ID3D12GraphicsCommandList *pCommandList, int32_t *pNumRangeIds)
NVPA_Status NVPA_OpenGL_GetNumRangeIds (int32_t *pNumRangeIds)
NVPA_Status NVPA_EGL_GetNumRangeIds (int32_t *pNumRangeIds)
NVPA_Status NVPA_CUDA_GetNumRangeIds (int32_t *pNumRangeIds, struct CUctx_st *ctx)
NVPA_Status NVPA_D3D11_GetRangeIds (struct ID3D11DeviceContext *pDeviceContext, size_t numRangeIds, NVPA_RangeId *pRangeIds, size_t *pNumRangeIds)
NVPA_Status NVPA_D3D12_Queue_GetRangeIds (struct ID3D12CommandQueue *pCommandQueue, size_t numRangeIds, NVPA_RangeId *pRangeIds, size_t *pNumRangeIds)
NVPA_Status NVPA_OpenGL_GetRangeIds (size_t numRangeIds, NVPA_RangeId *pRangeIds, size_t *pNumRangeIds)
NVPA_Status NVPA_EGL_GetRangeIds (size_t numRangeIds, NVPA_RangeId *pRangeIds, size_t *pNumRangeIds)
NVPA_Status NVPA_CUDA_GetRangeIds (size_t numRangeIds, NVPA_RangeId *pRangeIds, size_t *pNumRangeIds, struct CUctx_st *ctx)

Context-based delimiters for blocks of execution.

NVPA_Status NVPA_D3D11_BeginSession (struct ID3D11DeviceContext *pDeviceContext, const NVPA_Config *pConfig)
NVPA_Status NVPA_D3D12_Queue_BeginSession (struct ID3D12CommandQueue *pCommandQueue, const NVPA_Config *pConfig)
NVPA_Status NVPA_OpenGL_BeginSession (const NVPA_Config *pConfig)
NVPA_Status NVPA_EGL_BeginSession (const NVPA_Config *pConfig)
NVPA_Status NVPA_CUDA_BeginSession (const NVPA_Config *pConfig, struct CUctx_st *ctx)
NVPA_Status NVPA_D3D11_EndSession (struct ID3D11DeviceContext *pDeviceContext)
NVPA_Status NVPA_D3D12_Queue_EndSession (struct ID3D12CommandQueue *pCommandQueue)
NVPA_Status NVPA_OpenGL_EndSession (void)
NVPA_Status NVPA_EGL_EndSession (void)
NVPA_Status NVPA_CUDA_EndSession (struct CUctx_st *ctx)
NVPA_Status NVPA_D3D11_BeginPass (struct ID3D11DeviceContext *pDeviceContext)
NVPA_Status NVPA_D3D12_Queue_BeginPass (struct ID3D12CommandQueue *pCommandQueue)
NVPA_Status NVPA_OpenGL_BeginPass (void)
NVPA_Status NVPA_EGL_BeginPass (void)
NVPA_Status NVPA_CUDA_BeginPass (struct CUctx_st *ctx)
NVPA_Status NVPA_D3D11_EndPass (struct ID3D11DeviceContext *pDeviceContext)
NVPA_Status NVPA_D3D12_Queue_EndPass (struct ID3D12CommandQueue *pCommandQueue)
NVPA_Status NVPA_OpenGL_EndPass (void)
NVPA_Status NVPA_EGL_EndPass (void)
NVPA_Status NVPA_CUDA_EndPass (struct CUctx_st *ctx)

Detailed Description


Function Documentation

NVPA_Status NVPA_CUDA_BeginPass ( struct CUctx_st *  ctx  ) 

Begins a profiling pass on the current CUDA context.

Repeated calls are allowed, but must be balanced by an equal number of calls to NVPA_CUDA_EndPass.

* The first call to NVPA_CUDA_BeginPass begins the pass. * The last call to NVPA_CUDA_EndPass ends the pass.

Parameters:
[in] ctx if NULL, the current CUDA context is used

NVPA_Status NVPA_CUDA_BeginSession ( const NVPA_Config pConfig,
struct CUctx_st *  ctx 
)

Begins a profiling session on the current CUDA context with a given configuration.

The configuration will apply to the current CUDA context, overriding any device configuration.

Parameters:
[in] pConfig 
[in] ctx if NULL, the current CUDA context is used
See also:
NVPA_CUDA_EndSession

NVPA_Status NVPA_CUDA_EndPass ( struct CUctx_st *  ctx  ) 

Ends the current profiling pass.

Parameters:
[in] ctx if NULL, the current CUDA context is used
See also:
NVPA_CUDA_BeginPass

NVPA_Status NVPA_CUDA_EndSession ( struct CUctx_st *  ctx  ) 

Ends the current profiling session on the current CUDA context.

Parameters:
[in] ctx if NULL, the current CUDA context is used
See also:
NVPA_CUDA_BeginSession

NVPA_Status NVPA_CUDA_GetNumRangeIds ( int32_t *  pNumRangeIds,
struct CUctx_st *  ctx 
)

Returns the number of elements currently in the current CUDA context's range-stack.

Parameters:
[out] pNumRangeIds 
[in] ctx if NULL, the current CUDA context is used

NVPA_Status NVPA_CUDA_GetRangeIds ( size_t  numRangeIds,
NVPA_RangeId pRangeIds,
size_t *  pNumRangeIds,
struct CUctx_st *  ctx 
)

Returns the RangeIds currently in the current CUDA context's range-stack.

PERFORMANCE WARNING: This function is intended for debugging, and may incur a performance penalty.

Parameters:
[in] numRangeIds 
[out] pRangeIds points to an array of numRangeIds elements
[out] pNumRangeIds may be NULL; the number of RangeIds written to pRangeIds
[in] ctx if NULL, the current CUDA context is used

NVPA_Status NVPA_CUDA_PopRange ( struct CUctx_st *  ctx  ) 

Pops the topmost RangeId from the current CUDA context's range-stack.

Parameters:
[in] ctx if NULL, the current CUDA context is used

NVPA_Status NVPA_CUDA_PushRange ( NVPA_RangeId  rangeId,
struct CUctx_st *  ctx 
)

Pushes a RangeId onto the current CUDA context's range-stack.

Parameters:
[in] rangeId 
[in] ctx if NULL, the current CUDA context is used

NVPA_Status NVPA_D3D11_BeginPass ( struct ID3D11DeviceContext *  pDeviceContext  ) 

Begins a profiling pass on pDeviceContext.

Repeated calls are allowed, but must be balanced by an equal number of calls to NVPA_D3D11_EndPass.

* The first call to NVPA_D3D11_BeginPass begins the pass. * The last call to NVPA_D3D11_EndPass ends the pass.

NVPA_Status NVPA_D3D11_BeginSession ( struct ID3D11DeviceContext *  pDeviceContext,
const NVPA_Config pConfig 
)

Begins a profiling session on pDeviceContext with a given configuration.

The configuration will apply to pDeviceContext, overriding any device configuration.

Parameters:
[in] pDeviceContext A context associated with the device for which pConfig was created.
[in] pConfig 
See also:
NVPA_D3D11_EndSession

NVPA_Status NVPA_D3D11_EndPass ( struct ID3D11DeviceContext *  pDeviceContext  ) 

Ends the current profiling pass.

See also:
NVPA_D3D11_BeginPass

NVPA_Status NVPA_D3D11_EndSession ( struct ID3D11DeviceContext *  pDeviceContext  ) 

Ends the current profiling session on pDeviceContext.

Parameters:
[in] pDeviceContext 
See also:
NVPA_D3D11_BeginSession

NVPA_Status NVPA_D3D11_GetNumRangeIds ( struct ID3D11DeviceContext *  pDeviceContext,
int32_t *  pNumRangeIds 
)

Returns the number of elements currently in pDeviceContext's range-stack.

Parameters:
[in] pDeviceContext 
[out] pNumRangeIds 

NVPA_Status NVPA_D3D11_GetRangeIds ( struct ID3D11DeviceContext *  pDeviceContext,
size_t  numRangeIds,
NVPA_RangeId pRangeIds,
size_t *  pNumRangeIds 
)

Returns the RangeIds currently in pDeviceContext's range-stack.

PERFORMANCE WARNING: This function is intended for debugging, and may incur a performance penalty.

Parameters:
[in] pDeviceContext 
[in] numRangeIds 
[out] pRangeIds points to an array of numRangeIds elements
[out] pNumRangeIds may be NULL; the number of RangeIds written to pRangeIds

NVPA_Status NVPA_D3D11_PopRange ( struct ID3D11DeviceContext *  pDeviceContext  ) 

Pops the topmost RangeId from pDeviceContext's range-stack.

Parameters:
[in] pDeviceContext 

NVPA_Status NVPA_D3D11_PushRange ( struct ID3D11DeviceContext *  pDeviceContext,
NVPA_RangeId  rangeId 
)

Pushes a RangeId onto pDeviceContext's range-stack.

Parameters:
[in] pDeviceContext 
[in] rangeId 

NVPA_Status NVPA_D3D12_CommandList_GetNumRangeIds ( struct ID3D12GraphicsCommandList *  pCommandList,
int32_t *  pNumRangeIds 
)

Returns the number of elements currently in pCommandList's range-stack.

NOTE: *pNumRangeIds may be negative on deferred command lists if the number of pending PopRanges exceeds the number of pending PushRanges.

Parameters:
[in] pCommandList 
[out] pNumRangeIds 

NVPA_Status NVPA_D3D12_CommandList_PopRange ( struct ID3D12GraphicsCommandList *  pCommandList  ) 

Pops the topmost RangeId from pCommandList's range-stack.

Parameters:
[in] pCommandList 

NVPA_Status NVPA_D3D12_CommandList_PushRange ( struct ID3D12GraphicsCommandList *  pCommandList,
NVPA_RangeId  rangeId 
)

Pushes a RangeId onto pCommandList's range-stack.

Parameters:
[in] pCommandList 
[in] rangeId 

NVPA_Status NVPA_D3D12_Queue_BeginPass ( struct ID3D12CommandQueue *  pCommandQueue  ) 

Begins a profiling pass on pCommandQueue.

Repeated calls are allowed, but must be balanced by an equal number of calls to NVPA_D3D12_Queue_EndPass.

* The first call to NVPA_D3D12_Queue_BeginPass begins the pass. * The last call to NVPA_D3D12_Queue_EndPass ends the pass.

NVPA_Status NVPA_D3D12_Queue_BeginSession ( struct ID3D12CommandQueue *  pCommandQueue,
const NVPA_Config pConfig 
)

Begins a profiling session on pCommandQueue with a given configuration.

The configuration will apply to pCommandQueue, overriding any device configuration.

Parameters:
[in] pCommandQueue A context associated with the device for which pConfig was created.
[in] pConfig 
See also:
NVPA_D3D12_Queue_EndSession

NVPA_Status NVPA_D3D12_Queue_EndPass ( struct ID3D12CommandQueue *  pCommandQueue  ) 

Ends the current profiling pass.

See also:
NVPA_D3D12_Queue_BeginPass

NVPA_Status NVPA_D3D12_Queue_EndSession ( struct ID3D12CommandQueue *  pCommandQueue  ) 

Ends the current profiling session on pCommandQueue.

Parameters:
[in] pCommandQueue 
See also:
NVPA_D3D12_Queue_BeginSession

NVPA_Status NVPA_D3D12_Queue_GetNumRangeIds ( struct ID3D12CommandQueue *  pCommandQueue,
int32_t *  pNumRangeIds 
)

Returns the number of elements currently in pCommandQueue's range-stack.

Parameters:
[in] pCommandQueue 
[out] pNumRangeIds 

NVPA_Status NVPA_D3D12_Queue_GetRangeIds ( struct ID3D12CommandQueue *  pCommandQueue,
size_t  numRangeIds,
NVPA_RangeId pRangeIds,
size_t *  pNumRangeIds 
)

Returns the RangeIds currently in pCommandQueue's range-stack.

PERFORMANCE WARNING: This function is intended for debugging, and may incur a performance penalty.

Parameters:
[in] pCommandQueue 
[in] numRangeIds 
[out] pRangeIds points to an array of numRangeIds elements
[out] pNumRangeIds may be NULL; the number of RangeIds written to pRangeIds

NVPA_Status NVPA_D3D12_Queue_PopRange ( struct ID3D12CommandQueue *  pCommandQueue  ) 

Pops the topmost RangeId from pCommandQueue's range-stack.

Parameters:
[in] pCommandQueue 

NVPA_Status NVPA_D3D12_Queue_PushRange ( struct ID3D12CommandQueue *  pCommandQueue,
NVPA_RangeId  rangeId 
)

Pushes a RangeId onto pCommandQueue's range-stack.

Parameters:
[in] pCommandQueue 
[in] rangeId 

NVPA_Status NVPA_EGL_BeginPass ( void   ) 

Begins a profiling pass on the current EGL context.

Repeated calls are allowed, but must be balanced by an equal number of calls to NVPA_EGL_EndPass.

* The first call to NVPA_EGL_BeginPass begins the pass. * The last call to NVPA_EGL_EndPass ends the pass.

There must be a current EGL context at the time of this call.

NVPA_Status NVPA_EGL_BeginSession ( const NVPA_Config pConfig  ) 

Begins a profiling session on the current EGL context with a given configuration.

The configuration will apply to the current EGL context, overriding any device configuration.

There must be a current EGL context at the time of this call.

Parameters:
[in] pConfig 
See also:
NVPA_EGL_EndSession

NVPA_Status NVPA_EGL_EndPass ( void   ) 

Ends the current profiling pass.

There must be a current EGL context at the time of this call.

See also:
NVPA_EGL_BeginPass

NVPA_Status NVPA_EGL_EndSession ( void   ) 

Ends the current profiling session on the current EGL context.

There must be a current EGL context at the time of this call.

See also:
NVPA_EGL_BeginSession

NVPA_Status NVPA_EGL_GetNumRangeIds ( int32_t *  pNumRangeIds  ) 

Returns the number of elements currently in the current EGL context's range-stack.

There must be a current EGL context at the time of this call.

Parameters:
[out] pNumRangeIds 

NVPA_Status NVPA_EGL_GetRangeIds ( size_t  numRangeIds,
NVPA_RangeId pRangeIds,
size_t *  pNumRangeIds 
)

Returns the RangeIds currently in the current EGL context's range-stack.

PERFORMANCE WARNING: This function is intended for debugging, and may incur a performance penalty.

There must be a current EGL context at the time of this call.

Parameters:
[in] numRangeIds 
[out] pRangeIds points to an array of numRangeIds elements
[out] pNumRangeIds may be NULL; the number of RangeIds written to pRangeIds

NVPA_Status NVPA_EGL_PopRange ( void   ) 

Pops the topmost RangeId from the current EGL context's range-stack.

There must be a current EGL context at the time of this call.

NVPA_Status NVPA_EGL_PushRange ( NVPA_RangeId  rangeId  ) 

Pushes a RangeId onto the current EGL context's range-stack.

There must be a current EGL context at the time of this call.

Parameters:
[in] rangeId 

NVPA_Status NVPA_OpenGL_BeginPass ( void   ) 

Begins a profiling pass on the current GL context.

Repeated calls are allowed, but must be balanced by an equal number of calls to NVPA_OpenGL_EndPass.

* The first call to NVPA_OpenGL_BeginPass begins the pass. * The last call to NVPA_OpenGL_EndPass ends the pass.

There must be a current GL context at the time of this call.

NVPA_Status NVPA_OpenGL_BeginSession ( const NVPA_Config pConfig  ) 

Begins a profiling session on the current GL context with a given configuration.

The configuration will apply to the current GL context, overriding any device configuration.

There must be a current GL context at the time of this call.

Parameters:
[in] pConfig 
See also:
NVPA_OpenGL_EndSession

NVPA_Status NVPA_OpenGL_EndPass ( void   ) 

Ends the current profiling pass.

There must be a current GL context at the time of this call.

See also:
NVPA_OpenGL_BeginPass

NVPA_Status NVPA_OpenGL_EndSession ( void   ) 

Ends the current profiling session on the current GL context.

There must be a current GL context at the time of this call.

See also:
NVPA_OpenGL_BeginSession

NVPA_Status NVPA_OpenGL_GetNumRangeIds ( int32_t *  pNumRangeIds  ) 

Returns the number of elements currently in the current GL context's range-stack.

There must be a current GL context at the time of this call.

Parameters:
[out] pNumRangeIds 

NVPA_Status NVPA_OpenGL_GetRangeIds ( size_t  numRangeIds,
NVPA_RangeId pRangeIds,
size_t *  pNumRangeIds 
)

Returns the RangeIds currently in the current GL context's range-stack.

PERFORMANCE WARNING: This function is intended for debugging, and may incur a performance penalty.

There must be a current GL context at the time of this call.

Parameters:
[in] numRangeIds 
[out] pRangeIds points to an array of numRangeIds elements
[out] pNumRangeIds may be NULL; the number of RangeIds written to pRangeIds

NVPA_Status NVPA_OpenGL_PopRange ( void   ) 

Pops the topmost RangeId from the current GL context's range-stack.

There must be a current GL context at the time of this call.

NVPA_Status NVPA_OpenGL_PushRange ( NVPA_RangeId  rangeId  ) 

Pushes a RangeId onto the current OpenGL context's range-stack.

There must be a current GL context at the time of this call.

Parameters:
[in] rangeId 


NVIDIA(R) PerfWorks SDK Documentation (c) 2015-2016. NVIDIA Corporation. All Rights Reserved.