Boost logo

Boost Users :

Subject: Re: [Boost-users] [Interprocess] managed_shared_memory problem in 64-bit windows (v. 1.48.0)
From: Michel Lestrade (michel.lestrade_at_[hidden])
Date: 2011-12-20 15:40:40


On 20/12/2011 12:18 PM, Damien wrote:
> Michael,
>
> If you're trying to spin up a copy of the MUMPS solver as a separate
> process from within C++ using boost::interprocess, I've done that and it
> works on every platform. Email me at this address and I'll help you out.
>
> Damien

That is very close to what I want to do (eventually). However, it is not
a question of making 2 C++ programs communicate with each other and then
using the MUMPS C interface to link against the MUMPS Fortran code. Our
own app is also in Fortran.

There are also some additional challenges we face in that we want to run
MUMPS multiple times and have it keep its memory between calls. This is
for performance reasons as the symbolic decomposition and numeric
factorization can often be reused in our non-linear Newton solver. The
pattern is basically

1- Symbolic decomposition
2- Numeric factorization of matrix
3- Solve
4- Load new sparse matrix which is similar to the old one
5- Try to reuse existing factorization to solve (iterative solve)
6- Redo numeric factorization if iterative solve fails.

So we will run mpiexec and mumps as a detached process.

For now though, I am just trying to create a shared memory object on the
C++ side and have my original Fortran app have access to it. After that,
the MUMPS worker program (also in Fortran) would use the same mechanism
to access the shared memory.

If your suggestion applies, then I am willing to try it out.

Michel.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net