block索引到底可以是几维?

rabbit192 2009-10-27 11:24:15
在linux下编制了一个cuda程序,设定dim3 dimGrid(4,4,4); dim3 dimBlock(256,1,1),编译出错,出错信息:
invalid configuration argument 。
经过多次测试发现,只要将dimGrid第三维改写成非1的数,就会出现上述错误。反之,如果将block的维度设定为2维或者1维则不会出错。本人刚刚接触CUDA,想问下各位大侠,block的索引是否可以支持真正的三维(第三维坐标不为1),上述错误出现在哪
...全文
184 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxjjason 2009-10-29
  • 打赏
  • 举报
回复
grid现在是二维的,以后有扩展,block是三维的
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 l7331014 的回复:]
引用楼主 rabbit192 的回复:
在linux下编制了一个cuda程序,设定dim3 dimGrid(4,4,4); dim3 dimBlock(256,1,1),编译出错,出错信息:
invalid configuration argument 。
经过多次测试发现,只要将dimGrid第三维改写成非1的数,就会出现上述错误。反之,如果将block的维度设定为2维或者1维则不会出错。本人刚刚接触CUDA,想问下各位大侠,block的索引是否可以支持真正的三维(第三维坐标不为1),上述错误出现在哪


二维.以后可能会扩展到三维.但不是目前.
[/Quote]

而且最大block数好像是65536个.
  • 打赏
  • 举报
回复
[Quote=引用楼主 rabbit192 的回复:]
在linux下编制了一个cuda程序,设定dim3 dimGrid(4,4,4); dim3 dimBlock(256,1,1),编译出错,出错信息:
invalid configuration argument 。
经过多次测试发现,只要将dimGrid第三维改写成非1的数,就会出现上述错误。反之,如果将block的维度设定为2维或者1维则不会出错。本人刚刚接触CUDA,想问下各位大侠,block的索引是否可以支持真正的三维(第三维坐标不为1),上述错误出现在哪
[/Quote]

二维.以后可能会扩展到三维.但不是目前.
bearfish 2009-10-28
  • 打赏
  • 举报
回复
其实,block的索引是二维的。
注意看 NVIDIA_CUDA_Programming_Guide_2.3.pdf
在文档的第17页上面有:
These multiple blocks are organized into a one-dimensional or
two-dimensional grid of thread blocks as illustrated by Figure 2-1. The dimension of
the grid is specified by the first parameter of the <<<…>>> syntax. Each block
within the grid can be identified by a one-dimensional or two-dimensional index
accessible within the kernel through the built-in blockIdx variable. The dimension
of the thread block is accessible within the kernel through the built-in blockDim
variable. The previous sample code becomes:
xuleimath 2009-10-28
  • 打赏
  • 举报
回复
应该是三维
试试把三维都减小看看

581

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧