|
Highly Efficient FFT for Exascale: HeFFTe v2.4
|
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 | is_enabled< cufft_cos1 > |
| 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 | buffer_traits< cufft_cos1 > |
| 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< fftw_cos1 > |
| Indicate that the cos() transform type II using the FFTW backend has been enabled. More... | |
| struct | is_enabled< fftw_sin1 > |
| Indicate that the cos() transform type II 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 | is_enabled< rocfft_cos1 > |
| 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 | buffer_traits< rocfft_cos1 > |
| 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 | is_enabled< stock_cos1 > |
| 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 | fftw_cos1 |
| Type-tag for the Cosine Transform type 1 using the FFTW backend. More... | |
| struct | fftw_sin1 |
| Type-tag for the Sine Transform type 1 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 | stock_cos1 |
| Type-tag for the Cosine Transform type 1 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 | cufft_cos1 |
| Type-tag for the Cosine Transform type 1 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 | rocfft_cos1 |
| Type-tag for the Cosine Transform of type 1 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 C++ types. More... | |
| struct | uses_fft_types< fftw_sin > |
| Sets the sin() transform C++ types. More... | |
| struct | uses_fft_types< fftw_cos1 > |
| Sets the cos() transform C++ types. More... | |
| struct | uses_fft_types< fftw_sin1 > |
| Sets the sin() transform C++ 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< stock_cos1 > |
| Sets the cos() 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< cufft_cos1 > |
| Sets the cos1() 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< rocfft_cos1 > |
| Sets the cos1() 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... | |
Contains type tags and templates metadata for the various backends.