Concurrency 并发内核执行

Concurrency 并发内核执行,concurrency,cuda,Concurrency,Cuda,是否可以从(主机)应用程序的不同线程启动内核,并让它们在同一GPGPU设备上并发运行?如果没有,您是否知道(Nvidia)将来有什么计划提供此功能?编程指南中说: 3.2.7.3并发内核执行 compute capability 2.0的某些设备可以同时执行多个内核。应用程序可以通过调用cudaGetDeviceProperties()并检查concurrentKernels属性来查询此功能。 设备可以并发执行的最大内核启动数为16 所以答案是:视情况而定。它实际上只取决于设备。主机线程在任何方

是否可以从(主机)应用程序的不同线程启动内核,并让它们在同一GPGPU设备上并发运行?如果没有,您是否知道(Nvidia)将来有什么计划提供此功能?

编程指南中说:

3.2.7.3并发内核执行 compute capability 2.0的某些设备可以同时执行多个内核。应用程序可以通过调用cudaGetDeviceProperties()并检查concurrentKernels属性来查询此功能。 设备可以并发执行的最大内核启动数为16

所以答案是:视情况而定。它实际上只取决于设备。主机线程在任何方面都不会产生影响。如果设备不支持并发内核执行,那么并发内核启动将被序列化,如果设备支持并发内核执行,那么不同流上的串行内核启动将被并发执行