Viper plotting does not work in parallel from C++

Bug #427534 reported by Anders Logg
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
DOLFIN
Won't Fix
Low
Anders Logg

Bug Description

Plotting fails in parallel. To reproduce this bug, uncomment the call to not_working_in_parallel in plot.cpp and run the Poisson demo with

  mpirun -n 2 ./demo

Exits with a message about a lost lifeline.

Anders Logg (logg)
Changed in dolfin:
status: New → Confirmed
importance: Undecided → Medium
Changed in dolfin:
milestone: none → 0.94
Anders Logg (logg)
Changed in dolfin:
milestone: 0.9.4 → 0.9.6
Anders Logg (logg)
Changed in dolfin:
milestone: 0.9.6 → 0.9.7
Changed in dolfin:
importance: Medium → Low
summary: - Plotting does not work in parallel from C++
+ Viper plotting does not work in parallel from C++
Changed in dolfin:
milestone: 0.9.7 → 0.9.12
Anders Logg (logg)
Changed in dolfin:
assignee: nobody → Anders Logg (logg)
Revision history for this message
Anders Logg (logg) wrote :

I tried to work around this bug but without luck. For some reason, the combination of MPI, VTK (Viper) and system() leads to errors like

routed:binomial: Connection to lifeline [[27229,0],0] lost

The error does not show up if the call to viper is replaced by a call to for example xterm.

The error does not show up if MPI::Init() is not called.

Changed in dolfin:
status: Confirmed → Won't Fix
Revision history for this message
Johan Hake (johan-hake) wrote : Re: [Bug 427534] Re: Viper plotting does not work in parallel from C++

I have long thought of creating a C++ wrapper of Viper. It should be possible,
with passing just NumPy arrays of coordinates, connectivities and data, from
DOLFIN to Viper. But I have never got my but around to code it up. To put it
clear, it is not one of my highest priorities...

Have you tried letting Viper read parallel vtk files, or would it still be a
problem to call Viper using system?

Does xterm work on Mac, and Linux, but not on Windos? Maybe you can "fix" it
using xterm and then dissable parallel C++ plotting on Windows?

Johan

On Wednesday June 1 2011 07:59:28 Anders Logg wrote:
> I tried to work around this bug but without luck. For some reason, the
> combination of MPI, VTK (Viper) and system() leads to errors like
>
> routed:binomial: Connection to lifeline [[27229,0],0] lost
>
> The error does not show up if the call to viper is replaced by a call to
> for example xterm.
>
> The error does not show up if MPI::Init() is not called.
>
>
> ** Changed in: dolfin
> Status: Confirmed => Won't Fix

Revision history for this message
Anders Logg (logg) wrote :

On Wed, Jun 01, 2011 at 03:52:43PM -0000, Johan Hake wrote:
> I have long thought of creating a C++ wrapper of Viper. It should be possible,
> with passing just NumPy arrays of coordinates, connectivities and data, from
> DOLFIN to Viper. But I have never got my but around to code it up. To put it
> clear, it is not one of my highest priorities...

I think a rewrite of Viper would be a better option...

> Have you tried letting Viper read parallel vtk files, or would it still be a
> problem to call Viper using system?

Any call to Viper (even from just one process) fails.

> Does xterm work on Mac, and Linux, but not on Windos? Maybe you can "fix" it
> using xterm and then dissable parallel C++ plotting on Windows?

Xterm won't help here... :-) What I meant was that it's perfectly
possible to do

  system("xterm")

in parallel (even when MPI is initialized). The problem is that will
only fire up a bunch of Xterms, no plots... :-P

--
Anders

> Johan
>
>
> On Wednesday June 1 2011 07:59:28 Anders Logg wrote:
> > I tried to work around this bug but without luck. For some reason, the
> > combination of MPI, VTK (Viper) and system() leads to errors like
> >
> > routed:binomial: Connection to lifeline [[27229,0],0] lost
> >
> > The error does not show up if the call to viper is replaced by a call to
> > for example xterm.
> >
> > The error does not show up if MPI::Init() is not called.
> >
> >
> > ** Changed in: dolfin
> > Status: Confirmed => Won't Fix
>

Revision history for this message
Johan Hake (johan-hake) wrote :

On Wednesday June 1 2011 09:06:39 Anders Logg wrote:
> On Wed, Jun 01, 2011 at 03:52:43PM -0000, Johan Hake wrote:
> > I have long thought of creating a C++ wrapper of Viper. It should be
> > possible, with passing just NumPy arrays of coordinates, connectivities
> > and data, from DOLFIN to Viper. But I have never got my but around to
> > code it up. To put it clear, it is not one of my highest priorities...
>
> I think a rewrite of Viper would be a better option...

To be helpfull in this case you need to rewrite Viper in C++, which is
probably not what you want.

What is the status of the "new" Viper? In San Diego they are also having
problems using it due to some license problems, which I do not know what is...

So it looks like no one is really using the new Viper because of license
problems... There have to be a solution to this. Simula bought shares in
siliconmed which was used to pay Ola and Arve developing this, so time and
money is invested, and it is in our interest to sort this out...

> > Have you tried letting Viper read parallel vtk files, or would it still
> > be a problem to call Viper using system?
>
> Any call to Viper (even from just one process) fails.

Ok

> > Does xterm work on Mac, and Linux, but not on Windos? Maybe you can "fix"
> > it using xterm and then dissable parallel C++ plotting on Windows?
>
> Xterm won't help here... :-) What I meant was that it's perfectly
> possible to do
>
> system("xterm")
>
> in parallel (even when MPI is initialized). The problem is that will
> only fire up a bunch of Xterms, no plots... :-P

Ok, a small missunderstandment from my part there ;)

Johan

> --
> Anders
>
> > Johan
> >
> > On Wednesday June 1 2011 07:59:28 Anders Logg wrote:
> > > I tried to work around this bug but without luck. For some reason, the
> > > combination of MPI, VTK (Viper) and system() leads to errors like
> > >
> > > routed:binomial: Connection to lifeline [[27229,0],0] lost
> > >
> > > The error does not show up if the call to viper is replaced by a call
> > > to for example xterm.
> > >
> > > The error does not show up if MPI::Init() is not called.
> > >
> > >
> > > ** Changed in: dolfin
> > >
> > > Status: Confirmed => Won't Fix

Revision history for this message
Anders Logg (logg) wrote :

On Wed, Jun 01, 2011 at 04:23:15PM -0000, Johan Hake wrote:
> On Wednesday June 1 2011 09:06:39 Anders Logg wrote:
> > On Wed, Jun 01, 2011 at 03:52:43PM -0000, Johan Hake wrote:
> > > I have long thought of creating a C++ wrapper of Viper. It should be
> > > possible, with passing just NumPy arrays of coordinates, connectivities
> > > and data, from DOLFIN to Viper. But I have never got my but around to
> > > code it up. To put it clear, it is not one of my highest priorities...
> >
> > I think a rewrite of Viper would be a better option...
>
> To be helpfull in this case you need to rewrite Viper in C++, which is
> probably not what you want.
>
> What is the status of the "new" Viper? In San Diego they are also having
> problems using it due to some license problems, which I do not know what is...
>
> So it looks like no one is really using the new Viper because of license
> problems... There have to be a solution to this. Simula bought shares in
> siliconmed which was used to pay Ola and Arve developing this, so time and
> money is invested, and it is in our interest to sort this out...

I don't know what the status or the problem is. I'm Cc:ing Ola. Maybe
he knows?

Another option is to redesign/rewrite a plotter for DOLFIN. Johannes
has some skills in this area so that may be another option.

--
Anders

> > > Have you tried letting Viper read parallel vtk files, or would it still
> > > be a problem to call Viper using system?
> >
> > Any call to Viper (even from just one process) fails.
>
> Ok
>
> > > Does xterm work on Mac, and Linux, but not on Windos? Maybe you can "fix"
> > > it using xterm and then dissable parallel C++ plotting on Windows?
> >
> > Xterm won't help here... :-) What I meant was that it's perfectly
> > possible to do
> >
> > system("xterm")
> >
> > in parallel (even when MPI is initialized). The problem is that will
> > only fire up a bunch of Xterms, no plots... :-P
>
> Ok, a small missunderstandment from my part there ;)
>
> Johan
>
>

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.