← Back to team overview

dolfin team mailing list archive

Re: SubSystemsManager mess

 


On 22/03/11 18:38, Johan Hake wrote:
> On Tuesday March 22 2011 11:29:23 Garth N. Wells wrote:
>> Our 'automatic' initialisation of MPI and PETSc is a real mess at the
>> moment. It seemed to work before by good luck. The major issue is
>> controlling order in the singleton class SubSystemsManager. For example,
>> I see that the function SubSystemsManager::init_mpi is called, which set
>> variables to take responsibility of MPI, and *after* this the
>> SubSystemsManager constructor is called, which resets that flags. The
>> end result is that MPI is not finalized.
>>
>> I don't see an option other robust option than explicit 'initialise'
>> (and maybe 'finalise') function calls. 
> 
> This would then be done by the user in each program?
> 
>> Any other suggestions?
> 
> If so it should be possible to at least automate this within the Python 
> interface.
> 

That can be a problem, e.g. MPI should not be finalised before all
objects that depend on it go out of scope. A problem with PyTrilinos is
that it tries to be clever with the finalizing MPI, but this screws
things up.

Garth

> Johan
> 
>> Garth
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dolfin
>> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~dolfin
>> More help   : https://help.launchpad.net/ListHelp



References