33 #ifndef EIGEN_MKL_SUPPORT_H
34 #define EIGEN_MKL_SUPPORT_H
36 #ifdef EIGEN_USE_MKL_ALL
37 #ifndef EIGEN_USE_BLAS
38 #define EIGEN_USE_BLAS
40 #ifndef EIGEN_USE_LAPACKE
41 #define EIGEN_USE_LAPACKE
43 #ifndef EIGEN_USE_MKL_VML
44 #define EIGEN_USE_MKL_VML
48 #ifdef EIGEN_USE_LAPACKE_STRICT
49 #define EIGEN_USE_LAPACKE
52 #if defined(EIGEN_USE_MKL_VML) && !defined(EIGEN_USE_MKL)
56 #if defined EIGEN_USE_MKL
57 #if (!defined MKL_DIRECT_CALL) && (!defined EIGEN_MKL_NO_DIRECT_CALL)
58 #define MKL_DIRECT_CALL
59 #define MKL_DIRECT_CALL_JUST_SET
63 #ifndef INTEL_MKL_VERSION
65 #elif INTEL_MKL_VERSION < \
71 #undef EIGEN_USE_MKL_ALL
72 #undef EIGEN_USE_LAPACKE
73 #undef EIGEN_USE_MKL_VML
74 #undef EIGEN_USE_LAPACKE_STRICT
75 #undef EIGEN_USE_LAPACKE
76 #ifdef MKL_DIRECT_CALL_JUST_SET
77 #undef MKL_DIRECT_CALL
82 #if defined EIGEN_USE_MKL
84 #define EIGEN_MKL_VML_THRESHOLD 128
89 #define EIGEN_MKL_DOMAIN_ALL MKL_DOMAIN_ALL
91 #define EIGEN_MKL_DOMAIN_ALL MKL_ALL
94 #ifdef MKL_DOMAIN_BLAS
95 #define EIGEN_MKL_DOMAIN_BLAS MKL_DOMAIN_BLAS
97 #define EIGEN_MKL_DOMAIN_BLAS MKL_BLAS
100 #ifdef MKL_DOMAIN_FFT
101 #define EIGEN_MKL_DOMAIN_FFT MKL_DOMAIN_FFT
103 #define EIGEN_MKL_DOMAIN_FFT MKL_FFT
106 #ifdef MKL_DOMAIN_VML
107 #define EIGEN_MKL_DOMAIN_VML MKL_DOMAIN_VML
109 #define EIGEN_MKL_DOMAIN_VML MKL_VML
112 #ifdef MKL_DOMAIN_PARDISO
113 #define EIGEN_MKL_DOMAIN_PARDISO MKL_DOMAIN_PARDISO
115 #define EIGEN_MKL_DOMAIN_PARDISO MKL_PARDISO
119 #if defined(EIGEN_USE_BLAS) && !defined(EIGEN_USE_MKL)
120 #include "../../misc/blas.h"
124 #include "../InternalHeaderCheck.h"
131 #if defined(EIGEN_USE_MKL)
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
int BlasIndex
Definition: MKL_support.h:134
std::complex< double > dcomplex
Definition: MKL_support.h:128
std::complex< float > scomplex
Definition: MKL_support.h:129