Redesign GPU FFT abstraction
- Modify interface to allow distributed FFT implementation in future
- Provide support for choosing FFT backend at runtime. E.g. CUFFT backend can be instantiated for single-GPU FFT but HeFFTe can be instantiated in case PME decomposition is used.
This is a pre-requisite for GPU PME-decomposition implementation.
Refs #3884
Edited by Gaurav Garg