![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
FFT manager. More...
#include <P3MFFT.hpp>
Public Types | |
| using | OutputType = typename heffte::fft_output< FloatType >::type |
| using | backend = std::conditional_t< Architecture==Arch::CPU, heffte::backend::fftw, heffte::backend::cufft > |
| template<class T = OutputType> | |
| using | buffer_container = heffte::fft3d< backend >::template buffer_container< T > |
Public Member Functions | |
| ~P3MFFT () | |
| P3MFFT (stream_type gpu_stream, boost::mpi::communicator comm, Utils::Vector3i const &global_mesh, Utils::Vector3i const &rs_local_ld_index, Utils::Vector3i const &rs_local_ur_index, Utils::Vector3i const &node_grid) | |
| Utils::Vector3i | ks_local_ld_index () const |
| Utils::Vector3i | ks_local_ur_index () const |
| Utils::Vector3i | ks_local_size () const |
| Utils::Vector3i | rs_local_size () const |
| void | forward (auto &&in, auto &&out) |
| void | backward (auto &&in, auto &&out) |
FFT manager.
Definition at line 48 of file P3MFFT.hpp.
| using P3MFFT< FloatType, Architecture, FFTConfig >::backend = std::conditional_t<Architecture == Arch::CPU, heffte::backend::fftw, heffte::backend::cufft> |
Definition at line 51 of file P3MFFT.hpp.
| using P3MFFT< FloatType, Architecture, FFTConfig >::buffer_container = heffte::fft3d<backend>::template buffer_container<T> |
Definition at line 55 of file P3MFFT.hpp.
| using P3MFFT< FloatType, Architecture, FFTConfig >::OutputType = typename heffte::fft_output<FloatType>::type |
Definition at line 50 of file P3MFFT.hpp.
|
inline |
Definition at line 83 of file P3MFFT.hpp.
|
inline |
Definition at line 87 of file P3MFFT.hpp.
References Utils::Vector< T, N >::broadcast(), communication_environment, CUDA, fe_trap::make_shared_pause_scoped(), Utils::product(), Utils::ROW_MAJOR, and stream.
Definition at line 187 of file P3MFFT.hpp.
References stream.
Referenced by P3MFFTHeffte< FloatType, FFTConfig >::backward().
Definition at line 184 of file P3MFFT.hpp.
References stream.
Referenced by P3MFFTHeffte< FloatType, FFTConfig >::forward().
|
inline |
Definition at line 171 of file P3MFFT.hpp.
Referenced by P3MFFTHeffte< FloatType, FFTConfig >::ks_local_ld_index(), and P3MFFT< FloatType, Architecture, FFTConfig >::ks_local_size().
|
inline |
Definition at line 177 of file P3MFFT.hpp.
References P3MFFT< FloatType, Architecture, FFTConfig >::ks_local_ld_index(), and P3MFFT< FloatType, Architecture, FFTConfig >::ks_local_ur_index().
Referenced by P3MFFTHeffte< FloatType, FFTConfig >::ks_local_size().
|
inline |
Definition at line 174 of file P3MFFT.hpp.
References Utils::Vector< T, N >::broadcast().
Referenced by P3MFFT< FloatType, Architecture, FFTConfig >::ks_local_size(), and P3MFFTHeffte< FloatType, FFTConfig >::ks_local_ur_index().
|
inline |
Definition at line 180 of file P3MFFT.hpp.
References Utils::Vector< T, N >::broadcast().
Referenced by P3MFFTHeffte< FloatType, FFTConfig >::rs_local_size().