For a simple DAQ application that does not use areaDetector, I recently implemented a 1-D FFT device support using the FFTW3 library, loosely based on code from Michael Davidsaver.
This Device Support avoids copying arrays and swaps pointers in and out of the array type records instead.
While our initial application is actually relatively slow (and could have just copied the data), I wanted to make it a more generally useful module and gain experience doing that zero-copy array support.
Cheers,
~Ralph