Skip to main content

CUDA application profiler

Find the evidence behind slow CUDA workloads

GPUFlight collects GPU execution data from CUDA applications and turns it into a browser-based investigation. Follow kernels across streams, inspect memory behavior, connect source to SASS, and keep lightweight traces separate from deeper replay passes.

  • Launcher or SDK collection
  • Isolated profiling passes
  • Shareable browser analysis
GPUFlight CUDA profiler showing merged trace and hardware metric passes for a kernel

Profile without flattening the evidence

Keep timing and deep metrics in their proper context

Detailed GPU counters are valuable, but collecting them can require kernel replay and change the timing characteristics of a run. GPUFlight keeps the low-overhead Trace pass as the timing anchor, then attaches metrics from isolated replay or sampling passes to the matching kernels and source locations.

This separation makes it clear which measurements describe the original execution timeline and which come from a deeper diagnostic pass. The merged session still gives you one investigation surface instead of a directory of unrelated profiler exports.

Collection paths

Profile an existing command or instrument explicit phases

Choose the integration that matches the amount of control you need.

Launcher

Trace a CUDA command without source changes

Run an existing executable, Python program, or training command through the GPUFlight launcher and upload the completed profile.

gpufl trace --upload -- python train.py
SDK

Name the phases that matter to your application

Add scoped instrumentation when you want domain labels such as data loading, forward pass, inference, or postprocessing.

GFL_SCOPE("Forward Pass") {
  model.forward(input);
}

Kernel analysis

Move from a slow launch to the responsible instructions

Start with the ordered kernel list or GPU timeline, then narrow the investigation. Depending on the collected passes, GPUFlight can expose launch configuration, achieved occupancy, cache and memory behavior, SASS instructions, source correlation, and sampled warp-stall evidence.

  • Kernel duration, launch count, grid, block, registers, and shared memory
  • Measured occupancy and resource limits from supported replay passes
  • Global-memory coalescing and per-instruction memory activity
  • CUDA source interleaved with generated SASS
  • PC-sampling stall evidence mapped back to source and assembly
CUDA source code correlated with SASS instructions and sampled stall evidence in GPUFlight
CUDA kernel and memory transfer timeline with GPU performance samples in GPUFlight

Application timeline

See kernels, transfers, streams, and scopes in execution order

Kernel tables answer which operations were expensive. Timelines answer when they ran, where the gaps occurred, and whether expected concurrency or transfer overlap actually happened. GPUFlight aligns CUDA activity with application scopes and available system samples so the investigation can move between application structure and GPU behavior.

For a small editable reproduction, use the online CUDA Workbench. For guided optimization practice, start in Performance Lab.

Common questions

CUDA profiler FAQ

Does GPUFlight replace NVIDIA Nsight tools?

GPUFlight has a different workflow: collection from instrumented or launched workloads, upload, browser analysis, sharing, and fleet context. Nsight tools remain valuable for local, NVIDIA-specific development workflows.

Can I profile Python and PyTorch workloads?

Yes. The launcher can start Python applications, including PyTorch workloads, while the underlying CUDA activity is collected. What appears in a session depends on the workload and selected passes.

Why are profiling passes collected separately?

Deep hardware collection can require replay and perturb timing. Separate passes preserve a trustworthy trace timeline while still attaching deeper measurements to matching kernels.

Does GPUFlight support AMD?

GPUFlight also supports ROCm/HIP collection paths, but available metrics and views differ by vendor and collection capability.

Start with a trace

Turn your next CUDA run into an investigation

Create a free account, collect a session, and inspect the kernels and timeline in your browser.

Start profiling