Re: PV 3.12.0 coprocessing problem
2012-01-02 21:16:44 GMT
Happy New Year John,
That branch that you used should be fine. I did my testing below with 803fb9bda66b479949556c14f9777384995188a6.
I got a chance to play around with your reduced-1.py script and didn't see anything wrong with it. I modified it to work with the my driver script and to write out the results (I didn't want to mess with the view settings to get a "nice" picture). I also removed the part where the proxies are deleted because that's been changed about a week ago. I'm attaching the files I used to run. I ran it both in serial (bin/pvpython pkfdriver.py reduced-1.py 3) and parallel (mpirun -np 2 bin/pvbatch --symmetric pkfdriver.py reduced-1.py 3) without any problems.
I'm not sure how to go any further in solving this problem myself since I'm quite unfamiliar with the rendering parts of VTK and ParaView. It does seem odd to me though that vtkRenderWindowInteractor::Initialize() is in the stack of the single process. Is your input a topologically structured grid? If it is, did you properly set the whole extent for your vtkCPInputDataDescription object? The last thing I can think of is to add in a writer to the script to see the actual output from the contour filter. Maybe someone else on the list has an idea of what's going wrong since I don't think it's a problem with the coprocessing libraries. If you can demonstrate the problem in some way that I can repeat it here though I'll keep trying to track it down. Maybe if you could send me a file for your data set I can try to replicate it here.
Andy
Andy,
Merry Christmas ….
>
Any chance you could test with the paraview's current master branch?
<
Using kitware/master ref : aef70217488706ecd124e4ad5cb25e47f57d1478
Using the pvbatch test you sent, it hangs the same … I have N-1 in here
> vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data, __int64 length, int type, int root) Line 1132 + 0x3b bytes C++
vtkParallel.dll!vtkCommunicator::Broadcast(int * data, __int64 length, int srcProcessId) Line 256 C++
vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data, __int64 length, int srcProcessId) Line 402 C++
vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image, const char * filename, const char * writerName) Line 139 C++
vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification) Line 311 + 0x1f bytes C++
vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args) Line 367 + 0x1f bytes C++
and 1 in here.
> vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int destProcessId, int * comm) Line 317 C++
vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int destProcessId) Line 1395 + 0x4c bytes C++
vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId) Line 633 C++
vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId) Line 811 C++
vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds) Line 1381 C++
vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering) Line 598 C++
vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive, bool skip_rendering) Line 882 C++
vtkPVClientServerCore.dll!vtkPVRenderView::StillRender() Line 745 C++
vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu, vtkObjectBase * ob, const char * method, const vtkClientServerStream & msg, vtkClientServerStream & resultStream) Line 258 C++
vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream & css, int midx) Line 379 + 0x2f bytes C++
vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream & css, int message) Line 214 + 0x1d bytes C++
vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream & css) Line 183 + 0x14 bytes C++
vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream & stream, bool ignore_errors) Line 636 C++
vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location, const vtkClientServerStream & stream, bool ignore_errors) Line 606 C++
vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location, const vtkClientServerStream & stream, bool ignore_errors) Line 157 C++
vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream & stream, bool ignore_errors, unsigned int location) Line 2092 C++
vtkPVServerManager.dll!vtkSMViewProxy::StillRender() Line 137 + 0x18 bytes C++
vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender() Line 86 C++
vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render() Line 302 C++
vtkRendering.dll!vtkRenderWindowInteractor::Initialize() Line 632 C++
vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize() Line 76 + 0x13 bytes C++
vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen) Line 1417 C++
vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification) Line 875 C++
vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification) Line 268 + 0x20 bytes C++
vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification) Line 307 + 0x11 bytes C++
vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args) Line 367 + 0x1f bytes C++
I’ll look and see if some commits mentioned in earlier emails are missing from master.
JB
From: Andy Bauer [mailto:andy.bauer <at> kitware.com]
Sent: 21 December 2011 21:59
To: Biddiscombe, John A.
Cc: paraview <at> paraview.org
Subject: Re: [Paraview] PV 3.12.0 coprocessing problem
I'm attaching a couple of files that you can use to test if you have the proper fix for your branch. Run the python script with "mpirun -np 8 bin/pvbatch -sym parallelpythontest.py". If you get the same results then you don't have the fix yet for the image issue. Note that parallelpythontest2.png isn't getting colored properly while parallelpythontest.png is.
AndyOn Wed, Dec 21, 2011 at 3:48 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:
I’ll give it a try using master, a very simple python script is attached.
The original contained a lot more filters, this has most of them stripped out and just a contour left. And yes, it is possible that some processes have no points.
JB
From: Andy Bauer [mailto:andy.bauer <at> kitware.com]
Sent: 21 December 2011 19:10
To: Biddiscombe, John A.
Cc: paraview <at> paraview.org
Subject: Re: [Paraview] PV 3.12.0 coprocessing problem
Hi John,
There were a couple of issues when saving images. One was for saving charts and maybe 2d views. The other one was for when some processes didn't have any points or cells. Looking at your stack traces I don't think it's the latter since that would fail in the python script and give a warning in there. Any chance you could test with the paraview's current master branch?
Are you using a python script to drive the coprocessing? If yes, can you share it?
AndyOn Wed, Dec 21, 2011 at 12:15 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:
I'm getting lock ups when saving images using the coprocessing. It looks a lot like a bug that was fixed many moons ago, but maybe the fix got lost in a merge ...
1 process makes it to here and waits for MPI traffic
> vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1476395010, int destProcessId=0, int * comm=0x0000000005d77670) Line 317 C++
vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1, int destProcessId=0) Line 1422 + 0x4c bytes C++
vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0) Line 633 C++
vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0) Line 811 C++
vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds=0x000000000d18a8a8) Line 1381 C++
vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering=true) Line 598 C++
vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive=false, bool skip_rendering=false) Line 882 C++
vtkPVClientServerCore.dll!vtkPVRenderView::StillRender() Line 745 C++
vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu=0x0000000005d6be10, vtkObjectBase * ob=0x000000000d18a770, const char * method=0x000000000e1f7ee9, const vtkClientServerStream & msg={...}, vtkClientServerStream & resultStream={...}) Line 258 C++
vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream & css={...}, int midx=0) Line 379 + 0x2f bytes C++
vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream & css={...}, int message=0) Line 214 + 0x1d bytes C++
vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream & css={...}) Line 183 + 0x14 bytes C++
vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream & stream={...}, bool ignore_errors=false) Line 636 C++
vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location=21, const vtkClientServerStream & stream={...}, bool ignore_errors=false) Line 606 C++
vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location=21, const vtkClientServerStream & stream={...}, bool ignore_errors=false) Line 157 C++
vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream & stream={...}, bool ignore_errors=false, unsigned int location=21) Line 2092 C++
vtkPVServerManager.dll!vtkSMViewProxy::StillRender() Line 137 + 0x18 bytes C++
vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender() Line 86 C++
vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render() Line 302 C++
vtkRendering.dll!vtkRenderWindowInteractor::Initialize() Line 632 C++
vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize() Line 76 + 0x13 bytes C++
vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen=0) Line 1268 C++
vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification=1) Line 875 C++
vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification=1) Line 268 + 0x20 bytes C++
vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b619f50, const char * writerName=0x000000000ac750e0, int magnification=1) Line 307 + 0x11 bytes C++
vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b62f6d8, _object * args=0x000000000b62b438) Line 367 + 0x1f bytes C++
------------------------------
but the other N-1 processes end up in here - waiting
> vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data=0x000000000012dd24, __int64 length=1, int type=6, int root=0) Line 1159 + 0x31 bytes C++
vtkParallel.dll!vtkCommunicator::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0) Line 256 C++
vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0) Line 402 C++
vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image=0x000000000e2c79c0, const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0) Line 139 C++
vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0, int magnification=1) Line 311 + 0x1f bytes C++
vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b73f6d8, _object * args=0x000000000b73b438) Line 367 + 0x1f bytes C++
There was a problem with the SaveImageOnProcess Zero which caused exactly this some time ago. I'm using a branch of mine derived from the v3.12.0 tag, but I cherry picked Andy's patch from kitware/master or wherever that was mentioned a few days ago -are there othe fixes on master/next that I might beneeding?
Any ideas. The pipeline is a contour of some image data on N processes. Pretty Simple.
Any help appreciated.
thanks
JB
<div>
<p>Happy New Year John,<br><br>That branch that you used should be fine. I did my testing below with 803fb9bda66b479949556c14f9777384995188a6.<br><br>I got a chance to play around with your reduced-1.py script and didn't see anything wrong with it. I modified it to work with the my driver script and to write out the results (I didn't want to mess with the view settings to get a "nice" picture). I also removed the part where the proxies are deleted because that's been changed about a week ago. I'm attaching the files I used to run. I ran it both in serial (bin/pvpython pkfdriver.py reduced-1.py 3) and parallel (mpirun -np 2 bin/pvbatch --symmetric pkfdriver.py reduced-1.py 3) without any problems. <br><br>I'm not sure how to go any further in solving this problem myself since I'm quite unfamiliar with the rendering parts of VTK and ParaView. It does seem odd to me though that vtkRenderWindowInteractor::Initialize() is in the stack of the single process. Is your input a topologically structured grid? If it is, did you properly set the whole extent for your vtkCPInputDataDescription object? The last thing I can think of is to add in a writer to the script to see the actual output from the contour filter. Maybe someone else on the list has an idea of what's going wrong since I don't think it's a problem with the coprocessing libraries. If you can demonstrate the problem in some way that I can repeat it here though I'll keep trying to track it down. Maybe if you could send me a file for your data set I can try to replicate it here.<br><br>Andy<br><br></p>
<div class="gmail_quote">On Mon, Dec 26, 2011 at 4:57 PM, Biddiscombe, John A. <span dir="ltr"><<a href="mailto:biddisco <at> cscs.ch">biddisco <at> cscs.ch</a>></span> wrote:<br><blockquote class="gmail_quote">
<div link="blue" vlink="purple" lang="EN-GB">
<div>
<p class="MsoNormal"><span>Andy,</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>Merry Christmas ….</span></p>
<div class="im">
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>> </span></p>
<p class="MsoNormal">Any chance you could test with the paraview's current master branch?<br><span><</span></p>
<p class="MsoNormal"><span> </span></p>
</div>
<p class="MsoNormal"><span>Using kitware/master ref : aef70217488706ecd124e4ad5cb25e47f57d1478</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>Using the pvbatch test you sent, it hangs the same … I have N-1 in here</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>> vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data, __int64 length, int type, int root) Line 1132 + 0x3b bytes C++</span></p>
<p class="MsoNormal"><span> vtkParallel.dll!vtkCommunicator::Broadcast(int * data, __int64 length, int srcProcessId) Line 256 C++</span></p>
<p class="MsoNormal"><span> vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data, __int64 length, int srcProcessId) Line 402 C++</span></p>
<p class="MsoNormal"><span> vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image, const char * filename, const char * writerName) Line 139
C++</span></p>
<p class="MsoNormal"><span> vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification) Line 311 + 0x1f bytes
C++</span></p>
<p class="MsoNormal"><span> vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args) Line 367 + 0x1f bytes C++
</span></p>
<div>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>and 1 in here.</span></p>
</div>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>> vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int destProcessId,
int * comm) Line 317 C++</span></p>
<p class="MsoNormal"><span> vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int
destProcessId) Line 1395 + 0x4c bytes C++</span></p>
<p class="MsoNormal"><span> vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId) Line
633 C++</span></p>
<p class="MsoNormal"><span> vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId)
Line 811 C++</span></p>
<p class="MsoNormal"><span> vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds) Line 1381 C++</span></p>
<p class="MsoNormal"><span> vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering) Line 598 C++</span></p>
<p class="MsoNormal"><span> vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive, bool skip_rendering) Line 882 C++</span></p>
<div class="im">
<p class="MsoNormal"><span> vtkPVClientServerCore.dll!vtkPVRenderView::StillRender() Line 745 C++</span></p>
</div>
<p class="MsoNormal"><span> vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu, vtkObjectBase * ob, const char * method, const vtkClientServerStream
& msg, vtkClientServerStream & resultStream) Line 258 C++</span></p>
<p class="MsoNormal"><span> vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream & css, int midx) Line 379 + 0x2f bytes
C++</span></p>
<p class="MsoNormal"><span> vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream & css, int message) Line 214 + 0x1d bytes
C++</span></p>
<p class="MsoNormal"><span> vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream & css) Line 183 + 0x14 bytes C++</span></p>
<p class="MsoNormal"><span> vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream & stream, bool ignore_errors) Line 636
C++</span></p>
<p class="MsoNormal"><span> vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location, const vtkClientServerStream & stream, bool ignore_errors)
Line 606 C++</span></p>
<p class="MsoNormal"><span> vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location, const vtkClientServerStream & stream, bool ignore_errors)
Line 157 C++</span></p>
<p class="MsoNormal"><span> vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream & stream, bool ignore_errors, unsigned int location) Line 2092
C++</span></p>
<div class="im">
<p class="MsoNormal"><span> vtkPVServerManager.dll!vtkSMViewProxy::StillRender() Line 137 + 0x18 bytes C++</span></p>
<p class="MsoNormal"><span> vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender() Line 86 C++</span></p>
<p class="MsoNormal"><span> vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render() Line 302 C++</span></p>
<p class="MsoNormal"><span> vtkRendering.dll!vtkRenderWindowInteractor::Initialize() Line 632 C++</span></p>
<p class="MsoNormal"><span> vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize() Line 76 + 0x13 bytes C++</span></p>
</div>
<p class="MsoNormal"><span> vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen) Line 1417 C++</span></p>
<p class="MsoNormal"><span> vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification) Line 875 C++</span></p>
<p class="MsoNormal"><span> vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification) Line 268 + 0x20 bytes C++</span></p>
<p class="MsoNormal"><span> vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification) Line 307 + 0x11 bytes
C++</span></p>
<p class="MsoNormal"><span> vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args) Line 367 + 0x1f bytes C++</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>I’ll look and see if some commits mentioned in earlier emails are missing from master.</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>JB</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span lang="EN-US">From:</span><span lang="EN-US"> Andy Bauer [mailto:<a href="mailto:andy.bauer <at> kitware.com" target="_blank">andy.bauer <at> kitware.com</a>]
<br>Sent: 21 December 2011 21:59<div>
<div></div>
<div class="h5">
<br>To: Biddiscombe, John A.<br>Cc: <a href="mailto:paraview <at> paraview.org" target="_blank">paraview <at> paraview.org</a><br>Subject: Re: [Paraview] PV 3.12.0 coprocessing problem</div>
</div></span></p>
<div>
<div></div>
<div class="h5">
<p class="MsoNormal"> </p>
<p class="MsoNormal">I'm attaching a couple of files that you can use to test if you have the proper fix for your branch. Run the python script with "mpirun -np 8 bin/pvbatch -sym parallelpythontest.py". If you get the same results
then you don't have the fix yet for the image issue. Note that parallelpythontest2.png isn't getting colored properly while parallelpythontest.png is.<br><br>
Andy</p>
<div>
<p class="MsoNormal">On Wed, Dec 21, 2011 at 3:48 PM, Biddiscombe, John A. <<a href="mailto:biddisco <at> cscs.ch" target="_blank">biddisco <at> cscs.ch</a>> wrote:</p>
<div>
<div>
<p class="MsoNormal"><span>I’ll give it a try using master, a very simple python script is attached.
</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>The original contained a lot more filters, this has most of them stripped out and just a contour
left. And yes, it is possible that some processes have no points.</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>JB</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span lang="EN-US">From:</span><span lang="EN-US"> Andy
Bauer [mailto:</span><a href="mailto:andy.bauer <at> kitware.com" target="_blank"><span lang="EN-US">andy.bauer <at> kitware.com</span></a><span lang="EN-US">]
<br>Sent: 21 December 2011 19:10<br>To: Biddiscombe, John A.<br>Cc: </span><a href="mailto:paraview <at> paraview.org" target="_blank"><span lang="EN-US">paraview <at> paraview.org</span></a><span lang="EN-US"><br>Subject: Re: [Paraview] PV 3.12.0 coprocessing problem</span></p>
<div>
<div>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Hi John,<br><br>
There were a couple of issues when saving images. One was for saving charts and maybe 2d views. The other one was for when some processes didn't have any points or cells. Looking at your stack traces I don't think it's the latter since that would fail in
the python script and give a warning in there. Any chance you could test with the paraview's current master branch?<br><br>
Are you using a python script to drive the coprocessing? If yes, can you share it?<br><br>
Andy</p>
<div>
<p class="MsoNormal">On Wed, Dec 21, 2011 at 12:15 PM, Biddiscombe, John A. <<a href="mailto:biddisco <at> cscs.ch" target="_blank">biddisco <at> cscs.ch</a>> wrote:</p>
<p class="MsoNormal">I'm getting lock ups when saving images using the coprocessing. It looks a lot like a bug that was fixed many moons ago, but maybe the fix got lost in a merge ...<br><br>
1 process makes it to here and waits for MPI traffic<br><br>
> vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1476395010, int destProcessId=0, int * comm=0x0000000005d77670) Line 317 C++<br>
vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1, int destProcessId=0) Line 1422 + 0x4c bytes C++<br>
vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0) Line 633 C++<br>
vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0) Line 811 C++<br>
vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds=0x000000000d18a8a8) Line 1381 C++<br>
vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering=true) Line 598 C++<br>
vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive=false, bool skip_rendering=false) Line 882 C++<br>
vtkPVClientServerCore.dll!vtkPVRenderView::StillRender() Line 745 C++<br>
vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu=0x0000000005d6be10, vtkObjectBase * ob=0x000000000d18a770, const char * method=0x000000000e1f7ee9, const vtkClientServerStream & msg={...}, vtkClientServerStream & resultStream={...})
Line 258 C++<br>
vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream & css={...}, int midx=0) Line 379 + 0x2f bytes C++<br>
vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream & css={...}, int message=0) Line 214 + 0x1d bytes C++<br>
vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream & css={...}) Line 183 + 0x14 bytes C++<br>
vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream & stream={...}, bool ignore_errors=false) Line 636 C++<br>
vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location=21, const vtkClientServerStream & stream={...}, bool ignore_errors=false) Line 606 C++<br>
vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location=21, const vtkClientServerStream & stream={...}, bool ignore_errors=false) Line 157 C++<br>
vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream & stream={...}, bool ignore_errors=false, unsigned int location=21) Line 2092 C++<br>
vtkPVServerManager.dll!vtkSMViewProxy::StillRender() Line 137 + 0x18 bytes C++<br>
vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender() Line 86 C++<br>
vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render() Line 302 C++<br>
vtkRendering.dll!vtkRenderWindowInteractor::Initialize() Line 632 C++<br>
vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize() Line 76 + 0x13 bytes C++<br>
vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen=0) Line 1268 C++<br>
vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification=1) Line 875 C++<br>
vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification=1) Line 268 + 0x20 bytes C++<br>
vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b619f50, const char * writerName=0x000000000ac750e0, int magnification=1) Line 307 + 0x11 bytes C++<br>
vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b62f6d8, _object * args=0x000000000b62b438) Line 367 + 0x1f bytes C++<br><br>
------------------------------<br>
but the other N-1 processes end up in here - waiting<br><br>
> vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data=0x000000000012dd24, __int64 length=1, int type=6, int root=0) Line 1159 + 0x31 bytes C++<br>
vtkParallel.dll!vtkCommunicator::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0) Line 256 C++<br>
vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0) Line 402 C++<br>
vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image=0x000000000e2c79c0, const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0) Line 139 C++<br>
vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0, int magnification=1) Line 311 + 0x1f bytes C++<br>
vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b73f6d8, _object * args=0x000000000b73b438) Line 367 + 0x1f bytes C++<br><br>
There was a problem with the SaveImageOnProcess Zero which caused exactly this some time ago. I'm using a branch of mine derived from the v3.12.0 tag, but I cherry picked Andy's patch from kitware/master or wherever that was mentioned a few days ago -are there
othe fixes on master/next that I might beneeding?<br><br>
Any ideas. The pipeline is a contour of some image data on N processes. Pretty Simple.<br><br>
Any help appreciated.<br><br>
thanks<br><br>
JB</p>
</div>
<p class="MsoNormal"> </p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"> </p>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
RSS Feed