Neutrino: Fine-grained GPU Kernel Profiling via Programmable Probing
summary
Neutrino inserts instruction-level assembly probing into GPU kernels and uses an eBPF-like programmable probe DSL (Python front end) plus a driver hook that compiles probes to machine code at kernel load, enabling timing and value captures per thread with low overhead. It implements NVIDIA and AMD support and outputs the DMAT visualization to show physical-time-aligned densities. Evaluations reveal a surprising ~50% tailing effect for shared blocks, pinpoint a slow-to-fast stage transition tied to prior-block completion, and enable fixes that improve performance by ~30%.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 0:17Neutrino design goals
- 3:11System design architecture
- 5:16Probe interface mechanics
- 6:32Efficiency and implementation
- 8:10Workflow and hook driver
- 8:59Internal system components
- 9:39DSL compiler and utilities
- 10:12Visualization with DMAT
- 10:41DMAT methodology
- 10:57Performance evaluation
- 11:19Tailing effect case study
- 12:56Conclusion and usage
related talks
28mAuto-instrumentation for GPU Performance Using eBPF
29mAuto-instrumentation for GPU performance using eBPF
13mFast (Trapless) Kernel Probes Everywhere
21mAuto-Instrumentation for GPU Performance using eBPF
25mPerfect Match: Correlating Continuous Profiling with Distributed Tracing for Stronger Observability
38mThe Next Linux Superpower: eBPF Primer
36mDeveloping Continuous eBPF Profiler to look Beneath the Kernel to Beyond the Clouds
38mAdvanced BPF profiling techniques: how to escape the curse of NMI and fetch ELF...
