c++ - Eigen with EIGEN_USE_MKL_ALL -


i compiled c++ project(using eigen 3.2.8) eigen_use_blas option , link against mkl-blas, every thing works fine , indeed speeds program substantially(perhaps due lot of complex-valued matrix-vector multiplication)

then tried eigen_use_mkl_all, however, similar errors prompt up:

/eigen3/eigen/src/qr/colpivhouseholderqr_mkl.h:94:1 error: cannot convert "eigen::plainobjectbase<eigen::matrix<int,-1,1>>::scalar* {aka int*}" "long long int*" in initialization eigen_mkl_or_colpiv(...)  

two questions here:

  1. eigen_use_blas enables 4x speed though didn't expect much, possible reason?

  2. eigen_use_mkl_all seems have type conflict lapack stuff, how fix compiling error?

  1. mkl utilizes new avx/avx2 instruction set (8 32-bit float operations per clock fma , 3-operand instructions), while eigen 3.2.8 supports sse4 (4 32-bit float operations per clock). indicated ggael, update 3.3beta1 achieve better performance.

  2. you try eigen 3.3-beta1. cannot reproduce problem. may want provide code sample , compile option. based on error message, guess using ilp64 interface, not supported eigen. use lp64 instead.


Comments

Popular posts from this blog

java - Suppress Jboss version details from HTTP error response -

gridview - Yii2 DataPorivider $totalSum for a column -

Sass watch command compiles .scss files before full sftp upload -