Highly Efficient FFT for Exascale: HeFFTe v2.4
Toggle main menu visibility
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
12
namespace
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
heffte::reshape3d_base
Base reshape interface.
Definition
heffte_reshape3d.h:60
heffte::direction
direction
Indicates the direction of the FFT (internal use only).
Definition
heffte_common.h:652
heffte
Namespace containing all HeFFTe methods and classes.
Definition
heffte_backend_cuda.h:38
heffte::backend::data_manipulator
Common data-transfer operations, must be specializes for each location (cpu/gpu).
Definition
heffte_common.h:59
include
heffte_compute_transform.h
Generated by
1.17.0