[Paraview-developers] How does ParaView schedule render tasks among all the processes?

Jie Chen chenjie.hust at gmail.com
Tue Feb 14 13:49:08 EST 2012


Thanks for help. I really appreciate it!

On Tue, Feb 14, 2012 at 1:30 PM, Biddiscombe, John A. <biddisco at cscs.ch>wrote:

>  Replying back to list in case anyone else needs to know …****
>
> ** **
>
> **1)      **It doesn’t. Pieces pass though data parallel pipelines, each
> is separate. User defined filters can send data between processes (and some
> built in filters in paraview do too), but each process will render its own
> piece and the merging is done as a compositing step. Look up sort last
> rendering or check the paraview wiki for papers on the subject for more
> info.****
>
> **2)      **Mostly on the server side. If client side rendering is
> enabled, geometry can be gathered at the last step and sent to the client
> for rendering. ****
>
> **3)      **The process is complicated. Start by looking at the code for
> OrderedCompositing (search for vtkOrderedCompositor/er?), each
> representation may behave differently depending on how the final image
> needs to be created. See Ken Moreland’s IceT paper, Sort Last Rendering,
> and all the other papers on the wiki****
>
> JB ****
>
> ** **
>
> *From:* Jie Chen [mailto:chenjie.hust at gmail.com]
> *Sent:* 14 February 2012 19:05
> *To:* Biddiscombe, John A.
> *Subject:* Re: [Paraview-developers] How does ParaView schedule render
> tasks among all the processes?****
>
> ** **
>
> John,****
>
> ** **
>
> Thanks for your answer. It's much clear to understand how ParaView splits
> a file for parallel processing. However, I still have questions about
> merging the split pieces into a final result: ****
>
> ** **
>
> 1)How does ParaView merge the split pieces together after the pieces have
> been processed by their pipelines? ****
>
> ** **
>
> 2)Does the mergence occur in the server-side or the client-side?****
>
> ** **
>
> 3)Which function call would trigger this mergence? Just give me some clue,
> I can find myself.****
>
> ** **
>
> Thanks.****
>
> ** **
>
> Jie****
>
> ** **
>
> On Tue, Feb 14, 2012 at 11:43 AM, Biddiscombe, John A. <biddisco at cscs.ch>
> wrote:****
>
> Jie****
>
>  ****
>
> 1)      each reader/source must split pieces itself. If I am a
> vtkSTUFFreader, when I execute, I am given a piece number or an extent
> (depending on datatype), based on this information, I read the part of the
> data that I was told to (the reader has to work out how to get the piece it
> was asked for)****
>
> 2)      The number of pieces is currently always the same as the number
> of MPI ranks (but it doesn’t have to be). A reader can set MAX_PIECES to -1
> initially before the description in 1) above happens, which tells the
> pipeline that it is allowed to split the data into as many pieces as it
> wants. Be careful that the pipeline also uses pieces to represent streaming
> data pieces, which is confusing, I am not considering this case here. data
> paralle pieces are not quite the same as streaming pieces. we’re talking
> data parallel now.****
>
> 3)      assignment of piece number is essentially MPI rank****
>
> Hope this helps****
>
>  ****
>
> JB****
>
>  ****
>
> *From:* paraview-developers-bounces at paraview.org [mailto:
> paraview-developers-bounces at paraview.org] *On Behalf Of *Jie Chen
> *Sent:* 14 February 2012 17:38
> *To:* paraview-developers at paraview.org
> *Subject:* [Paraview-developers] How does ParaView schedule render tasks
> among all the processes?****
>
>  ****
>
>
> ****
>
> Hi all,****
>
>  ****
>
> I have installed the ParaView-3.12.0 on a cluster with MPI enabled. And I
> use it in a client-server mode.(pvserver is running on the cluster)****
>
>  ****
>
> I'm curious about how ParaView process a task parallelly. The following is
> my questions:****
>
> (1) How does ParaView split a file into multi-pieces for parallel
> processing, and how to combine the results together?  Is there any special
> process which handles these splitting and combining works?****
>
>  ****
>
> (2) What policy does ParaView use when it computes the number of pieces? *
> ***
>
>  ****
>
> (3)What policy does ParaView use when it assign the pieces to all the
> processes?****
>
>  ****
>
> I'm just beginning to look into the ParaView source code. Hope somebody
> can give me some clue.****
>
>  ****
>
> Thanks****
>
>  ****
>
> Jie****
>
>  ****
>
> ** **
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview-developers/attachments/20120214/861f60d8/attachment.htm>


More information about the Paraview-developers mailing list