首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么计算吞吐量的值与实际性能/峰值性能不同?

为什么计算吞吐量的值与实际性能/峰值性能不同?
EN

Stack Overflow用户
提问于 2022-09-11 14:15:05
回答 1查看 130关注 0票数 0

我想为我的内核建立一个屋顶模型。因此,我使用命令启动ncu。

目标-处理所有设置的roofline mpirun -n 1./run_pselinv_linux_ -H _v2.0-H H3600.csc -file ./tmpfile

roofline set收集足够的数据来构建roofline模型。但我不清楚每个指标的含义。

Compute(SM) Throughput是由度量sm__throughput.avg.pct_of_peak_sustained_elapsed (即0.64% )收集的。我认为这是最佳表现的百分比。但是当我把Performance(6855693348.37)除以Peak Work(5080428410372)时,得到的0.13%0.64%低得多。

此外,我希望在内核中收集FLOPSmemory usage,而不是它们的吞吐量。

所以我的问题是:

  1. SM ThroughputMemory Throughput的真正含义是什么?它们是Peak WorkPeak Traffic的百分比吗?顺便说一下,Peak WorkPeak Traffic分别是Peak PerformancePeak Bandwidth of DRAM,对吗?
  2. 为了获得内核的真实FLOPSmemory usage,我想将Compute(SM) ThroughputPeak Work相乘以得到real time Performance。然后将real time Performanceelapsed time相乘得到FLOPS。内存的使用也是如此。我的方法正确吗?

我已经找了两天这个问题了,但还是找不到一个明确的答案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-15 07:21:39

我从这个问题中找到了答案:简而言之,Nsight计算中使用的术语SM ThroughputMemory Throughput分别是一系列度量的最大值。所以我试着用他们的名字来理解他们的意思,这是完全错误的。

顺便说一句,收集模型的触发器和内存使用情况的正确方法是在这个实验室:NVIDIA GPU上的Roofline模型这个实验室的方法

时间: sm__cycles_elapsed.avg / sm__cycles_elapsed.avg.per_second 拖鞋: DP: sm__sass_thread_inst_executed_op_dadd_pred_on.sum +2 x sm__sass_thread_inst_executed_op_dfma_pred_on.sum + sm__sass_thread_inst_executed_op_dmul_pred_on.sum SP: sm__sass_thread_inst_executed_op_fadd_pred_on.sum +2 x sm__sass_thread_inst_executed_op_ffma_pred_on.sum + sm__sass_thread_inst_executed_op_fmul_pred_on.sum 惠普: sm__sass_thread_inst_executed_op_hadd_pred_on.sum +2 x sm__sass_thread_inst_executed_op_hfma_pred_on.sum + sm__sass_thread_inst_executed_op_hmul_pred_on.sum 张量核: 512 x sm__inst_executed_pipe_tensor.sum 字节: 德拉姆: dram__bytes.sum L2: lts__t_bytes.sum L1: l1tex__t_bytes.sum

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73679977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档