CUDA如何在一个内核函数中启动新的内核调用?

use*_*464 3 cuda

我是CUDA编程新手.现在,我有一个问题要处理:我正在尝试使用CUDA并行编程来处理一组数据集.对于每个数据集,都需要进行一些矩阵计算.

我的设计是这样的:

  1. 启动N个线程来处理每个数据集,因为它们彼此独立,处理它们的方法是相同的.

  2. 在1中的每个线程中,我想使用一个新函数,这个函数也像内核一样工作,因为它们是矩阵计算...例如调用M个线程来并行处理矩阵计算.

有谁知道它是否可能?

Rob*_*lla 7

如果使用CUDA动态并行性并且GPU支持它,则可以从另一个内核中的线程启动内核.支持CUDA动态并行性的GPU目前具有3.5的计算能力.

您可以从CUDA deviceQuery示例中发现设备的计算能力.

您可以从CUDA编程指南部分了解有关如何使用CUDA动态并行性的更多信息.