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.
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
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. |
globalTid |
INT NOT NULL |
Serialized GlobalId. |
correlationId |
INT NOT NULL |
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. |
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 NOT NULL |
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 NOT NULL |
Serialized GlobalId. |
demangledName |
INT NOT NULL |
StringId of kernel name. |
shortName |
INT NOT NULL |
StringId of
short (without arguments) function name. |
launchType |
INT NOT NULL |
The indicates if the kernel was executed via a
regular launch or via a single/multi device
cooperative launch. |
cacheConfig |
INT NOT NULL |
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 NOT NULL |
Shared memory size set by the driver. |
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 NOT NULL |
Use this value to find events in
CUPTI_ACTIVITY_KIND_RUNTIME table that triggered
execution of given memory operation. |
globalPid |
INT NOT NULL |
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. |
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 NOT NULL |
Use this value to find events in
CUPTI_ACTIVITY_KIND_RUNTIME table that triggered
execution of given memory operation. |
globalPid |
INT NOT NULL |
Serialized GlobalId. |
copyKind |
INT NOT NULL |
The kind of the memory copy. |
srcKind |
INT NOT NULL |
The source memory kind read by the memory copy. |
bytes |
INT NOT NULL |
The number of bytes transferred by the memory copy. |
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 NOT NULL |
Event end timestamp in nanoseconds. |
eventType |
INT NOT NULL |
EventType enum, possible values:
- 34 - NvtxMark
- 39 - NvtxThread
- 59 - NvtxPushPopRange
- 60 - NvtxStartEndRange
|
rangeId |
INT NOT NULL |
For start/end ranges only - unique id
provided by NVTX library. |
text |
TEXT NOT NULL |
User supplied text message for a given event. |
category |
INT NOT NULL |
User-controlled ID that can be used to group events. |
color |
INT NOT NULL |
Encoded ARGB color value. |
globalTid |
INT NOT NULL |
Serialized GlobalId. |
domainId |
INT NOT NULL |
User-controlled ID that can be used to group events. |
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. |
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. |
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. |
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. |
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. |
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 |
INTEGER PRIMARY KEY |
StringId of thread name. |
globalTid |
INT NOT NULL |
Serialized GlobalId. |
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. |