[Paraview] PV 3.12.0 coprocessing problem when using multiple filters
Takuya OSHIMA
oshima at eng.niigata-u.ac.jp
Wed Dec 7 07:10:10 EST 2011
Thanks Andy.
Takuya OSHIMA, Ph.D.
Faculty of Engineering, Niigata University
8050 Ikarashi-Ninocho, Nishi-ku, Niigata, 950-2181, JAPAN
From: Andy Bauer <andy.bauer at kitware.com>
Subject: Re: [Paraview] PV 3.12.0 coprocessing problem when using multiple filters
Date: Tue, 6 Dec 2011 16:05:57 -0500
> * Hi Takuya,
>
> Sorry for the slow response but I finally did verify this problem. Your
> change also fixes it. I'm not that familiar with vtkPVSessionCore so I'll
> need to talk to some other people to make sure that it's the proper fix and if
> not, what is the proper fix. I'll email again when it's been fixed.
>
> Thanks,
> Andy
>
> On Mon, Nov 14, 2011 at 9:32 AM, Takuya OSHIMA <oshima at eng.niigata-u.ac.jp>
> wrote:
>
> Hi Andy,
>
> I may be wrong but I have a feeling that the collected data
> information in process 0 should be redistributed to other processes
> since adding a print statement for
> Slice1.GetDataInformation().GetNumberOfPoints() prints for each
> process the number of points expected from the hierarchical collection
> mechanism of vtkPVSessionCore::CollectInformation().
>
> I am not sure if this is the right place and thing but if I add the
> following code to vtkPVSessionCore::CollectInformation() the slice
> filter works exactly as you stated ("it just needs to go through one
> of the process's grid domain such that the global number of points and
> cells is greater than 0").
>
> Takuya OSHIMA, Ph.D.
> Faculty of Engineering, Niigata University
> 8050 Ikarashi-Ninocho, Nishi-ku, Niigata, 950-2181, JAPAN
>
> --- ParaView-3.12.0/ParaViewCore/ServerImplementation/vtkPVSessionCore.cxx
> 2011-11-09 05:56:18.000000000 +0900
> +++ ParaView-3.12.0.new/ParaViewCore/ServerImplementation/
> vtkPVSessionCore.cxx 2011-11-14 23:17:32.000000000 +0900
> @@ -825,6 +825,33 @@
> controller->Send(&len, 1, parent, ROOT_SATELLITE_INFO_TAG);
> }
> }
> +
> + if (this->SymmetricMPIMode)
> + {
> + if (myid == 0)
> + {
> + vtkClientServerStream css;
> + info->CopyToStream(&css);
> + const unsigned char* data;
> + size_t length;
> + css.GetData(&data, &length);
> + int len = static_cast<int>(length);
> + controller->Broadcast(&len, 1, 0);
> + controller->Broadcast(const_cast<unsigned char *>(data), len, 0);
> + }
> + else
> + {
> + int len;
> + controller->Broadcast(&len, 1, 0);
> + unsigned char *data = new unsigned char[len];
> + controller->Broadcast(data, len, 0);
> + vtkClientServerStream stream;
> + stream.SetData(data, len);
> + info->CopyFromStream(&stream);
> + delete [] data;
> + }
> + }
> +
> return true;
> }
> //
> ----------------------------------------------------------------------------
>
> From: Andy Bauer <andy.bauer at kitware.com>
> Subject: Re: [Paraview] PV 3.12.0 coprocessing problem when using multiple
> filters
> Date: Sun, 13 Nov 2011 14:18:14 -0500
>
> > I hope that's not the case that the slice has to go through each
> process's
> > grid domain. I think it just needs to go through one of the process's
> grid
> > domain such that the global number of points and cells is greater than
> 0.
> > I will check on this though.
> >
> > Andy
> >
> > On Sat, Nov 12, 2011 at 3:57 AM, Takuya OSHIMA
> > <oshima at eng.niigata-u.ac.jp>wrote:
> >
> >> Thanks for all the input guys. Indeed Pat's tip did the trick, in my
> case:
> >>
> >> if Slice1.GetDataInformation().GetNumberOfPoints():
> >> DataRepresentation2.ColorArrayName = 'p'
> >>
> >> I am still new to coprocessing so I am not getting things right but
> >> here is my deduction: I am running my simulation code in parallel with
> >> 8 processes with one cell thickness of ghost layers. Slice1 does
> >> intersect the domain, but not all of parallel decomposed
> >> subdomains. Hence the error is issued for the processes that have no
> >> slice data.
> >>
> >> Meanwhile I noticed that the slice in oneSlice.py just have happened
> >> to locate exactly on interprocessor boundaries and intersected all of
> >> parallel decomposed subdomains at the ghost layers. That explains why
> >> the script worked without error.
> >>
> >> Takuya OSHIMA, Ph.D.
> >> Faculty of Engineering, Niigata University
> >> 8050 Ikarashi-Ninocho, Nishi-ku, Niigata, 950-2181, JAPAN
> >>
> >> From: pat marion <pat.marion at kitware.com>
> >> Subject: Re: [Paraview] PV 3.12.0 coprocessing problem when using
> multiple
> >> filters
> >> Date: Fri, 11 Nov 2011 20:08:54 -0500
> >>
> >> > That's right, if the output has no point or cell data, then assigning
> the
> >> > ColorArrayName property will throw an exception. It's kind of an
> >> annoying
> >> > behavior. So I'll work around this by writing code such as:
> >> >
> >> > if mySlice.GetDataInformation().GetNumberOfPoints():
> >> > rep.ColorArrayName='p'
> >> >
> >> >
> >> > Pat
> >> >
> >> > On Fri, Nov 11, 2011 at 12:39 PM, Andy Bauer <andy.bauer at kitware.com>
> >> wrote:
> >> >
> >> >> Another thing to check is if there are any cells in the output from
> the
> >> >> second slice filter. In the ParaView GUI, i started with the
> mandelbrot
> >> >> source and then created a slice filter that didn't intersect the
> domain.
> >> >> After that there wasn't any point or cell data in the output.
> >> >>
> >> >> Andy
> >> >>
> >> >>
> >> >> 2011/11/11 Takuya OSHIMA <oshima at eng.niigata-u.ac.jp>
> >> >>
> >> >>> I'm not in a place where I can test the line 323 modification right
> >> >>> now but the cell array p is present. Please note that oneSlice.py
> >> >>> which also colors by cell p works.
> >> >>>
> >> >>> Takuya OSHIMA, Ph.D.
> >> >>> Faculty of Engineering, Niigata University
> >> >>> 8050 Ikarashi-Ninocho, Nishi-ku, Niigata, 950-2181, JAPAN
> >> >>>
> >> >>> From: Utkarsh Ayachit <utkarsh.ayachit at kitware.com>
> >> >>> Subject: Re: [Paraview] PV 3.12.0 coprocessing problem when using
> >> >>> multiple filters
> >> >>> Date: Fri, 11 Nov 2011 09:16:18 -0500
> >> >>>
> >> >>> > Is the array "p" not present when you're coprocessnig? Try taking
> out
> >> >>> > line 323 which sets the array "p" as the array to color with.
> >> >>> >
> >> >>> > Utkarsh
> >> >>> >
> >> >>> > On Fri, Nov 11, 2011 at 9:08 AM, Takuya OSHIMA
> >> >>> > <oshima at eng.niigata-u.ac.jp> wrote:
> >> >>> > > Hi,
> >> >>> > >
> >> >>> > > I am trying to explore the coprocessing capability of PV
> 3.12.0.
> >> When
> >> >>> > > I create a pipeline with a single slice filter within the PV
> GUI,
> >> >>> > > export the Python state file by the coprocessing plugin and run
> the
> >> >>> > > script as the coprocessing pipleline in my simulation code, it
> >> works
> >> >>> > > fine.
> >> >>> > >
> >> >>> > > However if I create a pipeline with two or more filters my
> >> simulation
> >> >>> > > code issues an error from the coprocessing library (the error
> >> message
> >> >>> > > is for the case of two slice filters):
> >> >>> > >
> >> >>> > > Traceback (most recent call last):
> >> >>> > > File "<string>", line 2, in <module>
> >> >>> > > File "/Users/ohshima/shindoriTest/twoSlices.py", line 323, in
> >> >>> DoCoProcessing
> >> >>> > > DataRepresentation2.ColorArrayName = 'p'
> >> >>> > > File
> >> >>>
> >> "/Volumes/RAID0data/paraview/3.12/build/Utilities/VTKPythonWrapping/
> site-packages/paraview/servermanager.py",
> >> >>> line 212, in __setattr__
> >> >>> > > setter(self, value)
> >> >>> > > File
> >> >>>
> >> "/Volumes/RAID0data/paraview/3.12/build/Utilities/VTKPythonWrapping/
> site-packages/paraview/servermanager.py",
> >> >>> line 2276, in setProperty
> >> >>> > > return self.SetPropertyWithName(propName, value)
> >> >>> > > File
> >> >>>
> >> "/Volumes/RAID0data/paraview/3.12/build/Utilities/VTKPythonWrapping/
> site-packages/paraview/servermanager.py",
> >> >>> line 267, in SetPropertyWithName
> >> >>> > > prop.SetData(arg)
> >> >>> > > File
> >> >>>
> >> "/Volumes/RAID0data/paraview/3.12/build/Utilities/VTKPythonWrapping/
> site-packages/paraview/servermanager.py",
> >> >>> line 695, in SetData
> >> >>> > > raise ValueError("Could not locate array %s in the input." %
> >> arr)
> >> >>> > > ValueError: Could not locate array p in the input.
> >> >>> > >
> >> >>> > > The problem is same for Mac OS X 10.6 and RHEL 5.1 64bit. I
> attach
> >> the
> >> >>> > > scripts oneSlice.py (which works) and twoSlices.py (which does
> not
> >> >>> > > work). Can anybody shed light on the problem?
> >> >>> > >
> >> >>> > > Takuya
> >> >>> > >
> >> >>> > > Takuya OSHIMA, Ph.D.
> >> >>> > > Faculty of Engineering, Niigata University
> >> >>> > > 8050 Ikarashi-Ninocho, Nishi-ku, Niigata, 950-2181, JAPAN
> >> >>> > >
> >> >>> > > _______________________________________________
> >> >>> > > Powered by www.kitware.com
> >> >>> > >
> >> >>> > > Visit other Kitware open-source projects at
> >> >>> http://www.kitware.com/opensource/opensource.html
> >> >>> > >
> >> >>> > > Please keep messages on-topic and check the ParaView Wiki at:
> >> >>> http://paraview.org/Wiki/ParaView
> >> >>> > >
> >> >>> > > Follow this link to subscribe/unsubscribe:
> >> >>> > > http://www.paraview.org/mailman/listinfo/paraview
> >> >>> > >
> >> >>> > >
> >> >>> _______________________________________________
> >> >>> Powered by www.kitware.com
> >> >>>
> >> >>> Visit other Kitware open-source projects at
> >> >>> http://www.kitware.com/opensource/opensource.html
> >> >>>
> >> >>> Please keep messages on-topic and check the ParaView Wiki at:
> >> >>> http://paraview.org/Wiki/ParaView
> >> >>>
> >> >>> Follow this link to subscribe/unsubscribe:
> >> >>> http://www.paraview.org/mailman/listinfo/paraview
> >> >>>
> >> >>
> >> >>
> >> >> _______________________________________________
> >> >> Powered by www.kitware.com
> >> >>
> >> >> Visit other Kitware open-source projects at
> >> >> http://www.kitware.com/opensource/opensource.html
> >> >>
> >> >> Please keep messages on-topic and check the ParaView Wiki at:
> >> >> http://paraview.org/Wiki/ParaView
> >> >>
> >> >> Follow this link to subscribe/unsubscribe:
> >> >> http://www.paraview.org/mailman/listinfo/paraview
> >> >>
> >> >>
> >> _______________________________________________
> >> Powered by www.kitware.com
> >>
> >> Visit other Kitware open-source projects at
> >> http://www.kitware.com/opensource/opensource.html
> >>
> >> Please keep messages on-topic and check the ParaView Wiki at:
> >> http://paraview.org/Wiki/ParaView
> >>
> >> Follow this link to subscribe/unsubscribe:
> >> http://www.paraview.org/mailman/listinfo/paraview
> >>
>
More information about the ParaView
mailing list