我有一个在CC 3.0(开普勒)上表现不佳的内核,而不是CC 2.0(费米)。在Nsight分析器中,Warp Issue Efficiency
图表显示,有60%的时间没有合格的扭曲,图表显示其中60%是由于“其他”造成的。什么是“其他”问题Nsight Profiler显示的问题原因?
我想知道其他问题的原因是什么,我可能会做什么来减少它们。
CUDA 5.0。/Nsight 3.0。 RC/CC 3.0。
我有一个在CC 3.0(开普勒)上表现不佳的内核,而不是CC 2.0(费米)。在Nsight分析器中,Warp Issue Efficiency
图表显示,有60%的时间没有合格的扭曲,图表显示其中60%是由于“其他”造成的。什么是“其他”问题Nsight Profiler显示的问题原因?
我想知道其他问题的原因是什么,我可能会做什么来减少它们。
CUDA 5.0。/Nsight 3.0。 RC/CC 3.0。
在Nsight的Visual Studio 3.0版CUDA探查问题效率显示的翘曲失速的原因的饼图。停顿的原因是取指令,执行依赖,数据请求,纹理,同步和其他。
对于计算能力3. *器件的其它类别是活性经纱由于停滞以下原因的时间的百分比:
计算能力5. *和6 *设备的其他类是主动经纱由于停滞以下原因的时间百分比:
对于5. *和6 *,特别是GP100,最后如果内核到达,原因可能非常高(〜75%)每个warp调度程序有32个warp。
由于很难确定开发人员可以采取哪些措施来解决这些问题,因此将这些摊位原因归入其他类别。
...第三个原因似乎对我很有效:“增加块尺寸”。我错了吗? – einpoklum 2017-04-13 15:48:33
工作流首先要看问题的效率。如果60%的周期没有合格的经线,那么增加入住率往往是首先要调查的事情之一。调度程序停顿的原因可以更深入地了解执行问题。增加占用并不一定意味着增加区块尺寸。通常每块更小的经纱是增加每根纱线的经纱的更好方法。 – 2017-04-13 21:20:49
(1)您能举一个最后一句的具体例子,其中“每个调度程序太少的经纱”是失速原因的主导因素(〜50%或更多)?如果是这样,我会提出另一个问题,你可以回答它。 (2)这个列表有三个原因详尽吗? – einpoklum 2017-04-13 21:34:21
谢谢你的信息。内核是一个PBKDF2-HMAC-SHA1密钥扩展器。因此,它会运行大量的整数加法和按位运算。特别是,有许多32位整数移位,其开普勒上的吞吐量较低。没有FP操作。我想,在这种情况下,Other是由于低吞吐量的整数操作,所以没有太多的事情要做。 – 2013-02-15 23:52:42