24#if defined(ESPRESSO_DP3M)
28#include "communication.hpp"
34template <
typename FloatType>
40template <
typename FloatType>
43template <
typename FloatType>
45 ca_mesh_size =
fft->initialize_fft(
50template <
typename FloatType>
55template <
typename FloatType>
Historic FFT backend based on FFTW3.
void backward_fft(FloatType *rs_mesh) override
~FFTBackendLegacy() override
FFTBackendLegacy(P3MLocalMesh const &local_mesh)
void init(P3MParameters const ¶ms) override
void forward_fft(FloatType *rs_mesh) override
API for the legacy FFT backend of the P3M algorithm.
cudaStream_t stream[1]
CUDA streams for parallel computing on CPU and GPU.
Communicator communicator
boost::mpi::communicator comm_cart
The communicator.
std::unique_ptr< CommunicationEnvironment > communication_environment
Routines, row decomposition, data structures and communication for the 3D-FFT.
Utils::Vector3i node_grid
Properties of the local mesh.
Structure to hold P3M parameters and some dependent variables.
Utils::Vector3d mesh_off
offset of the first mesh point (lower left corner) from the coordinate origin ([0,...
Utils::Vector3i mesh
number of mesh points per coordinate direction (>0), in real space.