npx skills add ...
npx skills add nvidia/omniperf --skill install-profilers
Install profiling tools for Isaac Sim / Isaac Lab / Kit-based applications. Covers Nsight Systems (`nsys` CLI), `sqlite3`, Tracy `csvexport`, canonical Tracy `capture`/`capture-release`, and `update` for memory strip tests, with optional `tracy-capture`/`tracy-update` aliases. Use when setting up a profiling environment, when nsys/sqlite3/csvexport/capture/update tools are missing, or before running profiling, nsys-analyze, or tracy-memory.
npx skills add nvidia/omniperf --skill install-profilers
Install only what's missing.
The nsys CLI captures GPU/CPU traces and exports .nsys-rep → SQLite.
The profiling guide recommends the latest standalone Nsight Systems package because CUDA Toolkit packages may lag behind.
For non-Debian Linux, use the standalone .run installer from the same download page:
If the CUDA apt repo is already configured (check ls /etc/apt/sources.list.d/*cuda*):
The package installs to /opt/nvidia/nsight-systems/<version>/bin/nsys.
It typically creates a symlink at /usr/local/bin/nsys, but if not:
For other distros, replace ubuntu2204/x86_64 with your platform.
See: https://developer.nvidia.com/cuda-downloads (select "deb (network)").
nsys needs sampling access. Check and fix:
Container note:
perf_event_paranoidmay be read-only in containers.nsyscan still trace CUDA/NVTX but won't collect CPU IP samples.
Container note:
--gpu-metrics-devicesmay fail withERR_NVGPUCTRPERM("Insufficient privilege"). Drop this flag in containers — NVTX/CUDA tracing still works fine without GPU hardware counters.
nsys export --type=sqlite creates a .sqlite file from .nsys-rep traces.
Use sqlite3 to query NVTX events, CUDA kernels, and GPU metrics.
| Table | Contents |
|---|---|
NVTX_EVENTS | NVTX ranges/markers — use text or join textId→StringIds.id for names |
CUPTI_ACTIVITY_KIND_KERNEL | CUDA kernel launches (empty for Kit/RTX apps — normal) |
CUPTI_ACTIVITY_KIND_MEMCPY | CUDA memcpy operations |
TARGET_INFO_GPU | GPU hardware info |
TARGET_INFO_SYSTEM_ENV | System environment |
StringIds | String lookup table for textId foreign keys |
Gotcha:
NVTX_EVENTShas NOnamecolumn — usetext(inline string) or join ontextId.
csvexport, capture, update)Tracy is used by Kit/Isaac Sim when --/app/profilerBackend=tracy is set.
You need two tools for the standard flow: capture (record traces) and csvexport (export to CSV for analysis). For memory profiling strip tests, also expose Tracy's update tool. tracy-capture and tracy-update are acceptable local aliases, but capture / capture-release / update are the source-guide names.
Building Isaac Sim from source, or another Kit-based app, downloads omni.kit.profiler.tracy, which ships a matching Tracy capture binary. Look under:
exts/omni.kit.profiler.tracy/extscore/omni.kit.profiler.tracy/extscache/omni.kit.profiler.tracy/Using the bundled binary guarantees version compatibility with the Tracy protocol embedded in Kit.
Before building, check Kit's all-deps.packman.xml for the carb_sdk_plugins
version so the capture protocol matches the profiled app:
carb_sdk_plugins version | Tracy version |
|---|---|
< 178 | 0.9.1 legacy protocol |
>= 178 | 0.11.1+nv1 current protocol |
The commands below build Tracy v0.11.1, which matches current Kit builds
using carb_sdk_plugins >= 178. For older Kit builds, check out the matching
legacy Tracy tag instead.
Note: The GUI profiler (
tracy-profiler) requireslibglfw3-dev libdbus-1-dev libfreetype-devand a display. Skip on headless servers —csvexport+sqlite3queries are sufficient for automated analysis.
Not available on Ubuntu 22.04/24.04 from default repos.
For Tracy capture, CSV export usage, shutdown handling, and analysis handoff, use the profiling skill. This skill only installs and verifies the capture/export binaries.
After installation, verify the full toolchain:
These tools are needed for the full profiling workflow:
nsys — capture Nsight Systems tracessqlite3 — query nsys SQLite exportscsvexport — export Tracy .tracy files to CSVcapture / capture-release — record Tracy traces from Kit appsupdate — strip/transform Tracy captures for memory-capture verification