The paper提供了以下代码来计算FFT:
FFT_Rows(x, y, N, Ns, input)
{
base = floor(x / Ns) * (Ns / 2);
offset = x mod(Ns / 2);
x0 = base + offset;
x1 = x0 + N / 2;
(Re0, Im0) = input[x0][y];
(Re1, Im1) = input[x1][y];
angle = -2 * M_PI * (x / Ns);
(ReT, ImT) = (cos(angle), sin(angle));
return (Re0 + ReT * Re1 - ImT * Im1,
Im0 + ImT * Re1 + ReT * Im1);
}
GPU实施中的base
和offset
如何工作?我猜base + offset
正在做位反转的工作,但我不知道它是如何工作的;