[Paraview] Parallel Streamtracer

Yuanxin Liu leo.liu at kitware.com
Thu May 31 11:48:47 EDT 2012


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/7337c104/attachment-0001.htm>


More information about the ParaView mailing list