繁体   English   中英

nvidia kepler 3.0上的两个并发内核

[英]Two concurrent kernels on nvidia kepler 3.0

在我的程序中,我有两个内核,对于每个内核,我只启动两个256个线程的块。

kernel1<<<2,256>>>()
kernel2<<<2,256>>>()

在4个SMX图形卡上,程序的当前执行就是这样的(当使用可视化分析器进行分析时,两个内核一个接一个地执行它们)

 SMX1 SMX2
 ---------
| K1 | K1 |  
| K1 | K1 |
-----------
|    |    |
|    |    |
 ---------
 SMX3 SMX4

 SMX1 SMX2
 ---------
| K2 | K2 |  
| K2 | K2 |
-----------
|    |    |
|    |    |
 ---------
 SMX3 SMX4

我想知道是否有可能在同一个程序中同时启动两个内核,并且看起来像那样并将执行时间除以2:

 SMX1 SMX2
 ---------
| K1 | K1 |  
| K1 | K1 |
-----------
| K2 | K2 |
| K2 | K2 |
 ---------
 SMX3 SMX4

在kepler 3.5中:kepler架构中的新“Hyper-Q”功能允许同时从多个MPI进程中共享多个内核。 (或其他过程)

应该可以同时执行2个内核。 对于初学者,您需要在单独的流中启动两个内核。 是否将执行时间除以2,我不能说。 您可能希望查看并发内核CUDA示例或涉及流的任何示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM