1. intel Math Kernel Library 的调用
在 #include 任何 Eigen 库的头文件之前,定义宏
#define EIGEN_USE_MKL_ALL
可以根据自己的需要单独定义所需的 MKL 部分。可用的宏是
EIGEN_USE_BLAS 使用 BLAS Level 2 与 BLAS Level 3 的算法;
EIGEN_USE_LAPACKE 通过 intel MKL C 接口,使用扩展的 LAPACK 算法;
EIGEN_USE_LAPACKE_STRICT 使用更加稳定的 LAPACK 算法(比如用 gesvd 代替 Jacobi 旋转),一般情况下无需使用此选项;
EIGEN_USE_MKL_VML 使用 MKL 函数的矢量化优化;
EIGEN_USE_MKL_ALL 相当于同时定义了 EIGEN_USE_BLAS, EIGEN_USE_LAPACKE 和 EIGEN_USE_MKL_VML.
务必注意,宏的定义必须在引用任何 Eigen 头文件之前,否则调用是无效的。64位操作系统上