【问题标题】:Maximum instructions per CUDA kernel? Maximum operations per CUDA stream?每个 CUDA 内核的最大指令数?每个 CUDA 流的最大操作数?
【发布时间】:2016-04-15 20:01:48
【问题描述】:

对于特定的 CUDA 流,是否有最大数量的 CUDA 操作可能处于未决状态?我在任何文档中都没有看到这样的限制。

我也对每个 CUDA 内核的最大指令数的相关数据感兴趣。

【问题讨论】:

  • 每个内核的 CUDA 指令最大数量:CC 2.0 之前为 200 万,之后为 5.12 亿。
  • 好的,谢谢。我在哪里可以获得有关最大数量限制的更多详细信息?
  • 请原谅大量的编辑,只是答案值得一个实际要求它的问题......

标签: cuda resources gpgpu


【解决方案1】:

每个内核有最大数量的 CUDA PTX 指令:

  • 200 万用于 Compute Capability 低于 2.0 的 GPU(即在 Fermi 微架构之前)
  • 5.12 亿用于具有 2.0 或更高计算能力的 GPU(例如 Fermi、Kepler、Maxwell 等)

此信息可在CUDA C Programming Guide 中找到,只需查找“每个内核的最大指令数”即可。

对于流,如果在给定流上运行的内核遵守此限制,则没有此类流指令限制。正如@talonmies 所指出的,流是主机端的操作队列,它们与将代码加载到 GPU 上无关。

【讨论】:

  • 我认为指令数量的唯一限制是存在的,然后可以在给定线程上按顺序运行多个内核。因此,只要遵守内核限制,流就没有限制。
  • 不,它与流完全无关。指令限制是您可以一次性从模块加载多少代码,仅此而已。流是主机端的操作队列,它们与将代码加载到 GPU 上无关,这些限制与流或流容量完全无关。
  • 确实!我在答案中添加了这种精确度。
猜你喜欢
  • 2011-08-28
  • 1970-01-01
  • 2012-08-18
  • 2013-03-31
  • 2013-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多