[Paraview] Parallel Streamtracer

Yuanxin Liu leo.liu at kitware.com
Thu May 31 15:33:27 EDT 2012


It is in the current VTK and ParaView master.  The class is
vtkPStreamTracer.

Leo

On Thu, May 31, 2012 at 3:31 PM, Stephan Rogge
<stephan.rogge at tu-cottbus.de>wrote:

> Hi, Andy and Leo,
>
> thanks for your replies.
>
> Is it possible to get this new implementation? I would to give it a try.
>
> Regards,
> Stephan
>
> Am 31.05.2012 um 17:48 schrieb Yuanxin Liu <leo.liu at kitware.com>:
>
> Hi, Stephan,
>    The previous implementation only has serial performance:  It traces the
> streamlines one at a time and never starts a new streamline until the
> previous one finishes.  With communication overhead, it is not surprising
> it got slower.
>
>   My new implementation is able to let the processes working on different
> streamlines simultaneously and should scale much better.
>
> Leo
>
>
> On Thu, May 31, 2012 at 11:27 AM, Andy Bauer <andy.bauer at kitware.com>wrote:
>
>> Hi Stephan,
>>
>> The parallel stream tracer uses the partitioning of the grid to determine
>> which process does the integration. When the streamline exits the subdomain
>> of a process there is a search to see if it enters a subdomain assigned to
>> any other processes before figuring it whether it has left the entire
>> domain.
>>
>> Leo, copied here, has been improving the streamline implementation inside
>> of VTK so you may want to get his newer version. It is a pretty tough
>> algorithm to parallelize efficiently without making any assumptions on the
>> flow or partitioning.
>>
>> Andy
>>
>>
>> On Thu, May 31, 2012 at 4:16 AM, Stephan Rogge <
>> Stephan.Rogge at tu-cottbus.de> wrote:
>>
>>> Hello,
>>>
>>> I have a question related to the parallelism of the stream tracer: As I
>>> understand the code right, each line integration (trace) is processed in
>>> an
>>> own MPI process. Right?
>>>
>>> To test the scalability of the Stream tracer I've load a structured
>>> (curvilinear) grid and applied the filter with a Seed resolution of 1500
>>> and
>>> check the timings in a single and multi-thread (Multi Core enabled in PV
>>> GUI) situation.
>>>
>>> I was really surprised that multi core slows done the execution time to 4
>>> seconds. The single core takes only 1.2 seconds. Data migration cannot be
>>> the explanation for that behavior (0.5 seconds). What is the problem
>>> here?
>>>
>>> Please see attached some statistics...
>>>
>>> Data:
>>> * Structured (Curvilinear) Grid
>>> * 244030 Cells
>>> * 37 MB Memory
>>>
>>> System:
>>> * Intel i7-2600K (4 Cores + HT = 8 Threads)
>>> * 16 GB Ram
>>> * Windows 7 64 Bit
>>> * ParaView (master-branch, 64 bit compilation)
>>>
>>> #################################
>>> Single Thread (Seed resolution 1500):
>>> #################################
>>>
>>> Local Process
>>> Still Render,  0.014 seconds
>>> RenderView::Update,  1.222 seconds
>>>    vtkPVView::Update,  1.222 seconds
>>>        Execute vtkStreamTracer id: 2184,  1.214 seconds
>>> Still Render,  0.015 seconds
>>>
>>> #################################
>>> Eight Threads (Seed resolution 1500):
>>> #################################
>>>
>>> Local Process
>>> Still Render,  0.029 seconds
>>> RenderView::Update,  4.134 seconds
>>> vtkSMDataDeliveryManager: Deliver Geome,  0.619 seconds
>>>    FullRes Data Migration,  0.619 seconds
>>> Still Render,  0.042 seconds
>>>    OpenGL Dev Render,  0.01 seconds
>>>
>>>
>>> Render Server, Process 0
>>> RenderView::Update,  4.134 seconds
>>>    vtkPVView::Update,  4.132 seconds
>>>        Execute vtkStreamTracer id: 2193,  3.941 seconds
>>> FullRes Data Migration,  0.567 seconds
>>>    Dataserver gathering to 0,  0.318 seconds
>>>    Dataserver sending to client,  0.243 seconds
>>>
>>> Render Server, Process 1
>>> Execute vtkStreamTracer id: 2193,  3.939 seconds
>>>
>>> Render Server, Process 2
>>> Execute vtkStreamTracer id: 2193,  3.938 seconds
>>>
>>> Render Server, Process 3
>>> Execute vtkStreamTracer id: 2193,  4.12 seconds
>>>
>>> Render Server, Process 4
>>> Execute vtkStreamTracer id: 2193,  3.938 seconds
>>>
>>> Render Server, Process 5
>>> Execute vtkStreamTracer id: 2193,  3.939 seconds
>>>
>>> Render Server, Process 6
>>> Execute vtkStreamTracer id: 2193,  3.938 seconds
>>>
>>> Render Server, Process 7
>>> Execute vtkStreamTracer id: 2193,  3.939 seconds
>>>
>>> Cheers,
>>> Stephan
>>>
>>>
>>> _______________________________________________
>>> 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
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20120531/0f6d9e0a/attachment-0001.htm>


More information about the ParaView mailing list