【发布时间】:2015-05-28 21:51:16
【问题描述】:
我需要为 CUDA 内核实现 2D 圆环,因此如果可能,它应该没有分支。
例如
| | |
--0--1--2--
--3--4--5--
--6--7--8--
| | |
所以线程 0 应该知道他的邻居是 1、3、6 和 2;等等。
我得到左右邻居如下:
right = (id + 1) % columns + firstRowId
left = (id - 1) % columns + firstRowId
但我不知道如何有效地获取上下 id。
更新:firstRowId 表示其行的第一个元素的 id,不好的名字,对不起。
【问题讨论】:
标签: c arrays algorithm multidimensional-array