Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cuda NSight Profiling-如何解决;管道繁忙“;摊位?_Cuda_Nsight - Fatal编程技术网

Cuda NSight Profiling-如何解决;管道繁忙“;摊位?

Cuda NSight Profiling-如何解决;管道繁忙“;摊位?,cuda,nsight,Cuda,Nsight,在使用NSight评测我的CUDA应用程序后,我在“问题效率”下看到: 单击上图面板中的帮助链接后,我在文档中找到了以下描述: 管道忙-指令所需的计算资源尚不可用 关于找出哪些计算资源尚不可用的建议,以及为什么 您可以运行管道利用率实验来查看哪些是繁忙的。从: CUDA设备的每个流式多处理器(SM)具有许多功能 专用于执行特定任务的硬件单元。在 这些单元提供的执行管道的芯片级 warp调度程序将指令发送到。例如,纹理单元 提供执行纹理提取和执行纹理处理的功能 过滤。加载/存储单元获取数据并将其

在使用NSight评测我的CUDA应用程序后,我在“问题效率”下看到:

单击上图面板中的帮助链接后,我在文档中找到了以下描述:

管道忙-指令所需的计算资源尚不可用


关于找出哪些计算资源尚不可用的建议,以及为什么

您可以运行管道利用率实验来查看哪些是繁忙的。从:

CUDA设备的每个流式多处理器(SM)具有许多功能 专用于执行特定任务的硬件单元。在 这些单元提供的执行管道的芯片级 warp调度程序将指令发送到。例如,纹理单元 提供执行纹理提取和执行纹理处理的功能 过滤。加载/存储单元获取数据并将其保存到内存中。 了解这些管道的使用情况,并知道距离有多近 它们是达到目标设备峰值性能的关键 用于分析执行内核的效率的信息;和 还允许识别由以下原因引起的性能瓶颈: 对某种管道的超额认购


如果我的理解是正确的,这意味着warp调度程序无法发出指令,因为管道已满。可能是因为你用了很多。@Cicada看起来像是算术上有界的。我重新安排了一些东西来改进ILP,这使寄存器的使用率从38%降到了17%,并将stall pipe busy stall降到了12%左右。谢谢你的链接。