|
IPPL (Independent Parallel Particle Layer)
IPPL
|
#include <FFT.h>
Public Types | |
| using | Complex_t = typename ComplexField::value_type |
Public Member Functions | |
| void | warmup (ComplexField &f) |
| void | transform (TransformDirection direction, ComplexField &f) |
Private Types | |
| using | Base = IN_PLACE_FFT_BASE_CLASS(ComplexField, backend) |
Static Private Attributes | |
| static constexpr unsigned | Dim = ComplexField::dim |
complex-to-complex FFT class
|
private |
| using ippl::FFT< CCTransform, ComplexField >::Complex_t = typename ComplexField::value_type |
| void ippl::FFT< CCTransform, ComplexField >::transform | ( | TransformDirection | direction, |
| ComplexField & | f ) |
Perform in-place FFT
| direction | Forward or backward transformation |
| f | Field whose transformation to compute (and overwrite) |
This copy to a temporary Kokkos view is needed because of following reasons: 1) heffte wants the input and output fields without ghost layers 2) heffte accepts data in layout left (by default) even though this can be changed during heffte box creation
Definition at line 118 of file FFT.hpp.
References ippl::apply(), ippl::BACKWARD, Dim, ippl::FORWARD, ippl::getRangePolicy(), ippl::parallel_for(), and ippl::detail::shrinkView().
Referenced by warmup().
| void ippl::FFT< CCTransform, ComplexField >::warmup | ( | ComplexField & | f | ) |
Warmup the FFT object by forward & backward FFT on an empty field
| f | Field whose transformation to compute (and overwrite) |
Definition at line 112 of file FFT.hpp.
References ippl::BACKWARD, ippl::FORWARD, and transform().
|
staticconstexprprivate |
Definition at line 192 of file FFT.h.
Referenced by transform().