Highly Efficient FFT for Exascale: HeFFTe v2.4
Loading...
Searching...
No Matches
heffte_compute_transform.h
1/*
2 -- heFFTe --
3 Univ. of Tennessee, Knoxville
4 @date
5*/
6
7#ifndef HEFFTE_COMPUTE_TRANSFORM_H
8#define HEFFTE_COMPUTE_TRANSFORM_H
9
10#include "heffte_reshape3d.h"
11
12namespace heffte {
13
48 template<typename location_tag, typename index, typename scalar_type>
49 void compute_transform(typename backend::data_manipulator<location_tag>::stream_type stream,
50 int const batch_size,
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,
55 direction dir);
72 template<typename location_tag, typename index, typename scalar_type>
73 void compute_transform(typename backend::data_manipulator<location_tag>::stream_type stream,
74 int const batch_size,
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,
78 std::array<std::unique_ptr<reshape3d_base<index>>, 4> const &shaper,
79 std::array<executor_base*, 3> const &executor, direction);
96 template<typename location_tag, typename index, typename scalar_type>
97 void compute_transform(typename backend::data_manipulator<location_tag>::stream_type stream,
98 int const batch_size,
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,
102 std::array<std::unique_ptr<reshape3d_base<index>>, 4> const &shaper,
103 std::array<executor_base*, 3> const &executor, direction);
104
105}
106
107#endif // HEFFTE_COMPUTE_TRANSFORM_H
Base reshape interface.
Definition heffte_reshape3d.h:60
direction
Indicates the direction of the FFT (internal use only).
Definition heffte_common.h:652
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