Registered Member
|
Dear all,
I have recently downloaded the latest release of eigen 3.1.0alpha2. I have also managed to get the MKL library from Intel and link it with eigen. However I haven't been able to get the PARDISOSupport module working. When I included it, it first complained that it could not find the header file. Looking in the folder structure of eigen I noticed that there was a mistake and renamed the folder from PardisoSupport to PARDISOSupport. After however it complains that several variables: m_param, flags, etc. are not defined. I am a bit stumped as to what to do, any help will be much appreciated. Thanks in advance, Alex. |
Moderator
|
hm, sounds strange. Could you paste the complete list of errors? thanks.
|
Registered Member
|
Hi ggael,
Thanks for the quick reply. This is what I get when I include the PARDISO module.
from /home/aledauser/Documents/ComputerScience/PhD/Programming/3DMMOgre/src/headers/MathsUtils.h:15, from /home/aledauser/Documents/ComputerScience/PhD/Programming/3DMMOgre/src/headers/OMOgreConverter.h:22, from /home/aledauser/Documents/ComputerScience/PhD/Programming/3DMMOgre/src/headers/MMViewer.h:20, from ../src/code/MMViewer.cpp:17: /usr/local/include/eigen3/Eigen/src/PARDISOSupport/PARDISOSupport.h: In member function ‘Eigen::Array<typename Eigen::internal::pardiso_traits<Derived>::Index, 64, 1>& Eigen::PardisoImpl<Derived>::pardisoParameterArray()’: /usr/local/include/eigen3/Eigen/src/PARDISOSupport/PARDISOSupport.h:143:14: error: ‘m_param’ was not declared in this scope In file included from /usr/local/include/eigen3/Eigen/PARDISOSupport:24:0, from /home/aledauser/Documents/ComputerScience/PhD/Programming/3DMMOgre/src/headers/MathsUtils.h:15, from /home/aledauser/Documents/ComputerScience/PhD/Programming/3DMMOgre/src/headers/OMOgreConverter.h:22, from /home/aledauser/Documents/ComputerScience/PhD/Programming/3DMMOgre/src/headers/MMViewer.h:20, from ../src/code/MMViewer.cpp:17: /usr/local/include/eigen3/Eigen/src/PARDISOSupport/PARDISOSupport.h: In constructor ‘Eigen::PardisoLDLT<_MatrixType, Options>::PardisoLDLT(const MatrixType&)’: /usr/local/include/eigen3/Eigen/src/PARDISOSupport/PARDISOSupport.h:462:14: error: ‘flags’ was not declared in this scope /usr/local/include/eigen3/Eigen/src/PARDISOSupport/PARDISOSupport.h:465:23: error: ‘hermitian’ was not declared in this scope Perhaps there is something I am missing when I am linking the libraries? Regards, Alex. |
Registered Member
|
Hello,
I have been having exactly the same problem with 3.1.0-alpha2 Using the trunk version (0b51d2327999), I reduced the number of missing members to one: m_param. Are we missing something? S |
Moderator
|
should be ok now. the explanation for this is simply that I can only try pardiso with ICC, and ICC does not check code of non instantiated functions....
|
Registered Member
|
OK great it works now.
For those interested into how to use Pardiso support, here is a code sample:
Note the .eval() on the identity matrix, else it won't compile. |
Registered users: Bing [Bot], claydoh, Google [Bot], rblackwell, Yahoo [Bot]