Im no FFT wizard, but, the FFT implementations in jitter/msp want to use power power of two square windows, so you might be better of storing at 512×512. If you use jit.fft, you could dump the output to a series of matrices using either a 3D matrix (jit.matrix 1 float32 512 512 n – where n is the number of time slices you want).

As for FFT on the GPU, its been done, and there are some frameworks for doing it, but ive never gotten it working in jitter, and lost interest pretty quick because it was a real challenge to get working :)

I dont really know enough about the FFT theory to be able to answer the rest straight faced :)