|
Highly Efficient FFT for Exascale: HeFFTe v2.3
|
Contains type tags and templates metadata for the various backends. More...
Classes | |
| struct | is_enabled< cufft > |
| Indicate that the cuFFT backend has been enabled. More... | |
| struct | is_enabled< cufft_cos > |
| Indicate that the cuFFT backend has been enabled for Cosine Transform. More... | |
| struct | is_enabled< cufft_sin > |
| Indicate that the cuFFT backend has been enabled for Sine Transform. More... | |
| struct | device_instance< tag::gpu > |
| The CUDA backend uses a CUDA stream. More... | |
| struct | default_backend< tag::gpu > |
| In CUDA mode, the default GPU backend is cufft. More... | |
| struct | data_manipulator< tag::gpu > |
| Specialization for the data operations in CUDA mode. More... | |
| struct | buffer_traits< cufft > |
| Defines the location type-tag and the cuda container. More... | |
| struct | buffer_traits< cufft_cos > |
| Defines the location type-tag and the cuda container. More... | |
| struct | buffer_traits< cufft_sin > |
| Defines the location type-tag and the cuda container. More... | |
| struct | is_enabled< fftw > |
| Indicate that the FFTW backend has been enabled. More... | |
| struct | is_enabled< fftw_cos > |
| Indicate that the cos() transform using the FFTW backend has been enabled. More... | |
| struct | is_enabled< fftw_sin > |
| Indicate that the cos() transform using the FFTW backend has been enabled. More... | |
| struct | is_enabled< mkl > |
| Indicate that the MKL backend has been enabled. More... | |
| struct | is_enabled< mkl_cos > |
| Indicate that the MKL Cosine Transform backend has been enabled. More... | |
| struct | is_enabled< mkl_sin > |
| Indicate that the MKL Sine Transform backend has been enabled. More... | |
| struct | default_backend< tag::cpu > |
| Make MKL the default CPU backend. More... | |
| struct | is_enabled< onemkl > |
| Indicate that the oneMKL backend has been enabled. More... | |
| struct | is_enabled< onemkl_cos > |
| Indicate that the oneMKL backend has been enabled. More... | |
| struct | is_enabled< onemkl_sin > |
| Indicate that the oneMKL backend has been enabled. More... | |
| struct | buffer_traits< onemkl > |
| Defines the location type-tag and the oneAPI container. More... | |
| struct | buffer_traits< onemkl_cos > |
| Defines the location type-tag and the oneAPI container. More... | |
| struct | buffer_traits< onemkl_sin > |
| Defines the location type-tag and the oneAPI container. More... | |
| struct | is_enabled< rocfft > |
| Indicate that the rocFFT backend has been enabled. More... | |
| struct | is_enabled< rocfft_cos > |
| Indicate that the rocFFT backend has been enabled. More... | |
| struct | is_enabled< rocfft_sin > |
| Indicate that the rocFFT backend has been enabled. More... | |
| struct | buffer_traits< rocfft > |
| Defines the location type-tag and the cuda container. More... | |
| struct | buffer_traits< rocfft_cos > |
| Defines the location type-tag and the cuda container. More... | |
| struct | buffer_traits< rocfft_sin > |
| Defines the location type-tag and the cuda container. More... | |
| struct | is_enabled< stock > |
| Indicate that the stock backend has been enabled. More... | |
| struct | is_enabled< stock_cos > |
| Indicate that the stock backend has been enabled. More... | |
| struct | is_enabled< stock_sin > |
| Indicate that the stock backend has been enabled. More... | |
| struct | data_manipulator |
| Common data-transfer operations, must be specializes for each location (cpu/gpu). More... | |
| struct | data_manipulator< tag::cpu > |
| Common data-transfer operations on the cpu. More... | |
| struct | fftw |
| Type-tag for the FFTW backend. More... | |
| struct | fftw_cos |
| Type-tag for the Cosine Transform using the FFTW backend. More... | |
| struct | fftw_sin |
| Type-tag for the Sine Transform using the FFTW backend. More... | |
| struct | stock |
| Type-tag for the stock FFT backend. More... | |
| struct | stock_cos |
| Type-tag for the Cosine Transform using the stock FFT backend. More... | |
| struct | stock_sin |
| Type-tag for the Sine Transform using the stock FFT backend. More... | |
| struct | mkl |
| Type-tag for the MKL backend. More... | |
| struct | mkl_cos |
| Type-tag for the Cosine Transform using the MKL FFT backend. More... | |
| struct | mkl_sin |
| Type-tag for the Sine Transform using the MKL FFT backend. More... | |
| struct | cufft |
| Type-tag for the cuFFT backend. More... | |
| struct | cufft_cos |
| Type-tag for the Cosine Transform using the cuFFT backend. More... | |
| struct | cufft_sin |
| Type-tag for the Sine Transform using the cuFFT backend. More... | |
| struct | rocfft |
| Type-tag for the rocFFT backend. More... | |
| struct | rocfft_cos |
| Type-tag for the Cosine Transform using the rocFFT backend. More... | |
| struct | rocfft_sin |
| Type-tag for the Sine Transform using the rocFFT backend. More... | |
| struct | onemkl |
| Type-tag for the oneMKL backend. More... | |
| struct | onemkl_cos |
| Type-tag for the Cosine Transform using the oneMKL backend. More... | |
| struct | onemkl_sin |
| Type-tag for the Sine Transform using the oneMKL backend. More... | |
| struct | is_enabled |
| Allows to define whether a specific backend interface has been enabled. More... | |
| struct | buffer_traits |
| Defines the container for the temporary buffers. More... | |
| struct | uses_gpu |
| Struct that specializes to true type if the location of the backend is on the gpu (false type otherwise). More... | |
| struct | 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. More... | |
| struct | device_instance |
| Holds the auxiliary variables needed by each backend. More... | |
| struct | default_backend |
| Defines inverse mapping from the location tag to a default backend tag. More... | |
| struct | uses_fft_types |
| Defines whether the backend accepts the standard FFT real-complex or complex-complex transform. More... | |
| struct | check_types |
| Set to true/false type depending whether the types are compatible with the backend transform. More... | |
| struct | 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. More... | |
| struct | uses_fft_types< fftw_cos > |
| Sets the cos() transform types. More... | |
| struct | uses_fft_types< fftw_sin > |
| Sets the sin() transform types. More... | |
| struct | uses_fft_types< stock_cos > |
| Sets the cos() transform types. More... | |
| struct | uses_fft_types< stock_sin > |
| Sets the sin() transform types. More... | |
| struct | uses_fft_types< mkl_cos > |
| Sets the cos() transform types. More... | |
| struct | uses_fft_types< mkl_sin > |
| Sets the sin() transform types. More... | |
| struct | uses_fft_types< cufft_cos > |
| Sets the cos() transform types. More... | |
| struct | uses_fft_types< cufft_sin > |
| Sets the sin() transform types. More... | |
| struct | uses_fft_types< rocfft_cos > |
| Sets the cos() transform types. More... | |
| struct | uses_fft_types< rocfft_sin > |
| Sets the sin() transform types. More... | |
| struct | uses_fft_types< onemkl_cos > |
| Sets the cos() transform types. More... | |
| struct | uses_fft_types< onemkl_sin > |
| Sets the sin() transform types. More... | |
| struct | 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. More... | |
Functions | |
| template<typename backend_tag > | |
| std::string | name () |
| Returns the human readable name of the backend. | |
| template<> | |
| std::string | name< fftw > () |
| Returns the human readable name of the FFTW backend. | |
| template<> | |
| std::string | name< fftw_cos > () |
| Returns the human readable name of the FFTW backend. | |
| template<> | |
| std::string | name< fftw_sin > () |
| Returns the human readable name of the FFTW backend. | |
| template<> | |
| std::string | name< stock > () |
| Returns the human readable name of the stock backend. | |
| template<> | |
| std::string | name< stock_cos > () |
| Returns the human readable name of the stock backend. | |
| template<> | |
| std::string | name< stock_sin > () |
| Returns the human readable name of the stock backend. | |
| template<> | |
| std::string | name< mkl > () |
| Returns the human readable name of the MKL backend. | |
| template<> | |
| std::string | name< mkl_cos > () |
| Returns the human readable name of the MKL backend. | |
| template<> | |
| std::string | name< mkl_sin > () |
| Returns the human readable name of the MKL backend. | |
| template<> | |
| std::string | name< cufft > () |
| Returns the human readable name of the cuFFT backend. | |
| template<> | |
| std::string | name< cufft_cos > () |
| Returns the human readable name of the cuFFT backend. | |
| template<> | |
| std::string | name< cufft_sin > () |
| Returns the human readable name of the cuFFT backend. | |
| template<> | |
| std::string | name< rocfft > () |
| Returns the human readable name of the rocFFT backend. | |
| template<> | |
| std::string | name< rocfft_cos > () |
| Returns the human readable name of the rocFFT backend. | |
| template<> | |
| std::string | name< rocfft_sin > () |
| Returns the human readable name of the rocFFT backend. | |
| template<> | |
| std::string | name< onemkl > () |
| Returns the human readable name of the oneMKL backend. | |
| template<> | |
| std::string | name< onemkl_cos > () |
| Returns the human readable name of the oneMKL backend. | |
| template<> | |
| std::string | name< onemkl_sin > () |
| Returns the human readable name of the oneMKL backend. | |
| template<> | |
| std::string | name< tag::cpu > () |
| Indicates the name of the location tag. | |
| template<> | |
| std::string | name< tag::gpu > () |
| Indicates the name of the location tag. | |
Contains type tags and templates metadata for the various backends.