SQLite Export Schema Reference
This section describes in-depth exported data types. Since the tool is still
BETA, please note, that the format may likely change in the future. Also, not
every exported field may have been documented at this time.
Schema for a concrete database can be obtained with the sqlite3 tool built-in
command .schema:
sqlite> .schema
CREATE TABLE StringIds (id INTEGER PRIMARY KEY, value TEXT NOT NULL);
CREATE TABLE SCHED_EVENTS (id INTEGER PRIMARY KEY AUTOINCREMENT, start INT NOT NULL, cpu INT NOT NULL, isSchedIn INT NOT NULL, globalTid INT NOT NULL);
CREATE TABLE sqlite_sequence(name,seq);
CREATE TABLE COMPOSITE_EVENTS (id INT NOT NULL PRIMARY KEY, start INT NOT NULL, cpu INT NOT NULL, threadState INT NOT NULL, globalTid INT NOT NULL, cpuCycles INT NOT NULL);
...
Tables are created lazily, therefore not every table described below might be
present in a particular report.
Current logic behind the chosen layout is that each data type gets it’s own
table in the exported database. Since usage patterns for exported data may vary
greatly and no default use cases has been established yet, no indexes or extra
constraints are created. Instead, refer to the Examples
section for list of common recipes.
Due to current limitations, all fields are declared as NOT NULL, even where
actual value may be missing, instead default value for that field is exported.
This might change in future versions.
CUDA
See https://docs.nvidia.com/cupti/Cupti/index.html for detailed information on
collected event and data types.
Runtime API
Table name |
CUPTI_ACTIVITY_KIND_RUNTIME |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
CUDA event class enum value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
Use this value to find events in
CUPTI_ACTIVITY_KIND_KERNEL ,
CUPTI_ACTIVITY_KIND_MEMSET ,
CUPTI_ACTIVITY_KIND_MEMCPY , tables that this
function call has triggered. For an example refer to
Transfer CUDA kernel names onto API ranges. |
nameId |
INT NOT NULL |
StringId of function name. |
returnValue |
INT NOT NULL |
Return value of function call. |
callchainId |
INTEGER REFERENCES
CUDA_CALLCHAINS(id) |
An ID of a callchain for a given API call. |
CuBLAS events
Table name |
CUBLAS_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
CUDA event class enum value. |
globalTid |
INT |
Serialized GlobalId. |
nameId |
INT NOT NULL |
StringId of function name. |
CuDNN events
Table name |
CUDNN_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
CUDA event class enum value. |
globalTid |
INT |
Serialized GlobalId. |
nameId |
INT NOT NULL |
StringId of function name. |
CUDA graph node creation events
See mapping API calls to graph node creation for an example.
Table name |
CUDA_GRAPH_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
CUDA event class enum value. |
globalTid |
INT |
Serialized GlobalId. |
nameId |
INT NOT NULL
REFERENCES
StringIds |
StringId of “Graph Node Creation”
string. |
graphNodeId |
INT NOT NULL |
CUDA graph node creation ID. |
originalGraphNodeId |
INT |
In case the node was cloned, this field will
reference the original graph node ID. |
Kernel events
Table name |
CUPTI_ACTIVITY_KIND_KERNEL |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
deviceId |
INT NOT NULL |
The ID of the device where the kernel is executing. |
contextId |
INT NOT NULL |
The ID of the context where the kernel is executing. |
streamId |
INT NOT NULL |
The ID of the stream where the kernel is executing. |
correlationId |
INT |
Use this value to find events in
CUPTI_ACTIVITY_KIND_RUNTIME table that triggered
execution of given kernel. For an example refer to
Transfer CUDA kernel names onto API ranges. |
globalPid |
INT |
Serialized GlobalId. |
demangledName |
INT NOT NULL |
StringId of kernel name. |
shortName |
INT NOT NULL |
StringId of
short (without arguments) function name. |
mangledName |
INT NOT NULL |
StringId of
mangled function name. |
launchType |
INT |
The indicates if the kernel was executed via a
regular launch or via a single/multi device
cooperative launch. |
cacheConfig |
INT |
The cache configuration used for the kernel. The
value is one of the CUfunc_cache enumeration values
from cuda.h. |
registersPerThread |
INT NOT NULL |
The number of registers required for each thread
executing the kernel. |
gridX |
INT NOT NULL |
The X-dimension grid size for the kernel. |
gridY |
INT NOT NULL |
The Y-dimension grid size for the kernel. |
gridZ |
INT NOT NULL |
The Z-dimension grid size for the kernel. |
blockX |
INT NOT NULL |
The X-dimension block size for the kernel. |
blockY |
INT NOT NULL |
The Y-dimension block size for the kernel. |
blockZ |
INT NOT NULL |
The Z-dimension block size for the kernel. |
staticSharedMemory |
INT NOT NULL |
The static shared memory allocated for the kernel,
in bytes. |
dynamicSharedMemory |
INT NOT NULL |
The dynamic shared memory reserved for the kernel,
in bytes. |
localMemoryPerThread |
INT NOT NULL |
The amount of local memory reserved for each thread,
in bytes. |
localMemoryTotal |
INT NOT NULL |
The total amount of local memory reserved for the
kernel, in bytes. |
gridId |
INT NOT NULL |
The grid ID of the kernel. Each kernel is assigned a
unique grid ID at runtime. |
sharedMemoryExecuted |
INT |
Shared memory size set by the driver. |
graphNodeId |
INT |
CUDA graph node creation ID. |
Memset Events
Table name |
CUPTI_ACTIVITY_KIND_MEMSET |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
deviceId |
INT NOT NULL |
The ID of the device where the memory set is occurring. |
contextId |
INT NOT NULL |
The ID of the context where the memory set is occurring. |
streamId |
INT NOT NULL |
The ID of the stream where the memory set is occurring. |
correlationId |
INT |
Use this value to find events in
CUPTI_ACTIVITY_KIND_RUNTIME table that triggered
execution of given memory operation. |
globalPid |
INT |
Serialized GlobalId. |
value |
INT NOT NULL |
The value being assigned to memory by the memory set. |
bytes |
INT NOT NULL |
The number of bytes being set by the memory set. |
graphNodeId |
INT |
CUDA graph node creation ID. |
memKind |
INT |
The type of memory being set. |
Memcpy Events
Table name |
CUPTI_ACTIVITY_KIND_MEMCPY |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
deviceId |
INT NOT NULL |
The ID of the device where the memory copy is occurring. |
contextId |
INT NOT NULL |
The ID of the context where the memory copy is occurring. |
streamId |
INT NOT NULL |
The ID of the stream where the memory copy is occurring. |
correlationId |
INT |
Use this value to find events in
CUPTI_ACTIVITY_KIND_RUNTIME table that triggered
execution of given memory operation. |
globalPid |
INT |
Serialized GlobalId. |
bytes |
INT NOT NULL |
The number of bytes transferred by the memory copy. |
copyKind |
INT NOT NULL |
The kind of the memory copy. |
srcId |
INT |
The ID of the source CPU/device involved in the
memory transfer, page fault, thrashing, throttling
or remote map operation. |
srcKind |
INT |
The source memory kind read by the memory copy. |
dstKind |
INT |
The destination memory kind read by the memory copy. |
srcDeviceId |
INT |
The ID of the device where memory is being copied from. |
srcContextId |
INT |
The ID of the context owning the memory being copied from. |
dstDeviceId |
INT |
The ID of the device where memory is being copied to. |
dstContextId |
INT |
The ID of the context owning the memory being copied to. |
migrationCause |
INT |
UVM migration cause ID.
See CUpti_ActivityUnifiedMemoryMigrationCause. |
graphNodeId |
INT |
CUDA graph node creation ID. |
virtualAddress |
INT |
Virtual base address of the page/s being transferred. |
Synchronization Events
Table name |
CUPTI_ACTIVITY_KIND_SYNCHRONIZATION |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
deviceId |
INT NOT NULL |
The ID of the device where the memory set is occurring. |
contextId |
INT NOT NULL |
The ID of the context for which the synchronization
API is called. In case of context synchronization API
it is the context ID for which the API is called. In
case of stream/event synchronization it is the ID of
the context where the stream/event was created. |
streamId |
INT NOT NULL |
The compute stream for which the synchronization API
is called. |
correlationId |
INT |
The correlation ID of the API to which this result is
associated. |
globalPid |
INT |
Serialized GlobalId. |
syncType |
INT NOT NULL |
The CUpti_ActivitySynchronizationType type of record. |
eventId |
INT NOT NULL |
The event ID for which the synchronization API is called. |
CUDA callchains
Callchain entries for CUDA events.
Refer to Select CUDA calls with backtraces for an example.
Table name |
CUDA_CALLCHAINS |
Column Name |
Column Type |
Column Description |
id |
id INTEGER NOT
NULL |
Part of PRIMARY KEY (id, stackDepth).
Maps to CUPTI_ACTIVITY_KIND_RUNTIME.callchainId. |
stackDepth |
INT NOT NULL |
Zero-base index of given function in call stack. |
symbol |
INT NOT NULL |
StringId of function name. |
module |
INT NOT NULL |
StringId of module name. |
unresolved |
INTEGER |
True if the symbol was not resolved. |
originalIP |
INTEGER |
Instruction pointer value. |
CUDA UM CPU Page Fault Events
Table name |
CUDA_UM_CPU_PAGE_FAULT_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Timestamp in nanoseconds when CUDA driver started
processing the page fault. |
globalPid |
INT |
Serialized GlobalId. |
address |
INT NOT NULL |
The virtual address of the page that faulted. |
originalFaultPc |
INTEGER |
The program counter of the CPU instruction that
caused the page fault. |
CpuInstruction |
INT NOT NULL |
StringId of the function name. |
module |
INT NOT NULL |
StringId of the module name. |
unresolvedFaultPc |
INTEGER |
True if the program counter of the CPU instruction,
that caused the page fault, was not resolved. |
CUDA UM GPU Page Fault Events
Table name |
CUDA_UM_GPU_PAGE_FAULT_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Timestamp in nanoseconds when CUDA driver started
processing the page fault. |
end |
INT NOT NULL |
Timestamp in nanoseconds when CUDA driver queues the
replay of faulting memory accesses on the GPU. |
globalPid |
INT |
Serialized GlobalId. |
deviceId |
INT NOT NULL |
The ID of the device involved in the page fault. |
address |
INT NOT NULL |
The virtual address of the page that faulted. |
numberOfPageFaults |
INT NOT NULL |
The number of page faults for the same page. |
faultAccessType |
INT NOT NULL |
The type of Unified memory accessed.
See CUpti_ActivityUnifiedMemoryAccessType. |
CUDA GPU Memory Usage Events
Table name |
CUDA_GPU_MEMORY_USAGE_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Timestamp in nanoseconds when GPU memory was
allocated/deallocated. |
globalPid |
INT |
Serialized GlobalId. |
deviceId |
INT NOT NULL |
The ID of the device on which memory was allocated or
deallocated. |
contextId |
INT NOT NULL |
The ID of the context for which GPU memory was
allocated or deallocated. |
address |
INT NOT NULL |
The virtual address of the allocation/deallocation. |
bytes |
INT NOT NULL |
The number of bytes allocated/deallocated. |
memKind |
INT NOT NULL |
The type of memory being allocated/deallocated. |
memoryOperationType |
INT NOT NULL |
Value is 0 if memory was allocated and 1 if memory was
deallocated. |
correlationId |
INT |
A unique ID used to identify the driver or runtime
API that launched the memory operation. Use this value
to find corresponding events in
CUPTI_ACTIVITY_KIND_KERNEL ,
CUPTI_ACTIVITY_KIND_MEMSET ,
CUPTI_ACTIVITY_KIND_MEMCPY , tables that this
function call has triggered. For an example refer to
Transfer CUDA kernel names onto API ranges. |
name |
INT |
Variable name, if available. |
CUDA event class values
- 0 - TRACE_PROCESS_EVENT_CUDA_RUNTIME
- 1 - TRACE_PROCESS_EVENT_CUDA_DRIVER
- 13 - TRACE_PROCESS_EVENT_CUDA_EGL_DRIVER
- 28 - TRACE_PROCESS_EVENT_CUDNN
- 29 - TRACE_PROCESS_EVENT_CUBLAS
- 33 - TRACE_PROCESS_EVENT_CUDNN_START
- 34 - TRACE_PROCESS_EVENT_CUDNN_FINISH
- 35 - TRACE_PROCESS_EVENT_CUBLAS_START
- 36 - TRACE_PROCESS_EVENT_CUBLAS_FINISH
- 67 - TRACE_PROCESS_EVENT_CUDABACKTRACE
- 77 - TRACE_PROCESS_EVENT_CUDA_GRAPH_NODE_CREATION
NVTX
All NVTX events are collected in a single table. Differentiate between marks,
start/end and push/pop ranges by the eventType column.
Table name |
NVTX_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT |
Event end timestamp in nanoseconds. End timestamp is
not available, if event is atomic like Mark, or has
not completed before the end of profiling. |
eventType |
INT NOT NULL |
Event type enum value. |
rangeId |
INT |
The correlation ID returned from a nvtxRangeStart
call. Available for start/end ranges only. |
text |
TEXT |
Optional text message for a given event. |
category |
INT |
User-controlled ID that can be used to group events. |
color |
INT |
Encoded ARGB color value. |
globalTid |
INT |
Serialized GlobalId. |
endGlobalTid |
INT |
Serialized GlobalId. Available when
start/end range has ended on a thread other than the
one it started on. |
textId |
INT |
StringId of NVTX domain registered
strings. |
domainId |
INT |
User-controlled ID that can be used to group events. |
uint64Value |
INT |
One of possible payload value union members. |
int64Value |
INT |
One of possible payload value union members. |
doubleValue |
REAL |
One of possible payload value union members. |
uint32Value |
INT |
One of possible payload value union members. |
int32Value |
INT |
One of possible payload value union members. |
floatValue |
REAL |
One of possible payload value union members. |
jsonTextId |
INT |
One of possible payload value union members. |
jsonText |
INT |
One of possible payload value union members. |
NVTX eventType values
- 33 - NvtxCategory
- 34 - NvtxMark
- 39 - NvtxThread
- 59 - NvtxPushPopRange
- 60 - NvtxStartEndRange
- 75 - NvtxDomainCreate
- 76 - NvtxDomainDestroy
Difference between text and textId columns
If an NVTX event message was passed via call to nvtxDomainRegisterString
function, then the message will be available through textId
field,
otherwise the text
field will contain the message if it was provided.
OpenGL
Table name |
OPENGL_API, OPENGL_WORKLOAD |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT NOT NULL |
Serialized GlobalId. |
nameId |
INT NOT NULL |
StringId of function name. |
returnValue |
INT NOT NULL |
Return value of function call. |
Table name |
KHR_DEBUG_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
KHR event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
source |
INT |
KHR source enum value. |
khrdType |
INT |
KHR type enum value. |
id |
INT |
KHR event ID. |
severity |
INT |
KHR severity enum value. |
correlationId |
INT |
ID used to correlate KHR CPU trace to GPU trace. |
textId |
INT |
StringId of text string assigned
by the user code to a debug marker/group. |
KHR event class values
- 62 - KhrDebugPushPopRange
- 63 - KhrDebugGpuPushPopRange
KHR source kind values
- 0x8249 - GL_DEBUG_SOURCE_THIRD_PARTY
- 0x824A - GL_DEBUG_SOURCE_APPLICATION
KHR type values
- 0x824C - GL_DEBUG_TYPE_ERROR
- 0x824D - GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR
- 0x824E - GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR
- 0x824F - GL_DEBUG_TYPE_PORTABILITY
- 0x8250 - GL_DEBUG_TYPE_PERFORMANCE
- 0x8251 - GL_DEBUG_TYPE_OTHER
- 0x8268 - GL_DEBUG_TYPE_MARKER
- 0x8269 - GL_DEBUG_TYPE_PUSH_GROUP
- 0x826A - GL_DEBUG_TYPE_POP_GROUP
KHR severity values
- 0x826B - GL_DEBUG_SEVERITY_NOTIFICATION
- 0x9146 - GL_DEBUG_SEVERITY_HIGH
- 0x9147 - GL_DEBUG_SEVERITY_MEDIUM
- 0x9148 - GL_DEBUG_SEVERITY_LOW
OS Runtime Libraries Trace
OS runtime libraries can be traced to gather information about low-level
userspace APIs. This traces the system call wrappers and thread synchronization
interfaces exposed by the C runtime and POSIX Threads (pthread) libraries. This
does not perform a complete runtime library API trace, but instead focuses on
the functions that can take a long time to execute, or could potentially cause
your thread be unscheduled from the CPU while waiting for an event to complete.
OSRT events may have callchains attached to them, depending on selected
profiling settings. In such cases, one can use callchainId column to select
relevant callchains from OSRT_CALLCHAINS table, refer to
OSRT Callchains for an example.
Table name |
OSRT_API |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
OSRT event class enum value. |
globalTid |
INT NOT NULL |
Serialized GlobalId. |
nameId |
INT NOT NULL |
StringId of function name. |
returnValue |
INT NOT NULL |
Return value of function call. |
callchainId |
INT NOT NULL |
De facto FOREIGN KEY to OSRT_CALLCHAINS.id.
The value of 0 is used instead of NULL. |
OSRT Callchains
Table name |
OSRT_CALLCHAINS |
Column Name |
Column Type |
Column Description |
id |
INT NOT NULL |
Part of PRIMARY KEY (id, stackDepth).
Maps to OSRT_API.callchainId. |
stackDepth |
INT NOT NULL |
Zero-base index of given function in call stack. |
symbol |
INT NOT NULL |
StringId of function name. |
module |
INT NOT NULL |
StringId of module name. |
OSRT event class values
- 27 - TRACE_PROCESS_EVENT_OS_RUNTIME
- 31 - TRACE_PROCESS_EVENT_OS_RUNTIME_START
- 32 - TRACE_PROCESS_EVENT_OS_RUNTIME_FINISH
Profiler Overhead
Table name |
PROFILER_OVERHEAD |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT NOT NULL |
Serialized GlobalId. |
nameId |
INT NOT NULL |
StringId of function name. |
returnValue |
INT NOT NULL |
Return value of function call. |
Sched events
Thread scheduling events, refer to Thread Summary for an example.
Table name |
SCHED_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
cpu |
INT NOT NULL |
ID of CPU this thread was scheduled in or out. |
isSchedIn |
INT NOT NULL |
0 if thread was scheduled out, non-zero - otherwise. |
globalTid |
INT NOT NULL |
Serialized GlobalId. |
Composite events
Thread sampling events, refer to Thread Summary for an example.
Table name |
COMPOSITE_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
cpu |
INT NOT NULL |
ID of CPU this thread was running on. |
threadState |
INT NOT NULL |
Thread state at the moment of sampling. |
globalTid |
INT NOT NULL |
Serialized GlobalId. |
cpuCycles |
INT NOT NULL |
The value of Performance Monitoring Unit (PMU) counter. |
Sampling callchains
Callchain entries obtained from composite events, used to construct function table views.
Refer to Function table for an example.
Table name |
SAMPLING_CALLCHAINS |
Column Name |
Column Type |
Column Description |
id |
id INT NOT NULL
REFERENCES
COMPOSITE_EVENTS |
Foreign key on COMPOSITE_EVENTS.id. Used to select
call stack entries for a given composite event. |
stackDepth |
INT NOT NULL |
Zero-base index of given function in call stack. |
symbol |
INT NOT NULL |
StringId of function name. |
module |
INT NOT NULL |
StringId of module name. |
DX12 events
Table name |
DX12_API, DX12_WORKLOAD |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
DX12 event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
First ID in range of correlation values matching an
API call to GPU workloads. |
endCorrelationId |
INT |
Last ID in range of correlation values matching an
API call to GPU workloads. |
nameId |
INT NOT NULL |
StringId of function name. |
shortContextId |
INT |
Short form of COM interface object address, either
D3D12CommandQueue or D3D12GraphicsCommandList. |
longContextId |
INT |
Long form of COM interface object address, either
D3D12CommandQueue or D3D12GraphicsCommandList. |
frameId |
INT |
Index of graphics frame. Frame 1 is the first frame
in the trace session. |
color |
INT |
Color assigned by the user code to a PIX performance
marker. |
textId |
INT |
StringId of text string assigned
by the user code to a PIX performance marker. |
commandListType |
INT |
See D3D12CommandList documentation for type
enumeration. |
objectName |
INT |
StringId of a name assigned by the
user code to a D3D12 object. |
DX12 event class values
- 41 - TRACE_PROCESS_EVENT_DX12_API
- 42 - TRACE_PROCESS_EVENT_DX12_WORKLOAD
- 43 - TRACE_PROCESS_EVENT_DX12_START
- 44 - TRACE_PROCESS_EVENT_DX12_FINISH
- 52 - TRACE_PROCESS_EVENT_DX12_DISPLAY
- 59 - TRACE_PROCESS_EVENT_DX12_CREATE_OBJECT
PIX marker ranges
Table name |
PIX_DEBUG_API |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
PIX event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
First ID in range of correlation values matching an
API call to GPU workloads. |
endCorrelationId |
INT |
Last ID in range of correlation values matching an
API call to GPU workloads. |
nameId |
INT NOT NULL |
StringId of function name. |
shortContextId |
INT |
Short form of COM interface object address, either
D3D12CommandQueue or D3D12GraphicsCommandList. |
longContextId |
INT |
Long form of COM interface object address, either
D3D12CommandQueue or D3D12GraphicsCommandList. |
frameId |
INT |
Index of graphics frame. Frame 1 is the first frame
in the trace session. |
color |
INT |
Color assigned by the user code to a PIX performance
marker. |
textId |
INT |
StringId of text string assigned
by the user code to a PIX performance marker. |
commandListType |
INT |
See D3D12CommandList documentation for type
enumeration. |
objectName |
INT |
StringId of a name assigned by the
user code to a D3D12 object. |
PIX event class values
- 65 - TRACE_PROCESS_EVENT_DX12_DEBUG_API
- 75 - TRACE_PROCESS_EVENT_DX11_DEBUG_API
Vulkan events
Table name |
VULKAN_API |
Column Name |
Column Type |
Column Description |
id |
INT NOT NULL
PRIMARY KEY |
An event ID used to query related records in
VULKAN_PIPELINE_CREATION_EVENTS. |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
Vulkan event class enum value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
First ID in range of correlation values matching an
API call to GPU workloads. |
endCorrelationId |
INT |
Last ID in range of correlation values matching an
API call to GPU workloads. |
nameId |
INT NOT NULL |
StringId of function name. |
contextId |
INT |
Short form of interface object
address, either VkDevice, VkInstance, VkQueue,
VkDeviceMemory, VkEvent or VkCommandBuffer. |
Table name |
VULKAN_PIPELINE_CREATION_EVENTS |
Column Name |
Column Type |
Column Description |
id |
INT NOT NULL
PRIMARY KEY |
An ID used to query related records in
VULKAN_PIPELINE_STAGE_EVENTS. |
duration |
INT |
Event duration in nanoseconds. |
flags |
INT |
Vulkan flags value. |
traceEventId |
INT REFERENCES
VULKAN_API |
Foreign key on VULKAN_API.id. |
Table name |
VULKAN_PIPELINE_STAGE_EVENTS |
Column Name |
Column Type |
Column Description |
duration |
INT |
Event duration in nanoseconds. |
flags |
INT |
Vulkan flags value. |
creationEventId |
INT REFERENCES
VULKAN_PIPELINE_CREATION_EVENTS |
Foreign key on VULKAN_PIPELINE_CREATION_EVENTS.id. |
Table name |
VULKAN_WORKLOAD |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
Vulkan event class enum value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
First ID in range of correlation values matching an
API call to GPU workloads. |
endCorrelationId |
INT |
Last ID in range of correlation values matching an
API call to GPU workloads. |
nameId |
INT NOT NULL |
StringId of function name. |
contextId |
INT |
Short form of interface object
address, either VkDevice, VkInstance, VkQueue,
VkDeviceMemory, VkEvent or VkCommandBuffer. |
gpu |
INT |
Index of the GPU where the workload is executing. |
Table name |
VULKAN_DEBUG_API |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
Vulkan event class enum value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
First ID in range of correlation values matching an
API call to GPU workloads. |
endCorrelationId |
INT |
Last ID in range of correlation values matching an
API call to GPU workloads. |
nameId |
INT NOT NULL |
StringId of function name. |
contextId |
INT |
Short form of interface object
address, either VkDevice, VkInstance, VkQueue,
VkDeviceMemory, VkEvent or VkCommandBuffer. |
color |
INT |
Encoded ARGB color value. |
textId |
INT |
StringId of VULKAN CPU debug marker
text string. |
Vulkan event class values
- 53 - TRACE_PROCESS_EVENT_VULKAN_API
- 54 - TRACE_PROCESS_EVENT_VULKAN_WORKLOAD
- 55 - TRACE_PROCESS_EVENT_VULKAN_START
- 56 - TRACE_PROCESS_EVENT_VULKAN_FINISH
- 60 - TRACE_PROCESS_EVENT_VULKAN_CREATE_OBJECT
- 66 - TRACE_PROCESS_EVENT_VULKAN_DEBUG_API
Vulkan flags
- VALID_BIT = 0x00000001
- CACHE_HIT_BIT = 0x00000002
- BASE_PIPELINE_ACCELERATION_BIT = 0x00000004
GPU context switch events
Table name |
FECS_EVENTS |
Column Name |
Column Type |
Column Description |
tag |
INT NOT NULL |
Context switch event type. Supported values are:
|
vmId |
INT NOT NULL |
Serialized GlobalId. |
seqNo |
INT NOT NULL |
Sequential event number used to detect buffer
overflow and loss of events. |
contextId |
INT NOT NULL |
Internal ID of the graphics context. |
timestamp |
INT NOT NULL |
Event start timestamp in nanoseconds. |
globalPid |
INT |
Serialized GlobalId. |
gpuId |
INT |
Serialized GlobalId. |
SLI events
Table name |
SLI_QUERIES |
|
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
SLI event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
frameId |
INT |
Index of graphics frame. Frame 1 is the first
frame in the trace session. |
occQueryIssued |
INT |
Occlusion query issued. |
occQueryAsked |
INT |
Occlusion query asked. |
eventQueryIssued |
INT |
Event query issued. |
eventQueryAsked |
INT |
Event query asked. |
numberOfTransferEvents |
INT |
Number of transfer events. |
amountOfTransferredData |
INT |
Cumulative size of resource data that was
transferred. |
Table name |
SLI_P2P |
|
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
SLI event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
frameId |
INT |
Index of graphics frame. Frame 1 is the first
frame in the trace session. |
transferSkipped |
INT NOT NULL |
Number of transfers that were skipped. |
srcGpu |
INT NOT NULL |
Source GPU ID. |
dstGpu |
INT NOT NULL |
Destination GPU ID. |
numSubresources |
INT NOT NULL |
Number of sub resources to transfer. |
resourceSize |
INT NOT NULL |
Size of resource. |
subresourceIdx |
INT NOT NULL |
Sub resource index. |
smplWidth |
INT |
The sub-resource surface width in samples. |
smplHeight |
INT |
The sub-resource surface height in samples. |
smplDepth |
INT |
The sub-resource surface depth in samples. |
bytesPerElement |
INT |
Number of bytes per element. |
dxgiFormat |
INT |
Resource data format. See DXGI_FORMAT
enumeration. |
logSurfaceNames |
TEXT |
Surface name. |
transferInfo |
INT |
SLI transfer info
enum value. |
isEarlyPushManagedByNVAPI |
INT |
Is early push managed by NVAPI. 0 = False,
1 = True. |
useAsyncP2PForResolve |
INT |
Use async Peer-to-Peer for resolve. 0 = False,
1 = True. |
transferFuncName |
TEXT |
“A - BE” for asynchronous transfer,
“S - BE” for synchronous transfer. |
regimeName |
TEXT |
Name of the regime scope that includes the
resource.
The name is assigned in the application code. |
debugName |
TEXT |
Debug name assigned to the resource by the
application code. |
bindType |
TEXT |
Bind type. |
Table name |
SLI_STATS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
SLI event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
countComplexFrames |
INT NOT NULL |
Complex frames count. |
countStats |
INT NOT NULL |
Number of frame statistics collected so far for the
inactive-time histogram. |
totalInactiveTime |
INT NOT NULL |
Total inactive time. Units = microseconds. |
minPBSize |
INT NOT NULL |
Min push buffer size. |
maxPBSize |
INT NOT NULL |
Max push buffer size. |
totalPBSize |
INT NOT NULL |
Total push buffer size. |
SLI event class values
- 62 - TRACE_PROCESS_EVENT_SLI
- 63 - TRACE_PROCESS_EVENT_SLI_START
- 64 - TRACE_PROCESS_EVENT_SLI_FINISH
SLI transfer info values
- 0 - P2P_SKIPPED
- 1 - P2P_EARLY_PUSH
- 2 - P2P_PUSH_FAILED
- 3 - P2P_2WAY_OR_PULL
- 4 - P2P_PRESENT
- 5 - P2P_DX12_INIT_PUSH_ON_WRITE
Event Tracing for Windows (ETW)
Table name |
ETW_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
providerName |
INT |
StringId of tracing events
provider name. |
taskName |
INT |
StringId of event task name. |
description |
INT |
StringId of decoded event value. |
Analysis summary
Table name |
ANALYSIS_DETAILS |
Column Name |
Column Type |
Column Description |
globalVid |
INT NOT NULL |
Serialized GlobalId. |
duration |
INT NOT NULL |
The total time span of the entire trace in
nanoseconds. |
startTime |
INT NOT NULL |
Trace start timestamp in nanoseconds. |
stopTime |
INT NOT NULL |
Trace stop timestamp in nanoseconds. |
Processes
Table name |
PROCESSES |
Column Name |
Column Type |
Column Description |
globalPid |
INT |
Serialized GlobalId. |
pid |
INT |
The process ID. |
name |
TEXT |
The process name. |
WDDM events
Table name |
WDDM_EVICT_ALLOCATION_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
allocationHandle |
INT |
Global allocation handle. |
Table name |
WDDM_PAGING_QUEUE_PACKET_START_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
dxgDevice |
INT |
The address of an IDXGIDevice. |
dxgAdapter |
INT |
The address of an IDXGIAdapter. |
pagingQueue |
INT |
The address of a paging queue. |
pagingQueuePacket |
INT |
The address of a paging queue packet. |
sequenceId |
INT |
Internal sequence starting from 0. |
alloc |
INT |
Allocation handle. |
vidMmOpType |
INT |
VIDMM operation type enum
value. |
pagingQueueType |
INT |
Paging queue type enum
value. |
Table name |
WDDM_PAGING_QUEUE_PACKET_STOP_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
pagingQueue |
INT |
The address of a paging queue. |
pagingQueuePacket |
INT |
The address of a paging queue packet. |
sequenceId |
INT |
Internal sequence starting from 0. |
Table name |
WDDM_PAGING_QUEUE_PACKET_INFO_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
pagingQueue |
INT |
The address of a paging queue. |
pagingQueuePacket |
INT |
The address of a paging queue packet. |
sequenceId |
INT |
Internal sequence starting from 0. |
Table name |
WDDM_DMA_PACKET_START_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
context |
INT |
The context ID of WDDM queue. |
queuePacketContext |
INT |
The queue packet context. |
submissionId |
INT |
The queue packet submission ID. |
dmaBuffer |
INT |
The reported address of dma buffer. |
packetType |
INT |
Packet type enum value. |
ulQueueSubmitSequence |
INT |
Internal sequence starting from 1. |
quantumStatus |
INT |
The quantum Status. |
engineType |
INT |
Engine type enum value. |
Table name |
WDDM_DMA_PACKET_STOP_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
context |
INT |
The context ID of WDDM queue. |
completionId |
INT |
The queue packet completion ID. |
packetType |
INT |
Packet type enum value. |
ulQueueSubmitSequence |
INT |
Internal sequence starting from 1. |
preempted |
INT |
True or False if the packet is preempted. |
engineType |
INT |
Engine type enum value. |
Table name |
WDDM_DMA_PACKET_INFO_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
context |
INT |
The context ID of WDDM queue. |
completionId |
INT |
The queue packet completion ID. |
faultedVirtualAddress |
INT |
The virtual address of faulted process. |
faultedProcessHandle |
INT |
The address of faulted process. |
packetType |
INT |
Packet type enum value. |
ulQueueSubmitSequence |
INT |
Internal sequence starting from 1. |
interruptType |
INT |
Dma interrupt type enum
value. |
quantumStatus |
INT |
The quantum Status. |
pageFaultFlags |
INT |
The page fault flag ID. |
engineType |
INT |
Engine type enum value. |
Table name |
WDDM_QUEUE_PACKET_START_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
context |
INT |
The context ID of WDDM queue. |
dmaBufferSize |
INT |
The dma buffer size. |
dmaBuffer |
INT |
The reported address of dma buffer. |
queuePacket |
INT |
The address of queue packet. |
progressFenceValue |
INT |
The fence value. |
packetType |
INT |
Packet type enum value. |
submitSequence |
INT |
Internal sequence starting from 1. |
allocationListSize |
INT |
The number of allocations referenced. |
patchLocationListSize |
INT |
The number of patch locations. |
present |
INT |
True or False if the packet is a present packet. |
engineType |
INT |
Engine type enum value. |
syncObject |
INT |
The address of fence object. |
Table name |
WDDM_QUEUE_PACKET_STOP_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
context |
INT |
The context ID of WDDM queue. |
queuePacket |
INT |
The address of queue packet. |
packetType |
INT |
Packet type enum value. |
submitSequence |
INT |
Internal sequence starting from 1. |
preempted |
INT |
True or False if the packet is preempted. |
timeouted |
INT |
True or False if the packet is timeouted. |
engineType |
INT |
Engine type enum value. |
Table name |
WDDM_QUEUE_PACKET_INFO_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
context |
INT |
The context ID of WDDM queue. |
packetType |
INT |
Packet type enum value. |
submitSequence |
INT |
Internal sequence starting from 1. |
engineType |
INT |
Engine type enum value. |
Table name |
WDDM_HW_QUEUE_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
context |
INT |
The context ID of WDDM queue. |
hwQueue |
INT |
The address of HW queue. |
parentDxgHwQueue |
INT |
The address of parent Dxg HW queue. |
Table name |
WDDM_QUEUES_UTILIZATION |
Column Name |
Column Type |
Column Description |
friendlyName |
TEXT |
The queue-friendly name. |
pid |
INT |
The process ID. |
context |
INT |
The context ID of WDDM queue. |
engineType |
INT |
Engine type enum value. |
nodeOrdinal |
INT |
The id of a node ordinal queue. |
queueType |
INT |
Queue type enum value. |
utilization |
REAL |
The percentage of queue utilization. |
VIDMM operation type values
- 0 - None
- 101 - RestoreSegments
- 102 - PurgeSegments
- 103 - CleanupPrimary
- 104 - AllocatePagingBufferResources
- 105 - FreePagingBufferResources
- 106 - ReportVidMmState
- 107 - RunApertureCoherencyTest
- 108 - RunUnmapToDummyPageTest
- 109 - DeferredCommand
- 110 - SuspendMemorySegmentAccess
- 111 - ResumeMemorySegmentAccess
- 112 - EvictAndFlush
- 113 - CommitVirtualAddressRange
- 114 - UncommitVirtualAddressRange
- 115 - DestroyVirtualAddressAllocator
- 116 - PageInDevice
- 117 - MapContextAllocation
- 118 - InitPagingProcessVaSpace
- 200 - CloseAllocation
- 202 - ComplexLock
- 203 - PinAllocation
- 204 - FlushPendingGpuAccess
- 205 - UnpinAllocation
- 206 - MakeResident
- 207 - Evict
- 208 - LockInAperture
- 209 - InitContextAllocation
- 210 - ReclaimAllocation
- 211 - DiscardAllocation
- 212 - SetAllocationPriority
- 1000 - EvictSystemMemoryOfferList
Paging queue type values
- 0 - VIDMM_PAGING_QUEUE_TYPE_UMD
- 1 - VIDMM_PAGING_QUEUE_TYPE_Default
- 2 - VIDMM_PAGING_QUEUE_TYPE_Evict
- 3 - VIDMM_PAGING_QUEUE_TYPE_Reclaim
Packet type values
- 0 - DXGKETW_RENDER_COMMAND_BUFFER
- 1 - DXGKETW_DEFERRED_COMMAND_BUFFER
- 2 - DXGKETW_SYSTEM_COMMAND_BUFFER
- 3 - DXGKETW_MMIOFLIP_COMMAND_BUFFER
- 4 - DXGKETW_WAIT_COMMAND_BUFFER
- 5 - DXGKETW_SIGNAL_COMMAND_BUFFER
- 6 - DXGKETW_DEVICE_COMMAND_BUFFER
- 7 - DXGKETW_SOFTWARE_COMMAND_BUFFER
Engine type values
- 0 - DXGK_ENGINE_TYPE_OTHER
- 1 - DXGK_ENGINE_TYPE_3D
- 2 - DXGK_ENGINE_TYPE_VIDEO_DECODE
- 3 - DXGK_ENGINE_TYPE_VIDEO_ENCODE
- 4 - DXGK_ENGINE_TYPE_VIDEO_PROCESSING
- 5 - DXGK_ENGINE_TYPE_SCENE_ASSEMBLY
- 6 - DXGK_ENGINE_TYPE_COPY
- 7 - DXGK_ENGINE_TYPE_OVERLAY
- 8 - DXGK_ENGINE_TYPE_CRYPTO
DMA interrupt type values
- 1 = DXGK_INTERRUPT_DMA_COMPLETED
- 2 = DXGK_INTERRUPT_DMA_PREEMPTED
- 4 = DXGK_INTERRUPT_DMA_FAULTED
- 9 = DXGK_INTERRUPT_DMA_PAGE_FAULTED
Queue type values
- 0 = Queue_Packet
- 1 = Dma_Packet
- 2 = Paging_Queue_Packet
Gpu Memory Events
Table name |
GPU_MEMORY_BUDGET_EVENTS |
Column Name |
Column Type |
Column Description |
timestamp |
INT PRIMARY KEY |
Event timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
newBudget |
INT |
The new budget size in bytes. |
segmentGroup |
INT |
The segment group ID. |
Table name |
GPU_MEMORY_USAGE_EVENTS |
Column Name |
Column Type |
Column Description |
timestamp |
INT PRIMARY KEY |
Event timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
newUsage |
INT |
The new usage size in bytes. |
segmentGroup |
INT |
The segment group ID. |
Table name |
DEMOTED_BYTES_EVENTS |
Column Name |
Column Type |
Column Description |
timestamp |
INT PRIMARY KEY |
Event timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
commitment |
INT |
Total demoted bytes. |
Table name |
TOTAL_BYTES_RESIDENT_IN_SEGMENT_EVENTS |
Column Name |
Column Type |
Column Description |
timestamp |
INT PRIMARY KEY |
Event timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
totalBytesResident |
INT |
Total bytes resident in segment. |
segmentGroup |
INT |
The segment group ID. |
segmentId |
INT |
The segment ID. |
NV Driver Events
Table name |
NV_LOAD_BALANCE_MASTER_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
eventId |
INT |
Load balance event type enum value. |
provider |
TEXT |
The provider name. |
task |
TEXT |
The task name. |
frameCount |
INT |
The frame ID. |
frameTime |
REAL |
Frame duration. |
averageFrameTime |
REAL |
Average of frame duration. |
averageLatency |
REAL |
Average of latency. |
minLatency |
REAL |
The minimum latency. |
averageQueuedFrames |
REAL |
Average number of queued frames. |
totalActiveMs |
REAL |
Total active time in milliseconds. |
totalIdleMs |
REAL |
Total idle time in milliseconds. |
idlePercent |
REAL |
The percentage of idle time. |
isGPUAlmostOneFrameAhead |
INT |
True or False if GPU is almost one frame ahead. |
Table name |
NV_LOAD_BALANCE_EVENTS |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
globalTid |
INT |
Serialized GlobalId. |
gpu |
INT |
GPU index. |
eventId |
INT |
Load balance event type enum value. |
provider |
TEXT |
The provider name. |
task |
TEXT |
The task name. |
averageFPS |
REAL |
Average frame per second. |
queuedFrames |
REAL |
The amount of queued frames. |
averageQueuedFrames |
REAL |
Average number of queued frames. |
currentCPUTime |
REAL |
The current CPU time. |
averageCPUTime |
REAL |
Average CPU time. |
averageStallTime |
REAL |
Average of stall time. |
averageCPUIdleTime |
REAL |
Average CPU idle time. |
isGPUAlmostOneFrameAhead |
INT |
True or False if GPU is almost one frame ahead. |
Load balance event type values
- 1 - LoadBalanceEvent_GPU
- 8 - LoadBalanceEvent_CPU
- 21 - LoadBalanceMasterEvent_GPU
- 22 - LoadBalanceMasterEvent_CPU
OpenMP Events
Parallel Event
Table name |
OPENMP_EVENT_KIND_PARALLEL |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
OpenMP event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
Currently unused |
nameId |
INT NOT NULL |
StringId of event name |
eventKind |
INT |
OpenMP event kind enum
value. |
parallelId |
INT |
Internal parallel region sequence starting from 1. |
parentTaskId |
INT |
ID for task that creates this parallel region. |
SyncRegion/SyncRegionWait Event
Task Event
Table name |
OPENMP_EVENT_KIND_TASK |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
OpenMP event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
Use this value to find events in
OPENMP_EVENT_KIND_TASK table that are different
parts (generated due to task switching) of the same
task. |
nameId |
INT NOT NULL |
StringId of event name |
eventKind |
INT |
OpenMP event kind enum
value. |
parallelId |
INT |
ID of parallel region that this task belongs to. |
taskId |
INT |
Internal task sequence starting from 1. |
kind |
INT |
OpenMP task kind
enum value. |
Master Event
Table name |
OPENMP_EVENT_KIND_MASTER |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
OpenMP event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
Currently unused |
nameId |
INT NOT NULL |
StringId of event name |
eventKind |
INT |
OpenMP event kind enum
value. |
parallelId |
INT |
ID of parallel region that this region belongs to. |
taskId |
INT |
ID of task that this region belongs to. |
Reduction Event
Table name |
OPENMP_EVENT_KIND_REDUCTION |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
OpenMP event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
Currently unused |
nameId |
INT NOT NULL |
StringId of event name |
eventKind |
INT |
OpenMP event kind enum
value. |
parallelId |
INT |
ID of parallel region that this region belongs to. |
taskId |
INT |
ID of task that this region belongs to. |
Task Create Event
Table name |
OPENMP_EVENT_KIND_TASK_CREATE |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
OpenMP event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
Use this value to find events in
OPENMP_EVENT_KIND_TASK table that are created by
this event. |
nameId |
INT NOT NULL |
StringId of event name |
eventKind |
INT |
OpenMP event kind enum
value. |
parentTaskId |
INT |
ID of parent task that is creating a new task. |
newTaskId |
INT |
ID of new task that is being created. |
Task Schedule Event
Table name |
OPENMP_EVENT_KIND_TASK_SCHEDULE |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
OpenMP event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
Currently unused |
nameId |
INT NOT NULL |
StringId of event name |
eventKind |
INT |
OpenMP event kind enum
value. |
parallelId |
INT |
ID of parallel region that this event belongs to. |
priorTaskId |
INT |
ID of task that is being switched out. |
priorTaskStatus |
INT |
OpenMP prior task status
enum value. |
nextTaskId |
INT |
ID of task that is being switched in. |
Cancel Event
Table name |
OPENMP_EVENT_KIND_CANCEL |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
OpenMP event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
Currently unused |
nameId |
INT NOT NULL |
StringId of event name |
eventKind |
INT |
OpenMP event kind enum
value. |
taskId |
INT |
ID of task that is being cancelled. |
Mutex Wait Event
Table name |
OPENMP_EVENT_KIND_MUTEX_WAIT |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
OpenMP event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
Currently unused |
nameId |
INT NOT NULL |
StringId of event name |
eventKind |
INT |
OpenMP event kind enum
value. |
kind |
INT |
OpenMP mutex kind enum
value. |
waitId |
INT |
ID indicating object being waited. |
taskId |
INT |
ID of task that this event belongs to. |
Critical Section Event
Table name |
OPENMP_EVENT_KIND_CRITICAL_SECTION |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
OpenMP event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
Currently unused |
nameId |
INT NOT NULL |
StringId of event name |
eventKind |
INT |
OpenMP event kind enum
value. |
kind |
INT |
OpenMP critical section kind
enum value. |
waitId |
INT |
ID indicating object being held. |
Mutex Released Event
Table name |
OPENMP_EVENT_KIND_MUTEX_RELEASED |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
OpenMP event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
Currently unused |
nameId |
INT NOT NULL |
StringId of event name |
eventKind |
INT |
OpenMP event kind enum
value. |
kind |
INT |
OpenMP mutex kind enum
value. |
waitId |
INT |
ID indicating object being released. |
taskId |
INT |
ID of task that this event belongs to. |
Lock Init / Lock Destroy Event
Table name |
OPENMP_EVENT_KIND_LOCK_INIT / OPENMP_EVENT_KIND_LOCK_DESTROY |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
OpenMP event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
Currently unused |
nameId |
INT NOT NULL |
StringId of event name |
eventKind |
INT |
OpenMP event kind enum
value. |
kind |
INT |
OpenMP mutex kind enum
value. |
waitId |
INT |
ID indicating object being created / destroyed. |
Flush Event
Table name |
OPENMP_EVENT_KIND_FLUSH |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
eventClass |
INT NOT NULL |
OpenMP event class enum
value. |
globalTid |
INT |
Serialized GlobalId. |
correlationId |
INT |
Currently unused |
nameId |
INT NOT NULL |
StringId of event name |
eventKind |
INT |
OpenMP event kind enum
value. |
threadId |
INT |
ID of thread that this event belongs to. Note this is
the internal thread sequence rather than the OS thread
ID. |
OpenMP event class values
- 78 - TRACE_PROCESS_EVENT_OPENMP
- 79 - TRACE_PROCESS_EVENT_OPENMP_START
- 80 - TRACE_PROCESS_EVENT_OPENMP_FINISH
OpenMP event kind values
- 15 - OPENMP_EVENT_KIND_TASK_CREATE
- 16 - OPENMP_EVENT_KIND_TASK_SCHEDULE
- 17 - OPENMP_EVENT_KIND_CANCEL
- 20 - OPENMP_EVENT_KIND_MUTEX_RELEASED
- 21 - OPENMP_EVENT_KIND_LOCK_INIT
- 22 - OPENMP_EVENT_KIND_LOCK_DESTROY
- 25 - OPENMP_EVENT_KIND_DISPATCH
- 26 - OPENMP_EVENT_KIND_FLUSH
- 27 - OPENMP_EVENT_KIND_THREAD
- 28 - OPENMP_EVENT_KIND_PARALLEL
- 29 - OPENMP_EVENT_KIND_SYNC_REGION_WAIT
- 30 - OPENMP_EVENT_KIND_SYNC_REGION
- 31 - OPENMP_EVENT_KIND_TASK
- 32 - OPENMP_EVENT_KIND_MASTER
- 33 - OPENMP_EVENT_KIND_REDUCTION
- 34 - OPENMP_EVENT_KIND_MUTEX_WAIT
- 35 - OPENMP_EVENT_KIND_CRITICAL_SECTION
- 36 - OPENMP_EVENT_KIND_WORKSHARE
OpenMP thread type values
- 1 - OpenMP Initial Thread
- 2 - OpenMP Worker Thread
- 3 - OpenMP Internal Thread
- 4 - Unknown
OpenMP sync region kind values
- 1 - Barrier
- 2 - Implicit barrier
- 3 - Explicit barrier
- 4 - Implementation-dependent barrier
- 5 - Taskwait
- 6 - Taskgroup
OpenMP task kind values
- 1 - Initial task
- 2 - Implicit task
- 3 - Explicit task
OpenMP prior task status values
- 1 - Task completed
- 2 - Task yielded to another task
- 3 - Task was cancelled
- 7 - Task was switched out for other reasons
OpenMP mutex kind values
- 1 - Waiting for lock
- 2 - Testing lock
- 3 - Waiting for nested lock
- 4 - Tesing nested lock
- 5 - Waitng for entering critical section region
- 6 - Waiting for entering atomic region
- 7 - Waiting for entering ordered region
OpenMP critical section kind values
- 5 - Critical section region
- 6 - Atomic region
- 7 - Ordered region
OpenMP workshare kind values
- 1 - Loop region
- 2 - Sections region
- 3 - Single region (executor)
- 4 - Single region (waiting)
- 5 - Workshare region
- 6 - Distrubute region
- 7 - Taskloop region
OpenMP dispatch kind values
- 1 - Iteration
- 2 - Section
OpenACC
Data event
Table name |
CUPTI_ACTIVITY_KIND_OPENACC_DATA |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
nameId |
INT NOT NULL |
StringId of the event name. |
globalTid |
INT |
Serialized GlobalId. |
eventKind |
INT NOT NULL |
CUPTI OpenACC event kind. See enum CUpti_OpenAccEventKind. |
DeviceType |
INT NOT NULL |
Device type. See enum acc_device_t. |
lineNo |
INT NOT NULL |
Line number of the directive or program construct. |
cuDeviceId |
INT NOT NULL |
CUDA device ID. Valid only if deviceType is acc_device_nvidia. |
cuContextId |
INT NOT NULL |
CUDA context ID. Valid only if deviceType is acc_device_nvidia. |
cuStreamId |
INT NOT NULL |
CUDA stream ID. Valid only if deviceType is acc_device_nvidia. |
srcFile |
INT |
StringId of the source file name or path. |
funcName |
INT |
StringId of the name of the function in which the event occurred. |
bytes |
INT NOT NULL |
Number of bytes. |
varName |
INT |
StringId of the variable name. |
Launch event
Table name |
CUPTI_ACTIVITY_KIND_OPENACC_LAUNCH |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
nameId |
INT NOT NULL |
StringId of the event name. |
globalTid |
INT |
Serialized GlobalId. |
eventKind |
INT NOT NULL |
CUPTI OpenACC event kind. See enum CUpti_OpenAccEventKind. |
DeviceType |
INT NOT NULL |
Device type. See enum acc_device_t. |
lineNo |
INT NOT NULL |
Line number of the directive or program construct. |
cuDeviceId |
INT NOT NULL |
CUDA device ID. Valid only if deviceType is acc_device_nvidia. |
cuContextId |
INT NOT NULL |
CUDA context ID. Valid only if deviceType is acc_device_nvidia. |
cuStreamId |
INT NOT NULL |
CUDA stream ID. Valid only if deviceType is acc_device_nvidia. |
srcFile |
INT |
StringId of the source file name or path. |
funcName |
INT |
StringId of the name of the function in which the event occurred. |
numGangs |
INT NOT NULL |
Number of gangs created for this kernel launch. |
numWorkers |
INT NOT NULL |
Number of workers created for this kernel launch. |
vectorLength |
INT NOT NULL |
Number of vector lanes created for this kernel launch. |
kernelName |
INT |
StringId of the kernel name. |
Other event
Table name |
CUPTI_ACTIVITY_KIND_OPENACC_DATA |
Column Name |
Column Type |
Column Description |
start |
INT NOT NULL |
Event start timestamp in nanoseconds. |
end |
INT NOT NULL |
Event end timestamp in nanoseconds. |
nameId |
INT NOT NULL |
StringId of the event name. |
globalTid |
INT |
Serialized GlobalId. |
eventKind |
INT NOT NULL |
CUPTI OpenACC event kind. See enum CUpti_OpenAccEventKind. |
DeviceType |
INT NOT NULL |
Device type. See enum acc_device_t. |
lineNo |
INT NOT NULL |
Line number of the directive or program construct. |
cuDeviceId |
INT NOT NULL |
CUDA device ID. Valid only if deviceType is acc_device_nvidia. |
cuContextId |
INT NOT NULL |
CUDA context ID. Valid only if deviceType is acc_device_nvidia. |
cuStreamId |
INT NOT NULL |
CUDA stream ID. Valid only if deviceType is acc_device_nvidia. |
srcFile |
INT |
StringId of the source file name or path. |
funcName |
INT |
StringId of the name of the function in which the event occurred. |
Generic events
NVIDIA Nsight Systems is capable of collecting events for which the schema is
known only at the run-time. Such events are referred to as generic and are
exported distinctly from other event types. For every generic event there’s
corresponding type schema and for every generic event type there’s source
parameters description.
Due to how Nsight Systems handles generic event field values, their
representation in encoded JSON data will always be of string type.
If necessary, SQLite CAST function can be used to convert them.
Table name |
GENERIC_EVENTS |
Column Name |
Column Type |
Column Description |
rawTimestamp |
INT |
Raw event timestamp recorded during profiling. |
timestamp |
INT |
Event timestamp converted to the profiling session
timeline. |
typeId |
INT REFERENCES
GENERIC_EVENT_TYPES |
Serialized GlobalId. |
data |
TEXT |
JSON encoded event data. |
Table name |
GENERIC_EVENT_TYPES |
Column Name |
Column Type |
Column Description |
typeId |
INT PRIMARY KEY |
Serialized GlobalId. |
sourceId |
INT REFERENCES
GENERIC_EVENT_SOURCES |
Serialized GlobalId. |
data |
TEXT |
JSON encoded generic event type description. |
Table name |
GENERIC_EVENT_SOURCES |
Column Name |
Column Type |
Column Description |
sourceId |
INT PRIMARY KEY |
Serialized GlobalId. |
data |
TEXT |
JSON encoded generic event source description. |
Secondary tables
String Ids
NVIDIA Nsight Systems stores strings from events in a global storage, each
unique string has a corresponding integer ID. The StringIds table is
created from that storage.
Table name |
StringIds |
Column Name |
Column Type |
Column Description |
id |
INTEGER PRIMARY KEY |
Integer key of a string. |
value |
TEXT NOT NULL |
Text content of a string. |
Thread Names
Table name |
ThreadNames |
Column Name |
Column Type |
Column Description |
nameId |
INT NOT NULL |
StringId of thread name. |
globalTid |
INT NOT NULL |
Serialized GlobalId. |
Process streams
Table name |
ProcessStreams |
Column Name |
Column Type |
Column Description |
globalPid |
INT NOT NULL |
Serialized GlobalId. |
filenameId |
INT NOT NULL |
StringId of a file name. |
contentId |
INT NOT NULL |
StringId of stream content. |
Enums
Protobuf enumeration types are exported as tables. Here’s an example structure
for UnwindMethodType enumeration:
Table name |
UnwindMethodType |
Column Name |
Column Type |
Column Description |
number |
INTEGER PRIMARY KEY |
Integer value of an enum constant. |
name |
TEXT NOT NULL |
Text name of an enum constant. |