Highly Efficient FFT for Exascale: HeFFTe v2.3
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
 Cheffte::add_traceHefftetrace
 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_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_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::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_cos_pre_pos_processorPre/Post processing for the Cosine transform using the CPU
 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_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_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_sin >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_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_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::backend::device_instance< location_tag >
 Cheffte::backend::device_instance< tag::gpu >The CUDA backend uses a CUDA stream
 Cheffte::backend::device_instance< typename heffte::backend::buffer_traits< fft_backend_tag >::location >
 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::executor_baseBase class for all backend executors
 Cstd::false_type
 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_sinType-tag for the Sine Transform 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::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_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_sin >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_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_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< F, L >
 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_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::backend::rocfftType-tag for the rocFFT backend
 Cheffte::backend::rocfft_cosType-tag for the Cosine Transform 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_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::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