|
Gromacs
2026.0-dev-20251109-f20ba35
|
#include <gromacs/fft/gpu_3dfft_hip_vkfft.h>
Inheritance diagram for gmx::Gpu3dFft::ImplHipVkFft:
Collaboration diagram for gmx::Gpu3dFft::ImplHipVkFft:A 3D FFT wrapper class for performing R2C/C2R transforms using hipFFT.
Classes | |
| class | Impl |
| Impl class. More... | |
Public Member Functions | |
| ImplHipVkFft (bool allocateRealGrid, 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) | |
| Default constructor. More... | |
| ~ImplHipVkFft () override | |
| Default destructor. More... | |
| void | perform3dFft (gmx_fft_direction dir, CommandEvent *timingEvent) override |
| Performs the FFT transform in given direction. More... | |
Public Member Functions inherited from gmx::Gpu3dFft::Impl | |
| Impl () | |
| Default constructor. | |
| Impl (bool performOutOfPlaceFFT) | |
| Constructor called from dervied classes. | |
| Impl (bool allocateRealGrid, 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 destructor. | |
Additional Inherited Members | |
Protected Member Functions inherited from gmx::Gpu3dFft::Impl | |
| void | allocateComplexGrid (const ivec complexGridSizePadded, DeviceBuffer< float > *realGrid, DeviceBuffer< float > *complexGrid, const DeviceContext &context) |
| Allocate and assign complexGrid. | |
| void | deallocateComplexGrid () |
| free complexGrid | |
Protected Attributes inherited from gmx::Gpu3dFft::Impl | |
| bool | performOutOfPlaceFFT_ = false |
| A boolean which tells whether the complex and real grids are different or same. Currenty true. | |
| DeviceBuffer< float > | complexGrid_ |
| FFT complex grid. | |
| gmx::Gpu3dFft::ImplHipVkFft::ImplHipVkFft | ( | bool | allocateRealGrid, |
| 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 | ||
| ) |
Default constructor.
|
override |
Default destructor.
|
overridevirtual |
Performs the FFT transform in given direction.
| [in] | dir | FFT transform direction specifier |
| [out] | timingEvent | pointer to the timing event where timing data is recorded |
Implements gmx::Gpu3dFft::Impl.
1.8.5