ExaDG
|
#include <permutation.h>
Public Member Functions | |
Permutator (MPI_Comm const &comm, Setup &s) | |
template<typename MAPPING, typename FFTW> | |
void | init (MAPPING &MAP, FFTW &FFT) |
virtual | ~Permutator () |
void | ipermute (double *source, double *target) |
void | iwait () |
Class for permuting dofs from cellwise-sfc-order to lexicographical order such that processes own complete rows (2D) or complete planes (3D) as specified by FFTW. To be able to process the resulting array by FFTW, we on the fly insert padding.
This class expects an input array as described in the interpolation class and produces an array of the format which comply the requirements described in the FFTW wrapper class.
|
inline |
Constructor
s | DEAL.SPECTRUM setup |
|
inlinevirtual |
Destructor
|
inline |
Initialize all data structures needed for communication
MAP | reference to bijection function |
FFT | reference to fftw-wrapper |
|
inline |
Start (nonblocking) permutation:
source | source array to be permuted... |
target | ...into target array |
|
inline |
Finish (nonblocking) permutation: wait and write received data from buffer into target array