Maxwell中的重叠数据传输(GPU Nvidia)

时间:2015-01-16 07:58:50

标签: cuda overlapping cuda-streams

我是论坛中的新手,我希望你能帮助我解决我的问题。最近,我开发了一个应用程序,其中我使用了CUDA流,目的是重叠计算和数据传输。我已经在GPU Nvidia(Maxwell架构)上执行了这个应用程序。我用Visual Profiler工具观察到一些数据传输HostToDevice同时发生。 Maxwell GPU只有2个复制引擎。一个复制引擎用于HostToDevice传输,另一个复制引擎用于DeviceToHost传输,对吧?考虑到这一点,我认为两个HostToDevice传输不能同时发生。但是,我在Visual Profiler中观察到这种行为出现在我的应用程序中。所以,我的问题是:在这个架构中,是否有可能同时发生两个HostToDevice(或DeviceToHost)数据传输?。

非常感谢你。

1 个答案:

答案 0 :(得分:4)

  

所以,我的问题是:在这个架构中,是否有可能同时发生两个HostToDevice(或DeviceToHost)数据传输?。

不,这是不可能的。

在同一方向上同时发生2次转移是不可能的。这可以说是基于PCI Express,与CUDA没有任何关系。当PCI express事务在给定方向上进行时,在该方向上不能进行其他事务。要么你误解了视觉分析器的输出,要么视觉分析器有某种错误。

将鼠标悬停在可视化分析器中的特定事务上,您可以在可视化分析器显示的右侧窗口中获取有关它的其他详细信息。这些附加信息应该包括每个事务的开始和结束时间(以及字节大小等)。我将从那里开始,看看视觉分析器是否认为它们在同一方向并具有相同的开始时间。

相关问题