【问题标题】:CUDA doesn't launch threads? [closed]CUDA 不启动线程? [关闭]
【发布时间】:2012-09-08 12:53:14
【问题描述】:

我正在运行需要大约 16384 个线程的应用程序。但是经过实验,我观察到 CUDA 无法启动超过某个数量的线程。所以,特别是在我的应用程序中,每次启动 14337 个线程,但除此之外没有启动线程。

可能是什么原因?

系统:特斯拉 C2070 Linux 32位

【问题讨论】:

  • 您是否检查了每个 CUDA 调用的返回值,包括内核启动?
  • 是的,没有错误!!可能是什么?驱动程序中的错误?使用 CUDA 5.0 RC1
  • 你能发布一个显示问题的独立代码吗?

标签: cuda


【解决方案1】:

您能否更具体地说明您是如何启动内核的?这只是一个疯狂的猜测,但对我来说听起来你的线程块太大了。您可能已经知道,您不能只在一个线程块中启动 16k 线程。也许this SO thread 有帮助。 GPU 的每个块的最大线程数应为 1024,因此您必须将线程组织在多个线程块中。看看您如何检查是否只启动了 14k 个线程也会很有趣(一些源代码会有所帮助)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 2020-07-19
    • 2016-09-04
    • 2019-05-13
    相关资源
    最近更新 更多