Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add MUMPS as linear solver option to mplinsolve() #2

Open
rdzman opened this issue Nov 30, 2020 · 2 comments
Open

Add MUMPS as linear solver option to mplinsolve() #2

rdzman opened this issue Nov 30, 2020 · 2 comments

Comments

@rdzman
Copy link
Member

rdzman commented Nov 30, 2020

Moved here from MATPOWER/matpower#108 by @rwl ...

MUMPS might be a good candidate for a new linear solver option in mplinsol. Benchmarking would be required, but its support for parallelism may make it a good alternative to PARDISO when solving large systems, but without the license restrictions.

It includes a MATLAB/Octave interface. While this doesn't work with MPI-based distributed memory parallelism, it does support shared memory, multithreaded parallelism through OpenMP and multithreaded BLAS implementations.

@rdzman
Copy link
Member Author

rdzman commented Nov 30, 2020

Thanks for this suggestion.

Are you sure the MATLAB/Octave interface can support parallelism? Section 10 in the User's Guide states ...

Only an interface to the sequential version of MUMPS is provided, thus only the parameters related to the sequential version of MUMPS are available.

In any case, as you say, it would be useful to have some benchmarks to get an idea of whether there are improvements over the built-in backslash operator, and if so, how much and under what circumstances.

@rwl
Copy link

rwl commented Dec 1, 2020

Are you sure the MATLAB/Octave interface can support parallelism?

At the end of Section 3.11 the User's Guide states:

... the MPI-free version can make use of several cores by relying on multithreading

It seems to be like PETSC --with-mpi=0 where a uniprocessor implementation of MPI is used, but otherwise the code is the same.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants