0

我想知道,假设我只调用一个内核,在应用程序跟踪报告的时间线视图中,在

处理 -> CUDA -> 计算

我可以在时间线窗口中看到的每个片段都代表执行操作的扭曲吗?如果是,有没有办法让我确切地看到有多少线程参与了这个操作?(我假设它不一定是我在启动内核时指定的数字)

4

1 回答 1

1

在 Nsight Visual Studio Edition 中,Process\CUDA\Context\Compute 行中的每个范围都是内核启动。

  • 范围开始时间戳是执行 flatThreadIdx = 0 的第一条指令的时间。
  • 范围结束时间戳是内核的完成。

Nsight 时间线不会显示内核级别以下的信息(线程块、warp 或线程),因为这将是大量数据。启动的网格维度和块维度在工具提示、时间线底部的相关窗格和 CUDA 启动报告页面中可用。

Nsight VSE Profile CUDA 应用程序活动可以收集每条指令计数器,这些计数器可用于查看在应用程序中执行每条指令的线程数。为了收集这个,将 Experiments to Run 下拉菜单设置为 All 或将其设置为 Custom 并选择 Instruction Count 实验。源视图报告页面将包含已执行指令和已执行线程指令的列。或者,您可以配置指令计数实验以收集每条指令的活动掩码直方图和谓词直方图。

于 2013-04-30T21:57:06.723 回答