7 #ifndef HEFFTE_COMPUTE_TRANSFORM_H
8 #define HEFFTE_COMPUTE_TRANSFORM_H
10 #include "heffte_reshape3d.h"
48 template<
typename location_tag,
typename index,
typename scalar_type>
49 void compute_transform(
typename backend::data_manipulator<location_tag>::stream_type stream,
51 scalar_type
const input[], scalar_type output[], scalar_type workspace[],
52 size_t executor_buffer_offset,
size_t size_comm_buffers,
53 std::array<std::unique_ptr<reshape3d_base<index>>, 4>
const &shaper,
54 std::array<executor_base*, 3>
const &executor,
72 template<
typename location_tag,
typename index,
typename scalar_type>
75 scalar_type
const input[], std::complex<scalar_type> output[],
76 std::complex<scalar_type> workspace[],
77 size_t executor_buffer_offset,
size_t size_comm_buffers,
79 std::array<executor_base*, 3>
const &executor,
direction);
96 template<
typename location_tag,
typename index,
typename scalar_type>
99 std::complex<scalar_type>
const input[], scalar_type output[],
100 std::complex<scalar_type> workspace[],
101 size_t executor_buffer_offset,
size_t size_comm_buffers,
103 std::array<executor_base*, 3>
const &executor,
direction);
Base reshape interface.
Definition: heffte_reshape3d.h:60
direction
Indicates the direction of the FFT (internal use only).
Definition: heffte_common.h:535
Namespace containing all HeFFTe methods and classes.
Definition: heffte_backend_cuda.h:38
Common data-transfer operations, must be specializes for each location (cpu/gpu).
Definition: heffte_common.h:59