#include <gromacs/fft/gpu_3dfft_impl.h>
Impl base class for all FFT backends.
|
| Impl ()=default |
| Default constructor.
|
|
| Impl (bool allocateGrids, MPI_Comm comm, ArrayRef< const int > gridSizesInXForEachRank, ArrayRef< const int > gridSizesInYForEachRank, int nz, bool performOutOfPlaceFFT, const DeviceContext &context, const DeviceStream &pmeStream, ivec realGridSize, ivec realGridSizePadded, ivec complexGridSizePadded, DeviceBuffer< float > *realGrid, DeviceBuffer< float > *complexGrid) |
| Constructs GPU FFT plans for performing 3D FFT on a PME grid. More...
|
|
virtual | ~Impl ()=default |
| Default destructor.
|
|
virtual void | perform3dFft (gmx_fft_direction dir, CommandEvent *timingEvent)=0 |
| Performs the FFT transform in given direction. More...
|
|
gmx::Gpu3dFft::Impl::Impl |
( |
bool |
allocateGrids, |
|
|
MPI_Comm |
comm, |
|
|
ArrayRef< const int > |
gridSizesInXForEachRank, |
|
|
ArrayRef< const int > |
gridSizesInYForEachRank, |
|
|
int |
nz, |
|
|
bool |
performOutOfPlaceFFT, |
|
|
const DeviceContext & |
context, |
|
|
const DeviceStream & |
pmeStream, |
|
|
ivec |
realGridSize, |
|
|
ivec |
realGridSizePadded, |
|
|
ivec |
complexGridSizePadded, |
|
|
DeviceBuffer< float > * |
realGrid, |
|
|
DeviceBuffer< float > * |
complexGrid |
|
) |
| |
Constructs GPU FFT plans for performing 3D FFT on a PME grid.
- Parameters
-
[in] | allocateGrids | True if fft grids are to be allocated, false if pre-allocated |
[in] | comm | MPI communicator, used with distributed-FFT backends |
[in] | gridSizesInXForEachRank | Number of grid points used with each rank in X-dimension |
[in] | gridSizesInYForEachRank | Number of grid points used with each rank in Y-dimension |
[in] | nz | Grid dimension in Z |
[in] | performOutOfPlaceFFT | Whether the FFT will be performed out-of-place |
[in] | context | GPU context. |
[in] | pmeStream | GPU stream for PME. |
[in,out] | realGridSize | Dimensions of the local real grid, out if allocateGrids=true |
[in,out] | realGridSizePadded | Dimensions of the local real grid with padding, out if allocateGrids=true |
[in,out] | complexGridSizePadded | Dimensions of the local complex grid with padding, out if allocateGrids=true |
[in,out] | realGrid | Device buffer of floats for the local real grid, out if allocateGrids=true |
[in,out] | complexGrid | Device buffer of complex floats for the local complex grid, out if allocateGrids=true |
The documentation for this class was generated from the following file: