[Paraview] Parallel Streamtracer
Stephan Rogge
stephan.rogge at tu-cottbus.de
Thu May 31 15:31:12 EDT 2012
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/d3e7014d/attachment.htm>
More information about the ParaView
mailing list