Nsight System and Nsight Compute 性能分析工具

 

 

Nsight System 

系统级别去分析性能,也就是宏观方向。

Achieved Accupacy低:在Nsight System pipline可以直接看出来

kernel launch 延迟:cpu发起gpu执行kernel过程中,有个kernel launch环节,grid block。优化方法:多个kernel function 合并;cuda graph批量形式执行。

GPU线程太少,grid block少

 

1)命令行执行

2)在服务器上使用Nsight System生成一个文件,在本地电脑上显示文件。

CPU利用率、Process & thread、OS runtime API、NVTX annotation、cuda & cublas API、cuda kernel & memory transfer、NVTX projected on cuda stream

 

鼠标方在某个地方,会放大

 

Nsight Compute

 可以比较不同的kernel的性能 显存 计算

 

调试cuda代码

 

cuda focus查看SM、warp、latency

 

 

案例1:Nsight system对训练神经网络过程的性能分析

未加NVTX注释 

 

 

 从图中看出是由于数据加载造成GPU空闲的,如红色部分。

数据加载的works=1变为works=8、

案例2:Nsight System 混合精度加速BERT

 矩阵计算占了60%

到底使用fp32还是fp16,可以使用Nsight Compute进一步分析。

案例3:Nsight Compute 矩阵转置的kernel分析

 memory的不同,影响优化的角度。

读数据时是连续的,一行一行读取的,但在做转置后,写数据时是跳越的不连续的。

在写数据以前,先把数据存在距离计算单元比较近的片上资源shared memory,延迟低。shared memory是sRAM结构,实现转置,速度快。

 SM是有提升的

参考

【CUDA进阶】深入理解 Nsight System 和 Nsight Compute_哔哩哔哩_bilibili

NVIDIA Development Tools Solutions - | NVIDIA Developer

NVIDIA性能分析工具Nsight Systems/Compute 的使用介绍_哔哩哔哩_bilibili

 

 

  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值