cuFFT input reordering


I’m new to cuFFT and having some trouble visualizing the inembed/stride/dist parameters.

Currently, I have a 4-dimensional vector that needs to be batch processed.
if I want the FFT to process along the X dimension, and have it output to the lowest-loop vector position, as such:


Is this reorganization possible with the parameters available?
I’m currently trying:

rank = 1
n = X
howmany = a * b * c
idist = 1
odist = X
istride = b*c
ostride = 1

cufftPlanMany(&plan, rank, &n, inembed, istride, idist, inembed, ostride, odist, CUFFT_C2C, howmany);

however, the results look to be different than if I ran the 1D vectors separately and reshuffled it manually.