【问题标题】:Maximum blocks per grid:CUDA每个网格的最大块数:CUDA
【发布时间】:2011-08-28 06:43:54
【问题描述】:

每次内核启动可以在网格中创建的最大块数是多少?我在这里有点困惑,因为

现在计算能力表here 表明在 CUDA 计算能力 2.0 中每个网格维度可以有 65535 个块。

这是否意味着总块数 = 65535*65535?

或者这是否意味着您最多可以将 65535 重新排列成 65536 个块的一维网格 还是 sqrt(65535) * sqrt(65535) 的二维网格?

谢谢。

【问题讨论】:

  • 嗨,Gaurish,你为什么不接受这个答案?欢呼

标签: cuda nvidia


【解决方案1】:

每个网格维度 65535。在计算 1.x 卡上,支持 1D 和 2D 网格。在计算 2.x 卡上,也支持 3D 网格,因此 65535、65535 x 65535 和 65535 x 65535 x 65535 是 Fermi(计算 2.x)卡的限制。

【讨论】:

  • 从原始问题中复制了错误的值。过失。
  • 这与每个块的最大线程数(通常为 512)形成对比,即使最大块大小为 521 x 512 x 64。
  • 虽然看起来不对,但我构建的 CUDA 示例程序 deviceQuery 表明我可以将 2147483647 用于第一个维度:Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
  • @user2023370 这对于具有 Compute Capability 3.0 及更高版本的设备是正确的,请参阅 en.wikipedia.org/wiki/CUDA#Version_features_and_specifications。 x 方向的限制 only 现在是 2^31-1。
【解决方案2】:

我认为每个网格是 65535..

【讨论】:

  • 不,在计算 1.x 和 2.x 设备上,每个 网格维度 为 65535。
猜你喜欢
  • 2013-07-13
  • 2013-11-07
  • 2011-05-22
  • 1970-01-01
  • 2012-08-02
  • 1970-01-01
  • 2016-01-19
  • 1970-01-01
相关资源
最近更新 更多