Hi Marek, I'm a bit confused. Where are you getting your CoProcessing executable from? If I run the coprocessing library tests I don't see any failures on my machine and they're running in parallel. Could you send me the results of doing "ctest -V -R CoProcessing" on your machine? There should be 6 tests that run. The PCoProcessingPythonScriptExampleOne tests the coprocessing tools with a 2 process run. You may need to check out ParaViewData (http://www.paraview.org/paraview/resources/software.html) and add that option in the cmake configuration.
Andy On Tue, Dec 6, 2011 at 3:31 AM, peacemaker <[email protected]> wrote: > ** > Hi, > > Im trying to run the PythonScriptCoProcessingExample(.cxx) included in > ParaView sourcecode - this is my first "getting in touch" with MPI > + ParaView (and Coprocessing of course) so maybe it`s just a very simple > problem. I already succesfully compiled Paraview with Coprocessing and > python (Ubuntu 11.10) and I`m running the source with COPROCESSOR_USE_MPI. > When I run it like: > mpirun -n 1 ./CoProcessing ./PythonScriptTest.py > then I get as result CPGrid0_mpirun1.png and CPPressure0_mpirun1.png - > looks good. > If I try: > mpirun -n 2 ./CoProcessing ./PythonScriptTest.py > then I get as result CPGrid0_mpirun2.png and CPPressure0_mpirun2.png - > these pictures seem to be incorrect. > In vtkPVCustomTestDriver.cxx there are source lines like: > ... > #ifdef COPROCESSOR_USE_MPI > myid = vtkMPICommunicator::GetWorldCommunicator()->GetLocalProcessId(); > #endif > .... > gridBuilder->SetSpacing(spacing); > double origin[3] = {myid*49*.2,20,300}; > ..... > If I understand it correctly there should be just a shift on the x-axis > between the grids? The pictures get more and more messy, when I increase > the numer of processes. > After little messing around with the pyton-script needed to run this > example (see bottom of this Mail) I got the following output when running > it with mpirun -n 3: CPPressure0_changedscript_mpirun3.png. The halfs of > the 2nd and 3rd grid are missing. > > What am I doing wrong? Is this example not supposed to be run with MPI? > How does Coprocessing merge the data from different processes and how does > the picture get built? > > I already tested this on a different PC with the same result. I hope you > can help me. > > Best wishes > > Marek > > > changed Python Script: > def DoCoProcessing(datadescription): > timestep = datadescription.GetTimeStep() > > grid = datadescription.GetInputDescriptionByName("input").GetGrid() > pressure = grid.GetPointData().GetArray('Pressure') > > # print grid > > #grid.GetPointData().SetScalars(pressure) > obj.SetOutput(grid) > # print obj > > # get global range of Pressure > di = trivialproducer.GetDataInformation(0) > trivialproducer.UpdatePipeline() > di.Update() > pdi = di.GetPointDataInformation() > # print pdi > ai = pdi.GetArrayInformation('Pressure') > pressurerange = ai.GetComponentRange(0) > > contour.Isosurfaces = .5*(pressurerange[0]+pressurerange[1]) > > # now output the results to the screen as well as taking > # a screen shot of the view > #setup a window > #rep = Show(contour) > #ren = Render() > > #set the background color > #ren.Background=[1,1,1] #white > > #set image size > #ren.ViewSize = [1000, 1000] #[width, height] > > #set representation > #rep.Representation="Surface" > > #save screenshot > #gridimagefilename = 'CPGrid'+str(timestep) + '.png' > #WriteImage(gridimagefilename) > > rep = Show(trivialproducer) > #rep.LookupTable = MakeBlueToRedLT(pressurerange[0], pressurerange[1]) > #rep.ColorArrayName = 'Pressure' > #rep.ColorAttributeType = 'POINT_DATA' > #set representation > rep.Representation="Wireframe" > #rep = Show(contour) > #set the background color > ren = Render() > ren.Background=[0,0,0] #white > ren.ViewSize = [1000, 1000] #[width, height] > > pressureimagefilename = 'CPPressure'+str(timestep) + '.png' > WriteImage(pressureimagefilename) > return > > def RequestDataDescription(datadescription): > time = datadescription.GetTime() > timestep = datadescription.GetTimeStep() > print timestep > if timestep % 20 == 0: > # add in some fields > #print 'added Pressure and wanting to do coprocessing' > > datadescription.GetInputDescriptionByName("input").AddPointField("Pressure") > datadescription.GetInputDescriptionByName('input').GenerateMeshOn() > return > > # the code below is needed to import objects from paraview.simple > # plus the definition of vtkTrivialProducer into this python script. > try: paraview.simple > except: from paraview.simple import * > > trivialproducer = TrivialProducer() > contour = Contour(Input=trivialproducer) > > obj = trivialproducer.GetClientSideObject() > > _______________________________________________ > 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
