[attach]3471[/attach]
如图:
问1,process 1416 和 thread 5646 是什么意思?
问2,cudaEventSynchronize里面问什么会有断开的小空隙?那部分时间干什么去了?
问3,有没有stream0和stream1,如果有的话,那他们干什么去了?
楼主您好:
(1)process 1416是prcoess id, 同理thread 5646则是thread id, 此两者也被成为pid和tid, 您可以在任何一本操作系统的书上理解此2概念,以及他们的可能的用途。
(讲解pid的作用超出了本论坛的技术支持范围,您应当参考任何关于OS的论坛或者书籍,本论坛是CUDA论坛!)
(2)您看到的图中的最上面一行的时间是收到命令的时间(请注意不是命令开始执行的时间),小空隙可能意味者您的host code中间有段时间没有发出命令。
(3)从4.x的CUDA runtime版本开始,runtime使用了多个流来完成原来的“默认流”的操作,将原本的一些操作分散在多个自动分配的流里面,这些流统称默认流(一般前5个或者前10个流,具体情况随着版本或者实际运行的情况不同而不同)。这些流共同完成了“默认流”的操作,使得默认流不再只是一个流,而变成了多个,从而在不影响逻辑的情况下提高性能。您无需关心runtime内部是如何处理的。
感谢您的来访。
万分感谢!:handshake
服务您是我的荣幸,感谢您对CUDAZone的莅临!