Highly Efficient FFT for Exascale: HeFFTe v2.4
Loading...
Searching...
No Matches
heffte_c_defines.h
1/*
2 -- heFFTe --
3 Univ. of Tennessee, Knoxville
4 @date
5*/
6
7#ifndef HEFFTE_C_DEFINES_H
8#define HEFFTE_C_DEFINES_H
9
47#include "heffte_config.h"
48
49
54#define Heffte_BACKEND_STOCK 0
55
56#ifdef Heffte_ENABLE_FFTW
61#define Heffte_BACKEND_FFTW 1
62#endif
63#ifdef Heffte_ENABLE_MKL
68#define Heffte_BACKEND_MKL 2
69#endif
70#ifdef Heffte_ENABLE_CUDA
75#define Heffte_BACKEND_CUFFT 10
76#endif
77#ifdef Heffte_ENABLE_ROCM
82#define Heffte_BACKEND_ROCFFT 11
83#endif
84
89#define Heffte_SUCCESS 0
90
95#define Heffte_RESHAPE_ALGORITHM_ALLTOALLV 0
100#define Heffte_RESHAPE_ALGORITHM_P2P_PLINED 1
105#define Heffte_RESHAPE_ALGORITHM_P2P 2
106
123
133typedef struct{
139 void *fft;
141
147
152#define Heffte_SCALE_NONE 0
157#define Heffte_SCALE_FULL 1
162#define Heffte_SCALE_SYMMETRIC 2
163
164#endif // HEFFTE_C_DEFINES_H
heffte_fft_plan * heffte_plan
C-style wrapper around an instance of heffte::fft3d or heffte::fft3d_r2c using some backend.
Definition heffte_c_defines.h:146
Generic wrapper around some fft3d/fft3d_r2c instance, use heffte_plan instead of this.
Definition heffte_c_defines.h:133
int backend_type
Remembers the type of the backend.
Definition heffte_c_defines.h:135
int using_r2c
If 0 then using heffte::fft3d, otherwise using heffte::fft3d_r2c.
Definition heffte_c_defines.h:137
void * fft
Wrapper around an object of type heffte::fft3d or heffte::fft3d_r2c.
Definition heffte_c_defines.h:139
Equivalent to heffte::plan_options but defined for the C API.
Definition heffte_c_defines.h:113
int use_gpu_aware
Corresponds to heffte::plan_options::use_gpu_aware.
Definition heffte_c_defines.h:121
int use_reorder
Corresponds to heffte::plan_options::use_reorder.
Definition heffte_c_defines.h:115
int use_pencils
Corresponds to heffte::plan_options::use_pencils.
Definition heffte_c_defines.h:119
int algorithm
Corresponds to heffte::plan_options::use_alltoall, must be one of the Heffte_RESHAPE_ALGORITHM option...
Definition heffte_c_defines.h:117