Optimization Nsight计算中使用的术语
两个问题:Optimization Nsight计算中使用的术语,optimization,cuda,nsight-compute,Optimization,Cuda,Nsight Compute,两个问题: 根据Nsight Compute,我的内核是受计算限制的。相对于峰值性能,SM%的利用率为74%,内存利用率为47%。但是,当我查看每个管道的利用率百分比时,LSU的利用率远远高于其他管道(分别为75%和10-15%)。这不是表示我的内核内存有限吗?如果计算和内存资源的利用率与管道利用率不一致,我不知道如何解释这些术语 调度程序只会每4个周期发出一次,这难道不意味着我的内核有延迟限制吗?人们通常根据计算和内存资源的利用率来定义这一点。两者之间的关系是什么 在CC7.5 GPU上进
在CC7.5 GPU上进行智能计算 SM%由SM__吞吐量定义,并且 内存%由gpu\u计算\u内存\u吞吐量定义 sm_吞吐量是以下指标的最大值:
- sm\u指令\u吞吐量
- 执行sm_uuuinst_u
- sm\u问题\u激活
- 财政司司长
- sm\u管道\u铝循环\u激活
- sm安装在任何管道上执行
- sm\u管道\u fp64\u周期\u激活
- sm\u管道\u张量\u周期\u激活
- sm________________xu
- sm管道fma循环激活
- sm安装已执行管道fp16
- sm\u管道\u共享\u周期\u活动
- sm_________________________________________
- sm\u指令\u吞吐量\u内部\u活动
- 内存吞吐量
- idc请求周期激活
- sm_uuuInst_uExecuted_uPipe_uAdu
- sm安装、执行、管道和ipa
- sm安装执行的管道
- sm_uuuInst_uExecuted_uPipe_uTex
- sm\uuu mio\u pq\u读取\u周期\u激活
- sm\uuuu mio\u pq\u写入周期\u激活
- sm\uu mio2rf\u写回\u活动
- sm\内存\吞吐量\内部\活动
- gpu\计算\内存\访问\吞吐量
- l1tex_uuu数据_u银行_u读取
- l1tex_uuu数据_u银行_u写入
- l1tex__数据_管道_lsu_波前
- l1tex_数据_管道_tex_波前
- l1tex\u\u波前
- lts\u d\u原子\u输入\u周期\u激活
- lts_uud_u扇区
- lts______扇区
- lts\u\t\u标记请求
- gpu\计算\内存\访问\吞吐量\内部\活动
- gpu\计算\内存\访问\吞吐量
- l1tex\uuu lsuin\u请求
- l1tex\uuuTexin\uSM2tex\uREQ\u周期\u激活
- l1tex\u lsu\u写回\u活动
- l1tex\u tex\u写回\u活动
- l1tex\uuu m\uL1tex2xbar\u请求周期\u激活
- l1tex_uum_xBar2lTex_u读取扇区
- lts\uu lts2xbar\u周期\u激活
- lts\uuu xbar2lts\u周期\u激活
- lts\u d\u扇区\u填充\u设备
- lts\u d\u扇区\u填充\u系统
- gpu\uU dram\u吞吐量
- gpu\计算\内存\请求\吞吐量\内部\活动
细分:avg.pct\u of_peak\u sustainated.appeased
收集一个吞吐量指标,并解析输出以获得子指标名称
例如:
ncu.exe --csv --metrics breakdown:sm__throughput.avg.pct_of_peak_sustained_elapsed --details-all -c 1 cuda_application.exe
生成:
"ID","Process ID","Process Name","Host Name","Kernel Name","Kernel Time","Context","Stream","Section Name","Metric Name","Metric Unit","Metric Value"
"0","33396","cuda_application.exe","127.0.0.1","kernel()","2020-Aug-20 13:26:26","1","7","Command line profiler metrics","gpu__dram_throughput.avg.pct_of_peak_sustained_elapsed","%","0.38"
"0","33396","cuda_application.exe","127.0.0.1","kernel()","2020-Aug-20 13:26:26","1","7","Command line profiler metrics","l1tex__data_bank_reads.avg.pct_of_peak_sustained_elapsed","%","0.05"
"0","33396","cuda_application.exe","127.0.0.1","kernel()","2020-Aug-20 13:26:26","1","7","Command line profiler metrics","l1tex__data_bank_writes.avg.pct_of_peak_sustained_elapsed","%","0.05"
...
关键字
breakdown
可以在Nsight Compute节文件中用于扩展吞吐量度量。这在“光速”部分中使用。我发现很难在Nsight的文档中找到您给出的sm_吞吐量和gpu_计算_内存_吞吐量的定义。是否有定义此功能的资源?我更新了答案,以显示如何使用命令行生成细分,并请求Nsight计算团队添加一个脱机命令行来生成信息。