Highly Efficient FFT for Exascale: HeFFTe v2.4
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
 NheffteNamespace containing all HeFFTe methods and classes
 NbackendContains type tags and templates metadata for the various backends
 Cbuffer_traitsDefines the container for the temporary buffers
 Cbuffer_traits< cufft >Defines the location type-tag and the cuda container
 Cbuffer_traits< cufft_cos >Defines the location type-tag and the cuda container
 Cbuffer_traits< cufft_cos1 >
 Cbuffer_traits< cufft_sin >Defines the location type-tag and the cuda container
 Cbuffer_traits< onemkl >Defines the location type-tag and the oneAPI container
 Cbuffer_traits< onemkl_cos >Defines the location type-tag and the oneAPI container
 Cbuffer_traits< onemkl_sin >Defines the location type-tag and the oneAPI container
 Cbuffer_traits< rocfft >Defines the location type-tag and the cuda container
 Cbuffer_traits< rocfft_cos >Defines the location type-tag and the cuda container
 Cbuffer_traits< rocfft_cos1 >Defines the location type-tag and the cuda container
 Cbuffer_traits< rocfft_sin >Defines the location type-tag and the cuda container
 Ccheck_typesSet to true/false type depending whether the types are compatible with the backend transform
 Ccheck_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
 Ccheck_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
 CcufftType-tag for the cuFFT backend
 Ccufft_cosType-tag for the Cosine Transform using the cuFFT backend
 Ccufft_cos1Type-tag for the Cosine Transform type 1 using the cuFFT backend
 Ccufft_sinType-tag for the Sine Transform using the cuFFT backend
 Cdata_manipulatorCommon data-transfer operations, must be specializes for each location (cpu/gpu)
 Cdata_manipulator< tag::cpu >Common data-transfer operations on the cpu
 Cdata_manipulator< tag::gpu >Specialization for the data operations in CUDA mode
 Cdefault_backendDefines inverse mapping from the location tag to a default backend tag
 Cdefault_backend< tag::cpu >Make MKL the default CPU backend
 Cdefault_backend< tag::gpu >In CUDA mode, the default GPU backend is cufft
 Cdevice_instanceHolds the auxiliary variables needed by each backend
 Cdevice_instance< tag::gpu >The CUDA backend uses a CUDA stream
 CfftwType-tag for the FFTW backend
 Cfftw_cosType-tag for the Cosine Transform using the FFTW backend
 Cfftw_cos1Type-tag for the Cosine Transform type 1 using the FFTW backend
 Cfftw_sinType-tag for the Sine Transform using the FFTW backend
 Cfftw_sin1Type-tag for the Sine Transform type 1 using the FFTW backend
 Cis_enabledAllows to define whether a specific backend interface has been enabled
 Cis_enabled< cufft >Indicate that the cuFFT backend has been enabled
 Cis_enabled< cufft_cos >Indicate that the cuFFT backend has been enabled for Cosine Transform
 Cis_enabled< cufft_cos1 >
 Cis_enabled< cufft_sin >Indicate that the cuFFT backend has been enabled for Sine Transform
 Cis_enabled< fftw >Indicate that the FFTW backend has been enabled
 Cis_enabled< fftw_cos >Indicate that the cos() transform using the FFTW backend has been enabled
 Cis_enabled< fftw_cos1 >Indicate that the cos() transform type II using the FFTW backend has been enabled
 Cis_enabled< fftw_sin >Indicate that the cos() transform using the FFTW backend has been enabled
 Cis_enabled< fftw_sin1 >Indicate that the cos() transform type II using the FFTW backend has been enabled
 Cis_enabled< mkl >Indicate that the MKL backend has been enabled
 Cis_enabled< mkl_cos >Indicate that the MKL Cosine Transform backend has been enabled
 Cis_enabled< mkl_sin >Indicate that the MKL Sine Transform backend has been enabled
 Cis_enabled< onemkl >Indicate that the oneMKL backend has been enabled
 Cis_enabled< onemkl_cos >Indicate that the oneMKL backend has been enabled
 Cis_enabled< onemkl_sin >Indicate that the oneMKL backend has been enabled
 Cis_enabled< rocfft >Indicate that the rocFFT backend has been enabled
 Cis_enabled< rocfft_cos >Indicate that the rocFFT backend has been enabled
 Cis_enabled< rocfft_cos1 >Indicate that the rocFFT backend has been enabled
 Cis_enabled< rocfft_sin >Indicate that the rocFFT backend has been enabled
 Cis_enabled< stock >Indicate that the stock backend has been enabled
 Cis_enabled< stock_cos >Indicate that the stock backend has been enabled
 Cis_enabled< stock_cos1 >Indicate that the stock backend has been enabled
 Cis_enabled< stock_sin >Indicate that the stock backend has been enabled
 CmklType-tag for the MKL backend
 Cmkl_cosType-tag for the Cosine Transform using the MKL FFT backend
 Cmkl_sinType-tag for the Sine Transform using the MKL FFT backend
 ConemklType-tag for the oneMKL backend
 Conemkl_cosType-tag for the Cosine Transform using the oneMKL backend
 Conemkl_sinType-tag for the Sine Transform using the oneMKL backend
 CrocfftType-tag for the rocFFT backend
 Crocfft_cosType-tag for the Cosine Transform using the rocFFT backend
 Crocfft_cos1Type-tag for the Cosine Transform of type 1 using the rocFFT backend
 Crocfft_sinType-tag for the Sine Transform using the rocFFT backend
 CstockType-tag for the stock FFT backend
 Cstock_cosType-tag for the Cosine Transform using the stock FFT backend
 Cstock_cos1Type-tag for the Cosine Transform type 1 using the stock FFT backend
 Cstock_sinType-tag for the Sine Transform using the stock FFT backend
 Cuses_fft_typesDefines whether the backend accepts the standard FFT real-complex or complex-complex transform
 Cuses_fft_types< cufft_cos >Sets the cos() transform types
 Cuses_fft_types< cufft_cos1 >Sets the cos1() transform types
 Cuses_fft_types< cufft_sin >Sets the sin() transform types
 Cuses_fft_types< fftw_cos >Sets the cos() transform C++ types
 Cuses_fft_types< fftw_cos1 >Sets the cos() transform C++ types
 Cuses_fft_types< fftw_sin >Sets the sin() transform C++ types
 Cuses_fft_types< fftw_sin1 >Sets the sin() transform C++ types
 Cuses_fft_types< mkl_cos >Sets the cos() transform types
 Cuses_fft_types< mkl_sin >Sets the sin() transform types
 Cuses_fft_types< onemkl_cos >Sets the cos() transform types
 Cuses_fft_types< onemkl_sin >Sets the sin() transform types
 Cuses_fft_types< rocfft_cos >Sets the cos() transform types
 Cuses_fft_types< rocfft_cos1 >Sets the cos1() transform types
 Cuses_fft_types< rocfft_sin >Sets the sin() transform types
 Cuses_fft_types< stock_cos >Sets the cos() transform types
 Cuses_fft_types< stock_cos1 >Sets the cos() transform types
 Cuses_fft_types< stock_sin >Sets the sin() transform types
 Cuses_gpuStruct that specializes to true type if the location of the backend is on the gpu (false type otherwise)
 Cuses_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
 NcudaCuda specific methods
 Ccos_pre_pos_processorImplementation of Cosine Transform pre-post processing methods using CUDA
 Csin_pre_pos_processorImplementation of Sine Transform pre-post processing methods using CUDA
 Ccos1_pre_pos_processor
 Ngpu
 Cmagma_handleWrapper around a MAGMA handle
 Cmagma_handle< tag::gpu >Wrapper around a MAGMA handle in a GPU context
 NoapiSYCL/DPC++ specific methods, vector-like container, error checking, etc
 Ccos_pre_pos_processorImplementation of Cosine Transform pre-post processing methods using CUDA
 Csin_pre_pos_processorImplementation of Cosine Transform pre-post processing methods using CUDA
 NrocmROCM specific methods, vector-like container, error checking, etc
 Ccos_pre_pos_processorImplementation of Cosine Transform pre-post processing methods using CUDA
 Csin_pre_pos_processorImplementation of Sine Transform pre-post processing methods using CUDA
 Ccos1_pre_pos_processorImplementation of Cosine Transform of type 1 pre-post processing methods using CUDA
 CinitializeIndicates whether the rocfft_setup() method has been called
 Nstock
 CbiFuncNodeClass to represent the call-graph nodes
 CComplexCustom 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
 Ccomplex_allocator_tAllocator 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
 CrebindDefining rebind for the allocator
 CFourier_TransformFunctor class to represent any Fourier Transform A class to use lambdas to switch between what FFT should be called
 Cis_complexStruct determining whether a type is a complex number
 Cis_realStruct determining whether a type is a real number
 ComegaCreate a stock Complex representation of a twiddle factor
 CpackStruct to retrieve the vector type associated with the number of elements stored "per unit"
 Cpack< double, 1 >Alias for default double type
 Cpack< float, 1 >Alias for default float type
 NtagContains internal type-tags
 CcpuIndicates the use of cpu backend and that all input/output data and arrays will be bound to the cpu
 CgpuIndicates the use of gpu backend and that all input/output data and arrays will be bound to the gpu device
 Cadd_traceHefftetrace
 CalignCuFFT requires that the input and output in R2C transforms are aligned to the complex type
 Cbox3dA generic container that describes a 3d box of indexes
 Ccpu_cos1_pre_pos_processorPre/Post processing for the Cosine transform type I using the CPU
 Ccpu_cos_pre_pos_processorPre/Post processing for the Cosine transform using the CPU
 Ccpu_sin1_pre_pos_processor
 Ccpu_sin_pre_pos_processorPre/Post processing for the Sine transform using the CPU
 Ccufft_executorWrapper around the cuFFT API
 Ccufft_executor_r2cWrapper to cuFFT API for real-to-complex transform with shortening of the data
 Cdefault_plan_optionsDefines a set of default plan options for a given backend
 Cdefault_plan_options< backend::cufft >Sets the default options for the cufft backend
 Cdefault_plan_options< backend::cufft_cos >Sets the default options for the cufft backend
 Cdefault_plan_options< backend::cufft_cos1 >
 Cdefault_plan_options< backend::cufft_sin >Sets the default options for the cufft backend
 Cdefault_plan_options< backend::fftw >Sets the default options for the fftw backend
 Cdefault_plan_options< backend::fftw_cos >Sets the default options for the fftw backend
 Cdefault_plan_options< backend::fftw_cos1 >Sets the default options for the fftw backend
 Cdefault_plan_options< backend::fftw_sin >Sets the default options for the fftw backend
 Cdefault_plan_options< backend::fftw_sin1 >Sets the default options for the fftw backend
 Cdefault_plan_options< backend::mkl >Sets the default options for the mkl backend
 Cdefault_plan_options< backend::mkl_cos >Sets the default options for the mkl backend
 Cdefault_plan_options< backend::mkl_sin >Sets the default options for the mkl backend
 Cdefault_plan_options< backend::onemkl >Sets the default options for the oneMKL backend
 Cdefault_plan_options< backend::onemkl_cos >Sets the default options for the oneMKL backend
 Cdefault_plan_options< backend::onemkl_sin >Sets the default options for the oneMKL backend
 Cdefault_plan_options< backend::rocfft >Sets the default options for the cufft backend
 Cdefault_plan_options< backend::rocfft_cos >Sets the default options for the cufft backend
 Cdefault_plan_options< backend::rocfft_cos1 >Sets the default options for the cufft backend
 Cdefault_plan_options< backend::rocfft_sin >Sets the default options for the cufft backend
 Cdefault_plan_options< backend::stock >Sets the default options for the stock fft backend
 Cdefault_plan_options< backend::stock_cos >Sets the default options for the stock fft backend
 Cdefault_plan_options< backend::stock_cos1 >Sets the default options for the stock fft backend
 Cdefault_plan_options< backend::stock_sin >Sets the default options for the stock fft backend
 Cdefine_standard_typeStruct to specialize that returns the C++ equivalent of each type
 Cdefine_standard_type< double, void >Type double is equivalent to double
 Cdefine_standard_type< float, void >Type float is equivalent to float
 Cdefine_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>
 Cdefine_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>
 Cdirect_packerDefines the direct packer without implementation, use the specializations to get the CPU or GPU implementation
 Cdirect_packer< tag::cpu >Simple packer that copies sub-boxes without transposing the order of the indexes
 Cdirect_packer< tag::gpu >Simple packer that copies sub-boxes without transposing the order of the indexes
 CeventA tracing event
 Cevent_chainerHelper class to chain a series of compute calls with sycl::event
 Cexecutor_baseBase class for all backend executors
 Cfft3dDefines the plan for a 3-dimensional discrete Fourier transform performed on a MPI distributed data
 Cfft3d_r2cSimilar to heffte::fft3d, but computed fewer redundant coefficients when the input is real
 Cfft_outputDefines the relationship between pairs of input-output types in the FFT algorithms
 Cfft_output< double >Specialization mapping double to std::complex<double>
 Cfft_output< float >Specialization mapping float to std::complex<float>
 Cfftw_executorWrapper around the FFTW3 API
 Cfftw_executor_r2cWrapper to fftw3 API for real-to-complex transform with shortening of the data
 Cfftw_r2r_types
 Cfftw_r2r_types< float >
 CioboxesPair of lists of input-output boxes as used by the heffte::fft3d
 Cis_ccomplexStruct to specialize to allow HeFFTe to recognize custom single precision complex types
 Cis_ccomplex< cufftComplex >Recognize the cuFFT single precision complex type
 Cis_ccomplex< fftwf_complex >Recognize the FFTW single precision complex type
 Cis_ccomplex< float _Complex >Recognize the MKL single precision complex type
 Cis_ccomplex< std::complex< float > >By default, HeFFTe recognizes std::complex<float>
 Cis_ccomplex< stock::Complex< float, 1 > >Recognize stock FFT single complex (which are std::complex) types
 Cis_zcomplexStruct to specialize to allow HeFFTe to recognize custom double precision complex types
 Cis_zcomplex< cufftDoubleComplex >Recognize the cuFFT double precision complex type
 Cis_zcomplex< double _Complex >Recognize the MKL double precision complex type
 Cis_zcomplex< fftw_complex >Recognize the FFTW double precision complex type
 Cis_zcomplex< std::complex< double > >By default, HeFFTe recognizes std::complex<double>
 Cis_zcomplex< stock::Complex< double, 1 > >
 Clogic_plan3dThe logic plan incorporates the order and types of operations in a transform
 Cmkl_executorWrapper around the MKL API
 Cmkl_executor_r2cWrapper to mkl API for real-to-complex transform with shortening of the data
 Cone_dim_backendIndicates the structure that will be used by the fft backend
 Cone_dim_backend< backend::cufft >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::cufft_cos >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::cufft_cos1 >
 Cone_dim_backend< backend::cufft_sin >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::fftw >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::fftw_cos >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::fftw_cos1 >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::fftw_sin >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::fftw_sin1 >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::mkl >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::mkl_cos >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::mkl_sin >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::onemkl >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::onemkl_cos >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::onemkl_sin >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::rocfft >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::rocfft_cos >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::rocfft_cos1 >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::rocfft_sin >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::stock >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::stock_cos >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::stock_cos1 >Helper struct that defines the types and creates instances of one-dimensional executors
 Cone_dim_backend< backend::stock_sin >Helper struct that defines the types and creates instances of one-dimensional executors
 Conemkl_executorWrapper around the oneMKL API
 Conemkl_executor_r2cWrapper to oneMKL API for real-to-complex transform with shortening of the data
 Cpack_plan_3dHolds the plan for a pack/unpack operation
 Cpacker_backendThe packer needs to know whether the data will be on the CPU or GPU devices
 Cplan_cufftWrapper around cufftHandle plans, set for float or double complex
 Cplan_cufft_r2cPlan for the r2c single and double precision transform
 Cplan_fftwBase plan for fftw, using only the specialization for float and double complex
 Cplan_fftw< double, dir >Specialization for r2c double precision
 Cplan_fftw< float, dir >Specialization for r2c single precision
 Cplan_fftw< std::complex< double >, dir >Specialization for double complex
 Cplan_fftw< std::complex< float >, dir >Plan for the single precision complex transform
 Cplan_fftw_r2rWrapper for the r2r plan to allow for RAII style of management
 Cplan_mklBase plan for backend::mkl, works only for float and double complex
 Cplan_mkl_r2cUnlike the C2C plan R2C is non-symmetric and it requires that the direction is built into the plan
 Cplan_optionsDefines a set of tweaks and options to use in the plan generation
 Cplan_rocfftPlan for the r2c single precision transform
 Cplan_rocfft< std::complex< precision_type >, dir >Plan for the single precision complex transform
 Cplan_stock_fftSpecialization for r2c single precision
 Cplan_stock_fft< std::complex< F >, dir >Plan for the single precision complex transform
 Crank_remapKeeps the local rank and the map from the global rank to the sub-ranks used in the work
 Creal2real_executorTemplate algorithm for the Sine and Cosine transforms
 Creal2real_executor< backend::fftw, prepost_processor >
 Creshape3d_alltoallReshape algorithm based on the MPI_Alltoall() method
 Creshape3d_alltoallvReshape algorithm based on the MPI_Alltoallv() method
 Creshape3d_baseBase reshape interface
 Creshape3d_pointtopointReshape algorithm based on the MPI_Send() and MPI_Irecv() methods
 Creshape3d_transposeSpecial case of the reshape that does not involve MPI communication but applies a transpose instead
 Crocfft_executorWrapper around the rocFFT API
 Crocfft_executor_r2cWrapper to rocFFT API for real-to-complex transform with shortening of the data
 Cstock_fft_executorWrapper around the Stock FFT API
 Cstock_fft_executor_r2cWrapper to stock API for real-to-complex transform with shortening of the data
 Ctransform_outputDefines the relationship between pairs of input-output types in a general transform algorithm
 Ctransform_output< scalar_type, backend_tag, typename std::enable_if< backend::uses_fft_types< backend_tag >::value >::type >Specialization for standard FFT
 Ctransform_output< scalar_type, backend_tag, typename std::enable_if< not backend::uses_fft_types< backend_tag >::value >::type >Specialization for Cosine Transform
 Ctransform_real_typeDefines the relationship between pairs of input-output types in a general transform algorithm
 Ctransform_real_type< scalar_type, backend_tag, typename std::enable_if< backend::uses_fft_types< backend_tag >::value >::type >Specialization for standard FFT
 Ctransform_real_type< scalar_type, backend_tag, typename std::enable_if< not backend::uses_fft_types< backend_tag >::value >::type >Specialization for Cosine Transform
 Ctranspose_packerDefines the transpose packer without implementation, use the specializations to get the CPU implementation
 Ctranspose_packer< tag::cpu >Transpose packer that packs sub-boxes without transposing, but unpacks applying a transpose operation
 Ctranspose_packer< tag::gpu >GPU version of the transpose packer
 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