What are “Other” Issue Stall Reasons displayed by the Nsight profiler?

穿精又带淫゛_ 提交于 2019-12-19 07:29:09

问题


I have a kernel that is performing poorly on CC 3.0 (Kepler) as opposed to CC 2.0 (Fermi). In the Nsight profiler, the Warp Issue Efficiency chart is showing that 60% of the time, there were no eligible warps and the Issue Stall Reasons chart is showing that 60% of these are due to "Other".

I'm wondering what the Other issue stall reasons are and what I might do to reduce them.

CUDA 5.0. / Nsight 3.0. RC / CC 3.0.


回答1:


In Nsight Visual Studio Edition 3.0 CUDA Profiler the Issue Efficiency displays a pie chart of the warp stall reasons. The stall reasons are Instruction Fetch, Execution Dependency, Data Requests, Texture, Synchronization, and Other.

For Compute Capability 3.* devices the Other category is the percentage of time that active warps are stalled due to the following reasons:

  • execution unit is busy (reduce use of low throughput integer operations)
  • register bank conflicts (compiler issue that can sometimes be made worst by heavy use of vector data types)
  • too few warps per scheduler

For Compute Capability 5.* and 6.* devices the Other category is the percentage of time that active warps are stalled due to the following reasons:

  • register bank conflicts (compiler issue that can sometimes be made worst by heavy use of vector data types)
  • warps waiting to resolve branches
  • warps that are lower priority and are not currently being considered for scheduling

For 5.* and 6.*, especially gp100, the last reason can be very high (~75%) if the kernel reaches 32 warps per warp scheduler.

These stalls reasons are grouped into the other category as it is hard to identify actions that a developer can taken to resolve these issues.



来源:https://stackoverflow.com/questions/14887807/what-are-other-issue-stall-reasons-displayed-by-the-nsight-profiler

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!