我将CUDA GPU计算SDK和CUDA计算工具包升级到4.1。我在测试simpleStreams程序,但它始终比非流式执行花费更多的时间。我的设备有2.1的计算能力,我使用的是VS2008,windows操作系统。
发布于 2012-05-12 13:49:32
这个样本经常有问题。如果您调整样本,使内核和内存副本的持续时间相等,重叠将会改善。通常,广度优先提交更适合于并发;然而,在WDDM OS上,如果您在内核启动后立即发出内存副本,则此示例通常会有更好的重叠。
发布于 2012-05-23 06:20:29
我也注意到这一点。我以为只有我自己,但我没有注意到任何改善,并尝试搜索论坛,但没有找到其他人有这个问题。
我还运行了《Cuda By Example》一书中的源代码(这本书非常有用,如果你对GPU编程很感兴趣,我建议你去读一读)。
第10章的示例展示了如何使用streams的示例。http://developer.nvidia.com/content/cuda-example-introduction-general-purpose-gpu-programming-0
但是比较一下,1.非流式版本(基本上是单流版本) 2.流式(错误地排队asyncmemcpy和内核启动) 3.流式(正确排队asyncmemcpy和内核启动)
我发现使用cuda streams没有任何好处。这可能是一个win7的问题,因为我在网上找到了一些来源,讨论win vista不能正确支持cuda流。
让我知道你在我链接的例子中找到了什么。我的设置是: Win7 64位专业版,CUDA4.1,双Geforce GTX460显卡,8 8GB内存。
发布于 2012-05-11 12:15:01
我对Cuda非常陌生,所以可能无法提供帮助,但通常情况下,如果你不发布任何代码,就很难提供帮助。如果不能发帖,我建议你看看Nvidia's visual profiler。它是跨平台的,可以向你展示你的瓶颈是什么。
https://stackoverflow.com/questions/10540553
复制相似问题