【问题标题】:CUDA How to launch a new kernel call in one kernel function?CUDA 如何在一个内核函数中启动新的内核调用?
【发布时间】:2015-04-30 05:15:12
【问题描述】:

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

我的设计是这样的:

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

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

有人知道这是否可能吗?

【问题讨论】:

    标签: cuda


    【解决方案1】:

    如果您使用 CUDA 动态并行并且您的 GPU 支持,您可以从另一个内核中的线程启动内核。目前支持 CUDA 动态并行的 GPU 的计算能力为 3.5。

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

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

    【讨论】:

      猜你喜欢
      • 2021-02-07
      • 2016-01-22
      • 1970-01-01
      • 2012-10-28
      • 1970-01-01
      • 2012-04-28
      • 1970-01-01
      • 2012-08-23
      • 1970-01-01
      相关资源
      最近更新 更多