我可以跳到分析特定内核的特定调用吗?

Can I skip ahead to profile a specific invocation of a specific kernel?

我正在使用 NSight Compute GUI (ncu-ui) 来分析某个应用程序中的内核。我的应用程序调用内核 my_kernel_1 数千次,然后调用 my_kernel_2 数千次。我不想分析所有内核的所有调用;我只想分析 my_kernel_2 的一次调用(例如第十次,或中间一次)。

我知道,当分析暂停时,我可以继续下一个内核调用;但是-我不想按那个按钮一千次。有没有办法继续下一次调用具有特定名称的内核?或者,提供一个不被分析的内核名称列表?

如果您使用 GUI 版本,请查看 Activity > 配置文件 > 连接中的过滤器 window。

完成 HyunwooKim 的回答:

您可以安排跳过对您不感兴趣的内核的调用,以及对您感兴趣的内核的一些调用——但仅在分析开始之前;并且仅在 non-interactive 分析模式下:

  1. 按“连接”按钮打开“连接”对话框:
  2. 选择“常用”选项卡。
  3. 输入输出文件名;分析将是 non-interactive,因此需要一个文件。
  4. 切换到“过滤器”选项卡:

  1. 在“内核名称”字段中,输入 regex:^my_kernel_2$ - 以仅匹配您感兴趣的内核。
  2. 选择您要跳过的调用次数(第二个内核 - 您不关心 my_kernel_1 的调用,它不匹配。有多个选项。
  3. 如果您不想分析您感兴趣的内核的所有剩余调用,也可以选择要分析的数量。
  4. 按启动。分析完成且进程已存在后,将加载报告。