Highly Efficient FFT for Exascale: HeFFTe v2.4
Loading...
Searching...
No Matches
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
 Cheffte::add_traceHefftetrace
 Cheffte::align< backend_tag >CuFFT requires that the input and output in R2C transforms are aligned to the complex type
 Cheffte::stock::biFuncNode< F, L >Class to represent the call-graph nodes
 Cheffte::box3d< index >A generic container that describes a 3d box of indexes
 Cheffte::backend::buffer_traits< backend_tag, type >Defines the container for the temporary buffers
 Cheffte::backend::buffer_traits< cufft >Defines the location type-tag and the cuda container
 Cheffte::backend::buffer_traits< cufft_cos >Defines the location type-tag and the cuda container
 Cheffte::backend::buffer_traits< cufft_cos1 >
 Cheffte::backend::buffer_traits< cufft_sin >Defines the location type-tag and the cuda container
 Cheffte::backend::buffer_traits< onemkl >Defines the location type-tag and the oneAPI container
 Cheffte::backend::buffer_traits< onemkl_cos >Defines the location type-tag and the oneAPI container
 Cheffte::backend::buffer_traits< onemkl_sin >Defines the location type-tag and the oneAPI container
 Cheffte::backend::buffer_traits< rocfft >Defines the location type-tag and the cuda container
 Cheffte::backend::buffer_traits< rocfft_cos >Defines the location type-tag and the cuda container
 Cheffte::backend::buffer_traits< rocfft_cos1 >Defines the location type-tag and the cuda container
 Cheffte::backend::buffer_traits< rocfft_sin >Defines the location type-tag and the cuda container
 Cheffte::stock::Complex< F, L >Custom complex type taking advantage of vectorization A Complex Type intrinsic to HeFFTe that takes advantage of vectorization. It is currently compatible with AVX2 to create 1 double-precision complex, 2 double-precision complex, 2 single-precision complex, or 4 single-precision complex numbers
 Cheffte::stock::complex_allocator_t< F >Allocator to use with heffte::stock::Complex types Class to properly allocate heffte::stock::Complex<F,L> types to ensure proper alignment of the type when using containers like std::vector
 Cheffte::cuda::cos1_pre_pos_processor
 Cheffte::rocm::cos1_pre_pos_processorImplementation of Cosine Transform of type 1 pre-post processing methods using CUDA
 Cheffte::cuda::cos_pre_pos_processorImplementation of Cosine Transform pre-post processing methods using CUDA
 Cheffte::oapi::cos_pre_pos_processorImplementation of Cosine Transform pre-post processing methods using CUDA
 Cheffte::rocm::cos_pre_pos_processorImplementation of Cosine Transform pre-post processing methods using CUDA
 Cheffte::tag::cpuIndicates the use of cpu backend and that all input/output data and arrays will be bound to the cpu
 Cheffte::cpu_cos1_pre_pos_processorPre/Post processing for the Cosine transform type I using the CPU
 Cheffte::cpu_cos_pre_pos_processorPre/Post processing for the Cosine transform using the CPU
 Cheffte::cpu_sin1_pre_pos_processor
 Cheffte::cpu_sin_pre_pos_processorPre/Post processing for the Sine transform using the CPU
 Cheffte::backend::cufftType-tag for the cuFFT backend
 Cheffte::backend::cufft_cosType-tag for the Cosine Transform using the cuFFT backend
 Cheffte::backend::cufft_cos1Type-tag for the Cosine Transform type 1 using the cuFFT backend
 Cheffte::backend::cufft_sinType-tag for the Sine Transform using the cuFFT backend
 Cheffte::backend::data_manipulator< location_tag >Common data-transfer operations, must be specializes for each location (cpu/gpu)
 Cheffte::backend::data_manipulator< tag::cpu >Common data-transfer operations on the cpu
 Cheffte::backend::data_manipulator< tag::gpu >Specialization for the data operations in CUDA mode
 Cheffte::backend::default_backend< location_tag >Defines inverse mapping from the location tag to a default backend tag
 Cheffte::backend::default_backend< tag::cpu >Make MKL the default CPU backend
 Cheffte::backend::default_backend< tag::gpu >In CUDA mode, the default GPU backend is cufft
 Cheffte::default_plan_options< typename >Defines a set of default plan options for a given backend
 Cheffte::default_plan_options< backend::cufft >Sets the default options for the cufft backend
 Cheffte::default_plan_options< backend::cufft_cos >Sets the default options for the cufft backend
 Cheffte::default_plan_options< backend::cufft_cos1 >
 Cheffte::default_plan_options< backend::cufft_sin >Sets the default options for the cufft backend
 Cheffte::default_plan_options< backend::fftw >Sets the default options for the fftw backend
 Cheffte::default_plan_options< backend::fftw_cos >Sets the default options for the fftw backend
 Cheffte::default_plan_options< backend::fftw_cos1 >Sets the default options for the fftw backend
 Cheffte::default_plan_options< backend::fftw_sin >Sets the default options for the fftw backend
 Cheffte::default_plan_options< backend::fftw_sin1 >Sets the default options for the fftw backend
 Cheffte::default_plan_options< backend::mkl >Sets the default options for the mkl backend
 Cheffte::default_plan_options< backend::mkl_cos >Sets the default options for the mkl backend
 Cheffte::default_plan_options< backend::mkl_sin >Sets the default options for the mkl backend
 Cheffte::default_plan_options< backend::onemkl >Sets the default options for the oneMKL backend
 Cheffte::default_plan_options< backend::onemkl_cos >Sets the default options for the oneMKL backend
 Cheffte::default_plan_options< backend::onemkl_sin >Sets the default options for the oneMKL backend
 Cheffte::default_plan_options< backend::rocfft >Sets the default options for the cufft backend
 Cheffte::default_plan_options< backend::rocfft_cos >Sets the default options for the cufft backend
 Cheffte::default_plan_options< backend::rocfft_cos1 >Sets the default options for the cufft backend
 Cheffte::default_plan_options< backend::rocfft_sin >Sets the default options for the cufft backend
 Cheffte::default_plan_options< backend::stock >Sets the default options for the stock fft backend
 Cheffte::default_plan_options< backend::stock_cos >Sets the default options for the stock fft backend
 Cheffte::default_plan_options< backend::stock_cos1 >Sets the default options for the stock fft backend
 Cheffte::default_plan_options< backend::stock_sin >Sets the default options for the stock fft backend
 Cheffte::define_standard_type< typename, typename >Struct to specialize that returns the C++ equivalent of each type
 Cheffte::define_standard_type< double, void >Type double is equivalent to double
 Cheffte::define_standard_type< float, void >Type float is equivalent to float
 Cheffte::define_standard_type< scalar_type, typename std::enable_if< is_ccomplex< scalar_type >::value >::type >Every type with specialization of heffte::is_ccomplex to std::true_type is equivalent to std::complex<float>
 Cheffte::define_standard_type< scalar_type, typename std::enable_if< is_zcomplex< scalar_type >::value >::type >Every type with specialization of heffte::is_zcomplex to std::true_type is equivalent to std::complex<double>
 Cheffte::backend::device_instance< backend_tag >Holds the auxiliary variables needed by each backend
 Cheffte::backend::device_instance< backend::buffer_traits< backend_tag >::location >
 Cheffte::fft3d< backend_tag, index >
 Cheffte::fft3d_r2c< backend_tag, index >
 Cheffte::fft3d< backend_tag, index >Defines the plan for a 3-dimensional discrete Fourier transform performed on a MPI distributed data
 Cheffte::fft3d_r2c< backend_tag, index >Similar to heffte::fft3d, but computed fewer redundant coefficients when the input is real
 Cheffte::backend::device_instance< location_tag >
 Cheffte::reshape3d_alltoall< location_tag, packer, index >Reshape algorithm based on the MPI_Alltoall() method
 Cheffte::reshape3d_alltoallv< location_tag, packer, index >Reshape algorithm based on the MPI_Alltoallv() method
 Cheffte::reshape3d_pointtopoint< location_tag, packer, index >Reshape algorithm based on the MPI_Send() and MPI_Irecv() methods
 Cheffte::reshape3d_transpose< location_tag, index >Special case of the reshape that does not involve MPI communication but applies a transpose instead
 Cheffte::backend::device_instance< tag::gpu >The CUDA backend uses a CUDA stream
 Cheffte::direct_packer< mode >Defines the direct packer without implementation, use the specializations to get the CPU or GPU implementation
 Cheffte::direct_packer< tag::cpu >Simple packer that copies sub-boxes without transposing the order of the indexes
 Cheffte::direct_packer< tag::gpu >Simple packer that copies sub-boxes without transposing the order of the indexes
 Cheffte::eventA tracing event
 Cheffte::event_chainerHelper class to chain a series of compute calls with sycl::event
 Cheffte::executor_baseBase class for all backend executors
 Cheffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >
 Cheffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >
 Cheffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >
 Cheffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >
 Cheffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >
 Cheffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >
 Cheffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >
 Cheffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >
 Cheffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >
 Cheffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >
 Cheffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >
 Cheffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >
 Cheffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >
 Cheffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >
 Cheffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >
 Cheffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >
 Cheffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >
 Cheffte::real2real_executor< backend::fftw, prepost_processor >
 Cheffte::cufft_executorWrapper around the cuFFT API
 Cheffte::cufft_executor_r2cWrapper to cuFFT API for real-to-complex transform with shortening of the data
 Cheffte::fftw_executorWrapper around the FFTW3 API
 Cheffte::fftw_executor_r2cWrapper to fftw3 API for real-to-complex transform with shortening of the data
 Cheffte::mkl_executorWrapper around the MKL API
 Cheffte::mkl_executor_r2cWrapper to mkl API for real-to-complex transform with shortening of the data
 Cheffte::onemkl_executorWrapper around the oneMKL API
 Cheffte::onemkl_executor_r2cWrapper to oneMKL API for real-to-complex transform with shortening of the data
 Cheffte::real2real_executor< fft_backend_tag, prepost_processor >Template algorithm for the Sine and Cosine transforms
 Cheffte::real2real_executor< backend::fftw, prepost_processor >
 Cheffte::rocfft_executorWrapper around the rocFFT API
 Cheffte::rocfft_executor_r2cWrapper to rocFFT API for real-to-complex transform with shortening of the data
 Cheffte::stock_fft_executorWrapper around the Stock FFT API
 Cheffte::stock_fft_executor_r2cWrapper to stock API for real-to-complex transform with shortening of the data
 Cstd::false_type
 Cheffte::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
 Cheffte::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
 Cheffte::backend::is_enabled< cufft >Indicate that the cuFFT backend has been enabled
 Cheffte::backend::is_enabled< cufft_cos >Indicate that the cuFFT backend has been enabled for Cosine Transform
 Cheffte::backend::is_enabled< cufft_cos1 >
 Cheffte::backend::is_enabled< cufft_sin >Indicate that the cuFFT backend has been enabled for Sine Transform
 Cheffte::backend::is_enabled< fftw >Indicate that the FFTW backend has been enabled
 Cheffte::backend::is_enabled< fftw_cos >Indicate that the cos() transform using the FFTW backend has been enabled
 Cheffte::backend::is_enabled< fftw_cos1 >Indicate that the cos() transform type II using the FFTW backend has been enabled
 Cheffte::backend::is_enabled< fftw_sin >Indicate that the cos() transform using the FFTW backend has been enabled
 Cheffte::backend::is_enabled< fftw_sin1 >Indicate that the cos() transform type II using the FFTW backend has been enabled
 Cheffte::backend::is_enabled< mkl >Indicate that the MKL backend has been enabled
 Cheffte::backend::is_enabled< mkl_cos >Indicate that the MKL Cosine Transform backend has been enabled
 Cheffte::backend::is_enabled< mkl_sin >Indicate that the MKL Sine Transform backend has been enabled
 Cheffte::backend::is_enabled< onemkl >Indicate that the oneMKL backend has been enabled
 Cheffte::backend::is_enabled< onemkl_cos >Indicate that the oneMKL backend has been enabled
 Cheffte::backend::is_enabled< onemkl_sin >Indicate that the oneMKL backend has been enabled
 Cheffte::backend::is_enabled< rocfft >Indicate that the rocFFT backend has been enabled
 Cheffte::backend::is_enabled< rocfft_cos >Indicate that the rocFFT backend has been enabled
 Cheffte::backend::is_enabled< rocfft_cos1 >Indicate that the rocFFT backend has been enabled
 Cheffte::backend::is_enabled< rocfft_sin >Indicate that the rocFFT backend has been enabled
 Cheffte::backend::is_enabled< stock >Indicate that the stock backend has been enabled
 Cheffte::backend::is_enabled< stock_cos >Indicate that the stock backend has been enabled
 Cheffte::backend::is_enabled< stock_cos1 >Indicate that the stock backend has been enabled
 Cheffte::backend::is_enabled< stock_sin >Indicate that the stock backend has been enabled
 Cheffte::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
 Cheffte::is_ccomplex< cufftComplex >Recognize the cuFFT single precision complex type
 Cheffte::is_ccomplex< fftwf_complex >Recognize the FFTW single precision complex type
 Cheffte::is_ccomplex< float _Complex >Recognize the MKL single precision complex type
 Cheffte::is_ccomplex< std::complex< float > >By default, HeFFTe recognizes std::complex<float>
 Cheffte::is_ccomplex< stock::Complex< float, 1 > >Recognize stock FFT single complex (which are std::complex) types
 Cheffte::is_zcomplex< cufftDoubleComplex >Recognize the cuFFT double precision complex type
 Cheffte::is_zcomplex< double _Complex >Recognize the MKL double precision complex type
 Cheffte::is_zcomplex< fftw_complex >Recognize the FFTW double precision complex type
 Cheffte::is_zcomplex< std::complex< double > >By default, HeFFTe recognizes std::complex<double>
 Cheffte::is_zcomplex< stock::Complex< double, 1 > >
 Cheffte::backend::check_types< backend_tag, input, output, typename >Set to true/false type depending whether the types are compatible with the backend transform
 Cheffte::backend::is_enabled< tag >Allows to define whether a specific backend interface has been enabled
 Cheffte::backend::uses_fft_types< cufft_cos >Sets the cos() transform types
 Cheffte::backend::uses_fft_types< cufft_cos1 >Sets the cos1() transform types
 Cheffte::backend::uses_fft_types< cufft_sin >Sets the sin() transform types
 Cheffte::backend::uses_fft_types< fftw_cos >Sets the cos() transform C++ types
 Cheffte::backend::uses_fft_types< fftw_cos1 >Sets the cos() transform C++ types
 Cheffte::backend::uses_fft_types< fftw_sin >Sets the sin() transform C++ types
 Cheffte::backend::uses_fft_types< fftw_sin1 >Sets the sin() transform C++ types
 Cheffte::backend::uses_fft_types< mkl_cos >Sets the cos() transform types
 Cheffte::backend::uses_fft_types< mkl_sin >Sets the sin() transform types
 Cheffte::backend::uses_fft_types< onemkl_cos >Sets the cos() transform types
 Cheffte::backend::uses_fft_types< onemkl_sin >Sets the sin() transform types
 Cheffte::backend::uses_fft_types< rocfft_cos >Sets the cos() transform types
 Cheffte::backend::uses_fft_types< rocfft_cos1 >Sets the cos1() transform types
 Cheffte::backend::uses_fft_types< rocfft_sin >Sets the sin() transform types
 Cheffte::backend::uses_fft_types< stock_cos >Sets the cos() transform types
 Cheffte::backend::uses_fft_types< stock_cos1 >Sets the cos() transform types
 Cheffte::backend::uses_fft_types< stock_sin >Sets the sin() transform types
 Cheffte::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)
 Cheffte::is_ccomplex< scalar_type >Struct to specialize to allow HeFFTe to recognize custom single precision complex types
 Cheffte::is_zcomplex< scalar_type >Struct to specialize to allow HeFFTe to recognize custom double precision complex types
 Cheffte::fft_output< scalar_type >Defines the relationship between pairs of input-output types in the FFT algorithms
 Cheffte::fft_output< double >Specialization mapping double to std::complex<double>
 Cheffte::fft_output< float >Specialization mapping float to std::complex<float>
 Cheffte::backend::fftwType-tag for the FFTW backend
 Cheffte::backend::fftw_cosType-tag for the Cosine Transform using the FFTW backend
 Cheffte::backend::fftw_cos1Type-tag for the Cosine Transform type 1 using the FFTW backend
 Cheffte::fftw_r2r_types< typename >
 Cheffte::fftw_r2r_types< float >
 Cheffte::backend::fftw_sinType-tag for the Sine Transform using the FFTW backend
 Cheffte::backend::fftw_sin1Type-tag for the Sine Transform type 1 using the FFTW backend
 Cheffte::stock::Fourier_Transform< F, L >Functor class to represent any Fourier Transform A class to use lambdas to switch between what FFT should be called
 Cheffte::tag::gpuIndicates the use of gpu backend and that all input/output data and arrays will be bound to the gpu device
 Cheffte_fft_planGeneric wrapper around some fft3d/fft3d_r2c instance, use heffte_plan instead of this
 Cheffte_plan_optionsEquivalent to heffte::plan_options but defined for the C API
 Cheffte::rocm::initializeIndicates whether the rocfft_setup() method has been called
 Cheffte::ioboxes< index >Pair of lists of input-output boxes as used by the heffte::fft3d
 Cheffte::stock::is_complex< T >Struct determining whether a type is a complex number
 Cheffte::stock::is_real< T >Struct determining whether a type is a real number
 Cheffte::logic_plan3d< index >The logic plan incorporates the order and types of operations in a transform
 Cheffte::gpu::magma_handle< typename >Wrapper around a MAGMA handle
 Cheffte::gpu::magma_handle< tag::gpu >Wrapper around a MAGMA handle in a GPU context
 Cheffte::backend::mklType-tag for the MKL backend
 Cheffte::backend::mkl_cosType-tag for the Cosine Transform using the MKL FFT backend
 Cheffte::backend::mkl_sinType-tag for the Sine Transform using the MKL FFT backend
 Cheffte::stock::omega< F, L >Create a stock Complex representation of a twiddle factor
 Cheffte::one_dim_backend< typename >Indicates the structure that will be used by the fft backend
 Cheffte::one_dim_backend< backend::cufft >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::cufft_cos >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::cufft_cos1 >
 Cheffte::one_dim_backend< backend::cufft_sin >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::fftw >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::fftw_cos >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::fftw_cos1 >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::fftw_sin >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::fftw_sin1 >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::mkl >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::mkl_cos >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::mkl_sin >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::onemkl >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::onemkl_cos >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::onemkl_sin >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::rocfft >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::rocfft_cos >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::rocfft_cos1 >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::rocfft_sin >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::stock >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::stock_cos >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::stock_cos1 >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::one_dim_backend< backend::stock_sin >Helper struct that defines the types and creates instances of one-dimensional executors
 Cheffte::backend::onemklType-tag for the oneMKL backend
 Cheffte::backend::onemkl_cosType-tag for the Cosine Transform using the oneMKL backend
 Cheffte::backend::onemkl_sinType-tag for the Sine Transform using the oneMKL backend
 Cheffte::stock::pack< T, N >Struct to retrieve the vector type associated with the number of elements stored "per unit"
 Cheffte::stock::pack< double, 1 >Alias for default double type
 Cheffte::stock::pack< float, 1 >Alias for default float type
 Cheffte::pack_plan_3d< index >Holds the plan for a pack/unpack operation
 Cheffte::packer_backend< backend >The packer needs to know whether the data will be on the CPU or GPU devices
 Cheffte::plan_cufft< scalar_type >Wrapper around cufftHandle plans, set for float or double complex
 Cheffte::plan_cufft_r2c< scalar_type >Plan for the r2c single and double precision transform
 Cheffte::plan_fftw< typename, direction >Base plan for fftw, using only the specialization for float and double complex
 Cheffte::plan_fftw< double, dir >Specialization for r2c double precision
 Cheffte::plan_fftw< float, dir >Specialization for r2c single precision
 Cheffte::plan_fftw< std::complex< double >, dir >Specialization for double complex
 Cheffte::plan_fftw< std::complex< float >, dir >Plan for the single precision complex transform
 Cheffte::plan_fftw_r2r< scalar_type, preprocessor, dir >Wrapper for the r2r plan to allow for RAII style of management
 Cheffte::plan_mkl< scalar_type >Base plan for backend::mkl, works only for float and double complex
 Cheffte::plan_mkl_r2c< scalar_type, dir >Unlike the C2C plan R2C is non-symmetric and it requires that the direction is built into the plan
 Cheffte::plan_optionsDefines a set of tweaks and options to use in the plan generation
 Cheffte::plan_rocfft< precision_type, dir >Plan for the r2c single precision transform
 Cheffte::plan_rocfft< std::complex< precision_type >, dir >Plan for the single precision complex transform
 Cheffte::plan_stock_fft< F, dir >Specialization for r2c single precision
 Cheffte::plan_stock_fft< std::complex< F >, dir >Plan for the single precision complex transform
 Cheffte::rank_remapKeeps the local rank and the map from the global rank to the sub-ranks used in the work
 Cheffte::stock::complex_allocator_t< F >::rebind< U >Defining rebind for the allocator
 Cheffte::reshape3d_base< index >Base reshape interface
 Cheffte::reshape3d_alltoall< location_tag, packer, index >Reshape algorithm based on the MPI_Alltoall() method
 Cheffte::reshape3d_alltoallv< location_tag, packer, index >Reshape algorithm based on the MPI_Alltoallv() method
 Cheffte::reshape3d_pointtopoint< location_tag, packer, index >Reshape algorithm based on the MPI_Send() and MPI_Irecv() methods
 Cheffte::reshape3d_transpose< location_tag, index >Special case of the reshape that does not involve MPI communication but applies a transpose instead
 Cheffte::backend::rocfftType-tag for the rocFFT backend
 Cheffte::backend::rocfft_cosType-tag for the Cosine Transform using the rocFFT backend
 Cheffte::backend::rocfft_cos1Type-tag for the Cosine Transform of type 1 using the rocFFT backend
 Cheffte::backend::rocfft_sinType-tag for the Sine Transform using the rocFFT backend
 Cheffte::cuda::sin_pre_pos_processorImplementation of Sine Transform pre-post processing methods using CUDA
 Cheffte::oapi::sin_pre_pos_processorImplementation of Cosine Transform pre-post processing methods using CUDA
 Cheffte::rocm::sin_pre_pos_processorImplementation of Sine Transform pre-post processing methods using CUDA
 Cheffte::backend::stockType-tag for the stock FFT backend
 Cheffte::backend::stock_cosType-tag for the Cosine Transform using the stock FFT backend
 Cheffte::backend::stock_cos1Type-tag for the Cosine Transform type 1 using the stock FFT backend
 Cheffte::backend::stock_sinType-tag for the Sine Transform using the stock FFT backend
 Cheffte::transform_output< scalar_type, backend_tag, typename >Defines the relationship between pairs of input-output types in a general transform algorithm
 Cheffte::transform_output< scalar_type, backend_tag, typename std::enable_if< backend::uses_fft_types< backend_tag >::value >::type >Specialization for standard FFT
 Cheffte::transform_output< scalar_type, backend_tag, typename std::enable_if< not backend::uses_fft_types< backend_tag >::value >::type >Specialization for Cosine Transform
 Cheffte::transform_real_type< scalar_type, backend_tag, typename >Defines the relationship between pairs of input-output types in a general transform algorithm
 Cheffte::transform_real_type< scalar_type, backend_tag, typename std::enable_if< backend::uses_fft_types< backend_tag >::value >::type >Specialization for standard FFT
 Cheffte::transform_real_type< scalar_type, backend_tag, typename std::enable_if< not backend::uses_fft_types< backend_tag >::value >::type >Specialization for Cosine Transform
 Cheffte::transpose_packer< mode >Defines the transpose packer without implementation, use the specializations to get the CPU implementation
 Cheffte::transpose_packer< tag::cpu >Transpose packer that packs sub-boxes without transposing, but unpacks applying a transpose operation
 Cheffte::transpose_packer< tag::gpu >GPU version of the transpose packer
 Cstd::true_type
 Cheffte::backend::uses_fft_types< cufft_cos >Sets the cos() transform types
 Cheffte::backend::uses_fft_types< cufft_cos1 >Sets the cos1() transform types
 Cheffte::backend::uses_fft_types< cufft_sin >Sets the sin() transform types
 Cheffte::backend::uses_fft_types< fftw_cos >Sets the cos() transform C++ types
 Cheffte::backend::uses_fft_types< fftw_cos1 >Sets the cos() transform C++ types
 Cheffte::backend::uses_fft_types< fftw_sin >Sets the sin() transform C++ types
 Cheffte::backend::uses_fft_types< fftw_sin1 >Sets the sin() transform C++ types
 Cheffte::backend::uses_fft_types< mkl_cos >Sets the cos() transform types
 Cheffte::backend::uses_fft_types< mkl_sin >Sets the sin() transform types
 Cheffte::backend::uses_fft_types< onemkl_cos >Sets the cos() transform types
 Cheffte::backend::uses_fft_types< onemkl_sin >Sets the sin() transform types
 Cheffte::backend::uses_fft_types< rocfft_cos >Sets the cos() transform types
 Cheffte::backend::uses_fft_types< rocfft_cos1 >Sets the cos1() transform types
 Cheffte::backend::uses_fft_types< rocfft_sin >Sets the sin() transform types
 Cheffte::backend::uses_fft_types< stock_cos >Sets the cos() transform types
 Cheffte::backend::uses_fft_types< stock_cos1 >Sets the cos() transform types
 Cheffte::backend::uses_fft_types< stock_sin >Sets the sin() transform types
 Cheffte::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
 Cheffte::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
 Cheffte::backend::is_enabled< cufft >Indicate that the cuFFT backend has been enabled
 Cheffte::backend::is_enabled< cufft_cos >Indicate that the cuFFT backend has been enabled for Cosine Transform
 Cheffte::backend::is_enabled< cufft_cos1 >
 Cheffte::backend::is_enabled< cufft_sin >Indicate that the cuFFT backend has been enabled for Sine Transform
 Cheffte::backend::is_enabled< fftw >Indicate that the FFTW backend has been enabled
 Cheffte::backend::is_enabled< fftw_cos >Indicate that the cos() transform using the FFTW backend has been enabled
 Cheffte::backend::is_enabled< fftw_cos1 >Indicate that the cos() transform type II using the FFTW backend has been enabled
 Cheffte::backend::is_enabled< fftw_sin >Indicate that the cos() transform using the FFTW backend has been enabled
 Cheffte::backend::is_enabled< fftw_sin1 >Indicate that the cos() transform type II using the FFTW backend has been enabled
 Cheffte::backend::is_enabled< mkl >Indicate that the MKL backend has been enabled
 Cheffte::backend::is_enabled< mkl_cos >Indicate that the MKL Cosine Transform backend has been enabled
 Cheffte::backend::is_enabled< mkl_sin >Indicate that the MKL Sine Transform backend has been enabled
 Cheffte::backend::is_enabled< onemkl >Indicate that the oneMKL backend has been enabled
 Cheffte::backend::is_enabled< onemkl_cos >Indicate that the oneMKL backend has been enabled
 Cheffte::backend::is_enabled< onemkl_sin >Indicate that the oneMKL backend has been enabled
 Cheffte::backend::is_enabled< rocfft >Indicate that the rocFFT backend has been enabled
 Cheffte::backend::is_enabled< rocfft_cos >Indicate that the rocFFT backend has been enabled
 Cheffte::backend::is_enabled< rocfft_cos1 >Indicate that the rocFFT backend has been enabled
 Cheffte::backend::is_enabled< rocfft_sin >Indicate that the rocFFT backend has been enabled
 Cheffte::backend::is_enabled< stock >Indicate that the stock backend has been enabled
 Cheffte::backend::is_enabled< stock_cos >Indicate that the stock backend has been enabled
 Cheffte::backend::is_enabled< stock_cos1 >Indicate that the stock backend has been enabled
 Cheffte::backend::is_enabled< stock_sin >Indicate that the stock backend has been enabled
 Cheffte::backend::uses_fft_types< backend_tag >Defines whether the backend accepts the standard FFT real-complex or complex-complex transform
 Cheffte::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
 Cheffte::is_ccomplex< cufftComplex >Recognize the cuFFT single precision complex type
 Cheffte::is_ccomplex< fftwf_complex >Recognize the FFTW single precision complex type
 Cheffte::is_ccomplex< float _Complex >Recognize the MKL single precision complex type
 Cheffte::is_ccomplex< std::complex< float > >By default, HeFFTe recognizes std::complex<float>
 Cheffte::is_ccomplex< stock::Complex< float, 1 > >Recognize stock FFT single complex (which are std::complex) types
 Cheffte::is_zcomplex< cufftDoubleComplex >Recognize the cuFFT double precision complex type
 Cheffte::is_zcomplex< double _Complex >Recognize the MKL double precision complex type
 Cheffte::is_zcomplex< fftw_complex >Recognize the FFTW double precision complex type
 Cheffte::is_zcomplex< std::complex< double > >By default, HeFFTe recognizes std::complex<double>
 Cheffte::is_zcomplex< stock::Complex< double, 1 > >