Nsight Python: A Python-First Profiling Toolkit for Seamless GPU Kernel Analysis (Tool)
NVIDIA
Proceedings of the 35th ACM SIGPLAN International Conference on Compiler Construction (CC ’26), 2026
@inproceedings{hagedorn2026nsight,
title={Nsight Python: A Python-First Profiling Toolkit for Seamless GPU Kernel Analysis (Tool)},
author={Hagedorn, Bastian and Collins, Alexander and Mongkolsmai, Tony and Grover, Vinod},
booktitle={Proceedings of the 35th ACM SIGPLAN International Conference on Compiler Construction},
pages={168–179},
year={2026}
}
The proliferation of Python DSLs for developing kernels has democratized GPU programming. While kernel development is now Python-native, performance analysis and optimization still rely on external tools and fragmented workflows. We introduce Nsight Python, a Python profiling toolkit that bridges this gap by bringing performance analysis for GPU kernels into the Python ecosystem. Nsight Python is framework-agnostic and works seamlessly with any Python framework through simple decorators and context managers that mark code regions for analysis. The tool automatically handles performance measurement, data collection, and result aggregation across multiple configurations. Key innovations include: (1) Python-native interface enabling direct GPU kernel analysis within existing Python workflows, (2) configuration-driven execution model that correlates measured metrics with input parameters, (3) access to thousands of core metrics and enabling custom derived and relative metric computations through parameter correlation, (4) built-in thermal management to prevent GPU throttling during batch analysis, and (5) structured customizable visualization with automatic plot generation based on parameter roles. With Nsight Python, the entire kernel development process—from implementation to iterative optimization and analysis—is now truly Python-native, providing detailed insights without requiring external profilers or disrupting workflows.
February 2, 2026 by hgpu
Your response
You must be logged in to post a comment.





