HILA
Loading...
Searching...
No Matches
hila_fft< cmplx_t > Class Template Reference

#include <fft.h>

Public Member Functions

template<typename T >
void collect_data (const Field< T > &f)
 
template<typename T >
void full_transform (const Field< T > &input, Field< T > &result, const CoordinateVector &directions)
 Do the transform itself (fft or reflect only)
 
void gather_data ()
 send column data to nodes
 
void reflect ()
 
void reshuffle_data (Direction prev_dir)
 
template<typename T >
void save_result (Field< T > &f)
 Inverse of the fft_collect_data: write fft'd data from receive_buf to field.
 
void scatter_data ()
 inverse of gather_data
 
void setup_direction (Direction _dir)
 Initialize fft to Direction dir.
 
void transform ()
 transform does the actual fft.
 

Detailed Description

template<typename cmplx_t>
class hila_fft< cmplx_t >

Class to hold fft relevant variables - note: fft.cpp holds static info, which is not here

Definition at line 81 of file fft.h.

Member Function Documentation

◆ collect_data()

template<typename cmplx_t >
template<typename T >
void hila_fft< cmplx_t >::collect_data ( const Field< T > &  f)
inline

Collect the data from field to send_buf for sending or fft'ing. Order: Direction dir goes fastest, then the index to complex data in T, and other directions are slowest.

Definition at line 182 of file fft.h.

◆ reflect()

template<typename cmplx_t >
void hila_fft< cmplx_t >::reflect
inline

Separate reflect operation Reflect flips the coordinates so that negative direction becomes positive, and x=0 plane remains, r(x) <- f(L - x) - note that x == 0 layer is as before r(0) = f(0), r(1) = f(L-1), r(2) = f(L-2) ...

Definition at line 516 of file fft_gpu_transform.h.

◆ reshuffle_data()

template<typename cmplx_t >
void hila_fft< cmplx_t >::reshuffle_data ( Direction  prev_dir)
inline

Reshuffle data, given that previous fft dir was to prev_dir and now to dir Assuming here that the data is in receive_buf after fft and copy to send_buf This requires swapping send_buf and receive_buf ptrs after 1 fft

Definition at line 251 of file fft.h.

◆ transform()

template<typename cmplx_t >
void hila_fft< cmplx_t >::transform

transform does the actual fft.

Define hila_fft<>::transform() -functions and scatter() / gather() -functions for fftw

This is not a standalone header, it is meant to be #include'd from fft.h .

Definition at line 194 of file fft_gpu_transform.h.


The documentation for this class was generated from the following files: