Clarify doc regarding the usage of MKL_DIRECT_CALL

This commit is contained in:
Gael Guennebaud 2017-08-17 12:17:45 +02:00
parent b95f92843c
commit 8c858bd891
2 changed files with 3 additions and 1 deletions

View File

@ -49,7 +49,7 @@
#define EIGEN_USE_LAPACKE
#endif
#if defined(EIGEN_USE_MKL_VML)
#if defined(EIGEN_USE_MKL_VML) && !defined(EIGEN_USE_MKL)
#define EIGEN_USE_MKL
#endif

View File

@ -63,6 +63,8 @@ In addition you can choose which parts will be substituted by defining one or mu
<tr><td>\c EIGEN_USE_MKL_ALL </td><td>Defines \c EIGEN_USE_BLAS, \c EIGEN_USE_LAPACKE, and \c EIGEN_USE_MKL_VML </td></tr>
</table>
In order to be able to use \b MKL_DIRECT_CALL for BLAS level 2 and 3 routines, then the macro \c EIGEN_USE_MKL must also be defined in the case none of the other \c EIGEN_USE_MKL_* macros has been defined. This is needed to tell Eigen that the BLAS backend is the MKL and that the MKL interface must be used instead of the generic F77 one.
Note that the BLAS and LAPACKE backends can be enabled for any F77 compatible BLAS and LAPACK libraries. See this \link TopicUsingBlasLapack page \endlink for the details.
Finally, the PARDISO sparse solver shipped with Intel MKL can be used through the \ref PardisoLU, \ref PardisoLLT and \ref PardisoLDLT classes of the \ref PardisoSupport_Module.