Tools2_Nsight_Compute使用指南

Tools(2): Nsight Compute 使用指南

作者: 紫气东来
发布时间: 编辑于 2025-07-09 11:17・上海
原文链接: https://zhuanlan.zhihu.com/p/715022552


文章概要

本文是CUDA性能分析工具Nsight Compute的完整使用指南,从安装、profile生成到详细的性能分析报告解读,提供了系统性的实战教程。


核心内容

1. Nsight Compute 基础

工作原理

基本使用命令

ncu --set full -o output_name python3 script.py

输出文件:生成.ncu-rep文件,可在本地用Nsight Compute GUI打开


2. Profile 分析框架

2.1 Summary(概览页)

关键指标

快速判断


2.2 GPU Speed Of Light Throughput

核心功能:定位kernel在roofline模型中的位置

关键指标

分析要点


2.3 Memory Workload Analysis

核心指标

Memory Throughput: 每秒DRAM访问字节数

L1/TEX Hit Rate:

L2 Hit Rate: L2缓存命中率(理想值>80%)

Memory Chart: 可视化各级存储层次的连接关系和使用情况


2.4 Compute Workload Analysis

IPC指标

计算单元利用率


3. 调度与并行分析

3.1 Scheduler Statistics

关键概念

性能指标

优化方向


3.2 Warp State Statistics

分析目标:找出warp停顿的主要原因

常见停顿类型

优化策略


4. Occupancy(占用率)分析

定义:每个SM上活跃warp数与最大可能warp数的比率

影响因素

优化原则


实战价值

分析流程

  1. Summary页快速定位:找出耗时最长的kernel
  2. Speed Of Light判断类型:Compute-bound还是Memory-bound
  3. 针对性深入分析
    • Memory-bound → 分析Memory Workload
    • Compute-bound → 分析Compute Workload
  4. 调度分析:检查warp利用率和停顿原因
  5. 占用率优化:调整启动配置

关键技巧


总结

Nsight Compute是CUDA性能优化的核心工具。本文提供了从基础使用到深度分析的完整指南,涵盖了Summary、Speed Of Light、Memory/Compute Workload、Scheduler Statistics、Warp State、Occupancy等所有关键分析维度。通过系统学习这些指标的含义和分析方法,可以精准定位性能瓶颈,指导CUDA kernel的优化工作。文章结合具体案例,展示了如何从profile数据中提取有价值的优化信息。