cuFFT on cudaSurfaceObject?

Hi, so far I’ve used cuFFT for 2D & 3D transforms on larger inputs (up to GB) of linear device memory, but now I might need inputs/outputs as 2D/3D surface memory. To conserve limited memory and to avoid copying to/from linear memory, are there FFT libraries that work directly on CUDA surfaces? I didn’t see any option for this in the cuFFT docs. But maybe that’s a bad idea anyway as FFTs are nicely separable and the 3D coherence would not only not help, but perhaps make it worse. Still I’m curious if anyone has tried this.

Use cuFFTDx

There you get the computation and can implement the memory accesses yourself.

They are meant as building blocks.