Mar*_*ole 20
您可以创建的流数量没有实际限制(至少1000个).但是,有效实现并发的流数量是有限的.
在Fermi中,该架构支持16路并发内核启动,但从主机到GPU只有一个连接.因此,即使您有16个CUDA流,它们最终也会进入一个硬件队列.这可能会创建错误的数据依赖关系,并限制可以轻松获得的并发数量.
使用Kepler,主机和GPU之间的连接数现在是32(而不是Fermi的连接数).使用新的Hyper-Q技术,现在更容易让GPU忙于并发工作.
Mar*_*tes 10
根据NVIDIA的演示,max是16个流(在Fermi上). http://developer.download.nvidia.com/CUDA/training/StreamsAndConcurrencyWebinar.pdf
为了澄清,我已经成功创建了超过16个流,但我认为硬件只能支持16个并发内核,因此多余的内核在并发方面浪费了.
开普勒可能与众不同.