wareHHOuse / diskpp

DiSk++, a C++ library for Hybrid High-Order (HHO) and Discontinuous Galerkin skeletal methods
Other
14 stars 11 forks source link

Intel MKL is a mandatory dependency #38

Open datafl4sh opened 6 years ago

datafl4sh commented 6 years ago

At the moment, Intel MKL is a mandatory dependency and if it is not installed many parts of DiSk++ refuse to compile. Intel MKL should become an optional dependency. To do this the build system has to put a #define HAVE_INTEL_MKL in some config.h file and in the code we should #ifdef appropriately.

EDIT: Intel MKL is needed only for PARDISO, linear algebra is handled by Eigen, which is much much fastert.

npaster commented 6 years ago

we can replace paradise by the superLU from Eigen

datafl4sh commented 6 years ago

Yes, we definitely can. Also MUMPS can be a solution, maybe better than superLU. In any case I'd like to keep the support for the MKL PARDISO, because it is pretty fast and at the moment I don't know how it compares with the other two.

npaster commented 6 years ago

I try MUMPS with an other code and it is really better than superLU specially when the system has more than 200.000 dofs. Yes, we can let the user choose which solver he want to use depending on the solver available on his computer at the compilation