Nsight Compute与nvprof metrics 对照

标签: 性能分析工具  cuda  profiling  Nsight Compute  performance

NVIDIA 计算能力7.5及以上的GPU设备不再支持nvprof工具进行性能剖析,提示使用Nsight Compute作为替代品,如下图所示。
在这里插入图片描述
Nsight Compute Cli(命令行)性能剖析的参数与nvprof不一样,当输入nvprof的参数抓取数据时,因为参数不识别,无法抓取希望得到的指标,如下图所示,因为输入nvprof的性能参数,无法识别,因此没有抓到有用信息;同时,Nsight Compute Cli性能参数成千上万,虽然可以将这些参数全部抓取,但是会对使用者筛选关注信息带来很大的麻烦。
在这里插入图片描述
因此,非常有必要找到两款工具性能参数之间的对应关系。这里记录命令行使用Nsight Compute Cli的方法以及两个工具常用参数之间的对应关系,方便查阅与工具间使用的过度。

Nsight Compute Cli上手说明

以执行可执行文件剖析性能为例,Linux系统上 Nsight Compute Cli使用格式为

ncu --metrics param  target

说明:param为要抓取参数,target为可执行文件。程序执行后会在终端输出抓取的信息,参考如下:
在这里插入图片描述
这里输入了正确的参数,可以看到核函数加载全局内存的吞吐量为46.13 GB/s.

Nsight Compute 与nvprof 参数映射

这里只整理了 SM占用率,全局内存,共享内存 三个方面常用参数对照关系,更多参数对照可以参考官方提供的CUDA手册《NSIGHT COMPUTE COMMAND LINE INTERFACE》。

SM占用率

nvprofnsight compute cli
achieved_occupancysm__warps_active.avg.pct_of_peak_sustained_active

全局内存读写

nvprofnsight compute cli
gld_throughputl1tex__t_bytes_pipe_lsu_mem_global_op_ld.sum.per_second
gst_throughputl1tex__t_bytes_pipe_lsu_mem_global_op_st.sum.per_second
gld_efficiencysmsp__sass_average_data_bytes_per_sector_mem_global_op_ld.pct
gst_efficiencysmsp__sass_average_data_bytes_per_sector_mem_global_op_st.pct
gld_transactionsl1tex__t_sectors_pipe_lsu_mem_global_op_ld.sum
gst_transactionsl1tex__t_sectors_pipe_lsu_mem_global_op_st.sum
gld_transactions_per_requestl1tex__average_t_sectors_per_request_pipe_lsu_mem_global_op_ld.ratio
gst_transactions_per_requestl1tex__average_t_sectors_per_request_pipe_lsu_mem_global_op_st.ratio

共享内存读写

nvprofnsight compute cli
shared_efficiencysmsp__sass_average_data_bytes_per_wavefront_mem_shared.pct
shared_load_throughputl1tex__data_pipe_lsu_wavefronts_mem_shared_op_ld.sum.per_second
shared_load_transactionsl1tex__data_pipe_lsu_wavefronts_mem_shared_op_ld.sum.per_second
shared_load_transactions_per_requestn/a
shared_store_throughputl1tex__data_pipe_lsu_wavefronts_mem_shared_op_st.sum.per_second
shared_store_transactionsl1tex__data_pipe_lsu_wavefronts_mem_shared_op_st.sum.per_second
shared_store_transactions_per_requestn/a
版权声明:本文为yan31415原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yan31415/article/details/109643517

智能推荐

华氏度与摄氏度对照表

心得:忘记了要除出小数得用浮点数。...

chromedriver与chrome各版本对照及下载

☛谷歌浏览器 chrome 下载地址 ☛谷歌驱动 chromeDriver 下载地址 ☛查看chrome版本号 linux下chrome和chromedriver的安装 1、安装chrome 用下面的命令安装最新的 Google Chrome 也可以下载到本地再安装 安装必要的库 卸载安装包 先列出所有被安装的package,在进行卸载 2、安装 chromedriver 将下载的文件解压,放在如...

Pandas与SQL的数据操作语句对照

介绍 SQL的神奇之处在于它容易学习,而它容易学习的原因是代码语法非常直观。 另一方面,Pandas不是那么直观,特别是如果像我一样首先从SQL开始。 就我个人而言,我发现真正有用的是思考如何在SQL中操作数据,然后在Pandas中复制它。所以如果你想更加精通Pandas,我强烈建议你也采用这种方法。 因此,本文可以作为一个备查表、字典、指南,无论你想怎么称呼它,这样你在使用Pandas时就可以参...

兼容问题“PNG12_0“ not found and libIlmImf.so与Nsight eclipse下的profile问题

问题出现在我用ubuntu20.04上使用opencv3.4.1,其实ubuntu16.04+opencv3.4.1没问题以及ubuntu20.04+opencv4.4.0都没问题。但因某些原因要ubuntu20.04+opencv3.4.1,而opencv3.4.1需要的是PNG12,但自从ubuntu16.04后其他的ubuntu都已经丢弃了png12: 经过重重尝试: 最终靠第4个办法解决了...

Nsight Eclipse中使用opencv

1.首先我们启动两台ubuntu系统的设备,并且确保两台设备都开启了ssh远程登录,且两台设备能互相通信。 2.如何查看Ubuntu版本 3.Nsight Eclipse中使用opencv 前提:已经安装了opencv和eclipse. 下面讲解详细的配置过程 一:新建工程 1.打开eclipse 2.File->New->C/C++ Project 3.为工程命名:DisplayIm...

猜你喜欢

TCP连接常见问题

TCP常见状态 LISTEN: 侦听来自远方的TCP端口的连接请求 SYN-SENT: 再发送连接请求后等待匹配的连接请求 SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认 ESTABLISHED: 代表一个打开的连接 FIN-WAIT-1: 等待远程TCP连接中断请求,或先前的连接中断请求的确认 FIN-WAIT-2: 从远程TCP等待连接中断请求 CLOSE-WAI...

centos7开启开机自动联网

将onboot选项的no改为yes 这个文件也可以将pc从dhcp修改为静态 ip配置 需要修改BOOTPROTO=dhcp为static,然后文件最后添加IP,GATEWAY,MASK,DNS...

R 基础知识:数据结构(data.frame & matrix & array)

1.data.frame data.frame是R语言用来处理表格式数据的数据结构。我们可以运用data.frame()函数手动创造数据框,让我们建立一个很简单的数据框叫做greatnbateams,这个数据框有队名、胜场数、败场数、是否获得总冠军与球季。 我们使用观测值(observations)来称呼数据框中水平方向的数据,使用变数(variables)来称呼数据框中垂直方向的数据;数据框能够...

mysql高级-视图

视图定义:是由查询结果形成的一张虚拟表,是表通过某种运算得到的一个投影。 同一张表可以创建多个视图。 创建视图的语法: create view viewName as select语句 查询视图:和表一样,可以添加where条件。 修改视图:alter view viewName as select * from… 删除视图:drop view viewName. 查看视图结构:和表...