Multi-GPU FFT: 1D real data transforms

Hi,

I work on a multi-GPU simulation performing multi dimensional real data FFTs. However for some need to compute a 1D FFT over a distributed data in each dimension separately.

Here is an example. Let’s have a 3D real matrix distributed over multiple GPUs in highest dimension. What I need to do is perform a 1D R2C FFTs for each dimension, apply some operations and compute an inverse 1D FFTs back. For:

  • x axis - no problem, I would create and execute 1D FFT plans on each GPU separately
  • y axis - no problem, same solution
  • z axis - here is the problem. The data is split between GPUs so I would have to create a multi-GPU plan, however cufftXt does not support this kind of transform.

The question is, if cufftXt will ever allow me to perform this operation. I guess it would not be too performant, but it would be really helpful to just have a way to do it. Do you think there is a solution I missed?

Thank you for your reply.

David