【问题标题】:Why don't I get "thread_inst_executed"为什么我没有得到“thread_inst_executed”
【发布时间】:2020-11-19 20:24:30
【问题描述】:

当我列出 nvprof 的指标时

nvprof --query-events

我明白了:

thread_inst_executed:活动线程执行的指令数。对于每条指令,它按执行指令的线程数(包括断定线程)递增。它不包括重播。

我想使用这个指标,所以我使用以下方法收集指标:

nvprof --csv --metrics thread_inst_executed,inst_executed,inst_executed_global_loads,inst_executed_global_stores,inst_executed_local_loads,inst_executed_local_stores,inst_executed_shared_loads,inst_executed_shared_stores,gld_transactions,gst_transactions,local_load_transactions,local_store_transactions,shared_load_transactions,shared_store_transactions,l2_read_transactions,l2_write_transactions,dram_read_transactions,dram_write_transactions,sysmem_read_transactions,sysmem_write_transactions ./my_program my arguments

输出包含我要求的所有指标...除了thread_inst_executed。为什么它不见了?我怎样才能得到它?

【问题讨论】:

  • 因为事件和指标不是一回事。一方面,您查询了事件。另一方面,您要求提供指标,但提供了事件的名称。如果你真的想列出 nvprof 的指标,你应该做 --query-metrics 而不是 --query-events docs.nvidia.com/cuda/profiler-users-guide/…
  • @RobertCrovella:如果你想把它写下来作为答案,这对我有用。
  • @Richard:随意添加您自己的答案

标签: cuda gpu profiling nvidia nvprof


【解决方案1】:

当我列出 nvprof 的 metrics

nvprof --query-事件

这不是一致的用法(强调)。

使用nvprof(或nvvp),事件指标not the same thing

要查询事件,您可以使用:

--query-events

要查询指标,您可以使用:

--query-metrics

要分析,要求事件测量,您可以使用

--events name_of_event,...

要配置文件,要求度量度量,您可以使用

--metrics name_of_metric,...

如果你这样做:

--metrics name_of_event,...

--events name_of_metric,...

我不知道这种行为是什么,但我不希望它能够正常工作。

【讨论】:

  • 行为是无法识别的指标被静默删除。您可以在对 nvprof 的同一次调用中同时指定指标和事件,这就是我最终要做的。感谢您的帮助!
猜你喜欢
  • 2013-07-15
  • 2015-06-03
  • 1970-01-01
  • 2015-11-26
  • 2023-03-06
  • 1970-01-01
  • 1970-01-01
  • 2022-01-11
  • 2018-06-06
相关资源
最近更新 更多