[Paraview] crash when computing distributed streamlines with threshold

burlen burlen.loring at gmail.com
Sun Jan 8 15:29:40 EST 2012


Hi Jean,

I think I know what's going on as I have had similar issues with the 
stream tracer in the past. vtkPStreamTracer requests *all* the data on 
*all* of the ranks for the pipeline connected on it's source input by 
setting the update number of pieces and piece number to 1 and 0 
respectively in its override of RequestUpdateExtent. I have inquired 
about this and was told that requesting all data on all ranks here is 
intentional because the size of source input data which is used as seed 
point for the tracer should be small.

In addition to doing what you are doing now writing the reduced size 
thresholded data out in an intermediate step, you could of course 
refactor the stream tracer to work on distributed seeds, or you could 
write a filter , that you would add to the pipeline after your 
threshold, that short circuits the pstream tracer's request for all data 
on all ranks in its RequestUpdateExtent and then does an all to all 
gather of the geometry in its RequestData override. You'd need to add 
some check to error out of reqeust data if the data is too large to be 
gathered.

Hope this helps
Burlen

On 01/06/2012 09:18 AM, Favre Jean wrote:
> Hello all
>
> I have been fighting all afternoon with a crash, which I can now avoid, or replicate on demand. Here is the scenario, a simple pipeline to do streamlines,  runing with 16 pvservers, so everything is parallel. (version 3.12)
>
> XDMF reader ->  vector field "omega" is read
> Calculator ->  mag(omega)
> Threshold ->  outputs points where mag(omega)>  125
> MaskPoints
> Streamline from source with (Xdmf reader + MaskPoints)
> ==>  memory blows up until is crashes.
>
> However, I can re-use the same pipeline, save the output of Threshold to a parallel *vtu file, reload the file, and use that (instead of threshold) as input to MaskPoints. And my streamlines compute successfully. So the pipeline which does not crash is the following, with the intermediate saving/reloading data to disk:
>
> XDMF reader ->  vector field "omega" is read
> Calculator ->  mag(omega)
> Threshold ->  outputs points where mag(omega)>  125
>     Save Data to a disk file
>     Reload the Saved Data
> MaskPoints
> Streamline from source with (Xdmf reader + MaskPoints)
>
> is anyone aware of a problem involving the afore-mentioned filters?
> -----------------
> Jean
> CSCS
> _______________________________________________
> 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