|
struct | heffte::tag::cpu |
| Indicates the use of cpu backend and that all input/output data and arrays will be bound to the cpu. More...
|
|
struct | heffte::tag::gpu |
| Indicates the use of gpu backend and that all input/output data and arrays will be bound to the gpu device. More...
|
|
struct | heffte::backend::data_manipulator< location_tag > |
| Common data-transfer operations, must be specializes for each location (cpu/gpu). More...
|
|
struct | heffte::backend::data_manipulator< tag::cpu > |
| Common data-transfer operations on the cpu. More...
|
|
struct | heffte::backend::is_enabled< tag > |
| Allows to define whether a specific backend interface has been enabled. More...
|
|
struct | heffte::backend::buffer_traits< backend_tag, type > |
| Defines the container for the temporary buffers. More...
|
|
struct | heffte::backend::uses_gpu< backend_tag, typename > |
| Struct that specializes to true type if the location of the backend is on the gpu (false type otherwise). More...
|
|
struct | heffte::backend::uses_gpu< backend_tag, typename std::enable_if< std::is_same< typename buffer_traits< backend_tag >::location, tag::gpu >::value, void >::type > |
| Specialization for the on-gpu case. More...
|
|
struct | heffte::backend::device_instance< backend_tag > |
| Holds the auxiliary variables needed by each backend. More...
|
|
struct | heffte::backend::default_backend< location_tag > |
| Defines inverse mapping from the location tag to a default backend tag. More...
|
|
struct | heffte::backend::uses_fft_types< backend_tag > |
| Defines whether the backend accepts the standard FFT real-complex or complex-complex transform. More...
|
|
struct | heffte::backend::check_types< backend_tag, input, output, typename > |
| Set to true/false type depending whether the types are compatible with the backend transform. More...
|
|
struct | heffte::backend::check_types< backend_tag, input, output, typename std::enable_if< uses_fft_types< backend_tag >::value and((std::is_same< input, float >::value and is_ccomplex< output >::value) or(std::is_same< input, double >::value and is_zcomplex< output >::value) or(is_ccomplex< input >::value and is_ccomplex< output >::value) or(is_zcomplex< input >::value and is_zcomplex< output >::value))>::type > |
| Defines the types compatible for a standard FFT transform. More...
|
|
struct | heffte::backend::uses_fft_types< fftw_cos > |
| Sets the cos() transform types. More...
|
|
struct | heffte::backend::uses_fft_types< fftw_sin > |
| Sets the sin() transform types. More...
|
|
struct | heffte::backend::check_types< backend_tag, input, output, typename std::enable_if< not uses_fft_types< backend_tag >::value and((std::is_same< input, float >::value and std::is_same< output, float >::value) or(std::is_same< input, double >::value and std::is_same< output, double >::value))>::type > |
| Defines the types compatible for a cos() transform. More...
|
|
class | heffte::executor_base |
| Base class for all backend executors. More...
|
|
struct | heffte::one_dim_backend< typename > |
| Indicates the structure that will be used by the fft backend. More...
|
|
struct | heffte::default_plan_options< typename > |
| Defines a set of default plan options for a given backend. More...
|
|
|
template<typename backend_tag > |
std::string | heffte::backend::name () |
| Returns the human readable name of the backend.
|
|
template<> |
std::string | heffte::backend::name< tag::cpu > () |
| Indicates the name of the location tag.
|
|
template<> |
std::string | heffte::backend::name< tag::gpu > () |
| Indicates the name of the location tag.
|
|
template<typename scalar_type > |
std::vector< scalar_type > | heffte::make_buffer_container (void *, size_t size) |
| Factory method to create new buffer container for the CPU backends.
|
|
template<typename backend_tag > |
constexpr bool | heffte::has_executor2d () |
| Defines whether the executor has a 2D version (slabs).
|
|
template<typename backend_tag > |
constexpr bool | heffte::has_executor3d () |
| Defines whether the executor has a 3D version (single rank).
|
|
template<typename index > |
int | heffte::fft1d_get_howmany (box3d< index > const box, int const dimension) |
| Return the number of 1-D ffts contained in the box in the given dimension.
|
|
template<typename index > |
int | heffte::fft1d_get_stride (box3d< index > const box, int const dimension) |
| Return the stride of the 1-D ffts contained in the box in the given dimension.
|
|
Sub-module that encompasses all backend wrappers and meta data.