Highly Efficient FFT for Exascale: HeFFTe v2.3
Collaboration diagram for Backend mkl:

Classes

struct  heffte::backend::is_enabled< mkl >
 Indicate that the MKL backend has been enabled. More...
 
struct  heffte::backend::is_enabled< mkl_cos >
 Indicate that the MKL Cosine Transform backend has been enabled. More...
 
struct  heffte::backend::is_enabled< mkl_sin >
 Indicate that the MKL Sine Transform backend has been enabled. More...
 
struct  heffte::backend::default_backend< tag::cpu >
 Make MKL the default CPU backend. More...
 
struct  heffte::is_ccomplex< float _Complex >
 Recognize the MKL single precision complex type. More...
 
struct  heffte::is_zcomplex< double _Complex >
 Recognize the MKL double precision complex type. More...
 
struct  heffte::plan_mkl< scalar_type >
 Base plan for backend::mkl, works only for float and double complex. More...
 
class  heffte::mkl_executor
 Wrapper around the MKL API. More...
 
struct  heffte::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. More...
 
class  heffte::mkl_executor_r2c
 Wrapper to mkl API for real-to-complex transform with shortening of the data. More...
 
struct  heffte::one_dim_backend< backend::mkl >
 Helper struct that defines the types and creates instances of one-dimensional executors. More...
 
struct  heffte::one_dim_backend< backend::mkl_cos >
 Helper struct that defines the types and creates instances of one-dimensional executors. More...
 
struct  heffte::one_dim_backend< backend::mkl_sin >
 Helper struct that defines the types and creates instances of one-dimensional executors. More...
 
struct  heffte::default_plan_options< backend::mkl >
 Sets the default options for the mkl backend. More...
 
struct  heffte::default_plan_options< backend::mkl_cos >
 Sets the default options for the mkl backend. More...
 
struct  heffte::default_plan_options< backend::mkl_sin >
 Sets the default options for the mkl backend. More...
 
struct  heffte::backend::mkl
 Type-tag for the MKL backend. More...
 
struct  heffte::backend::mkl_cos
 Type-tag for the Cosine Transform using the MKL FFT backend. More...
 
struct  heffte::backend::mkl_sin
 Type-tag for the Sine Transform using the MKL FFT backend. More...
 
struct  heffte::backend::uses_fft_types< mkl_cos >
 Sets the cos() transform types. More...
 
struct  heffte::backend::uses_fft_types< mkl_sin >
 Sets the sin() transform types. More...
 
struct  heffte::backend::uses_fft_types< cufft_cos >
 Sets the cos() transform types. More...
 
struct  heffte::backend::uses_fft_types< cufft_sin >
 Sets the sin() transform types. More...
 
struct  heffte::backend::uses_fft_types< rocfft_cos >
 Sets the cos() transform types. More...
 
struct  heffte::backend::uses_fft_types< rocfft_sin >
 Sets the sin() transform types. More...
 
struct  heffte::backend::uses_fft_types< onemkl_cos >
 Sets the cos() transform types. More...
 
struct  heffte::backend::uses_fft_types< onemkl_sin >
 Sets the sin() transform types. More...
 

Functions

void heffte::check_error (MKL_LONG status, std::string const &function_name)
 Checks the status of a call to the MKL backend.
 
template<>
std::string heffte::backend::name< mkl > ()
 Returns the human readable name of the MKL backend.
 
template<>
std::string heffte::backend::name< mkl_cos > ()
 Returns the human readable name of the MKL backend.
 
template<>
std::string heffte::backend::name< mkl_sin > ()
 Returns the human readable name of the MKL backend.
 

Detailed Description

Wrappers and template specializations related to the MKL backend. Requires CMake option:

-D Heffte_ENABLE_MKL=ON