Thanks for help. I really appreciate it!<br><br><div class="gmail_quote">On Tue, Feb 14, 2012 at 1:30 PM, Biddiscombe, John A. <span dir="ltr">&lt;<a href="mailto:biddisco@cscs.ch">biddisco@cscs.ch</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-GB" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">Replying back to list in case anyone else needs to know …<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u> <u></u></span></p>
<p><u></u><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><span>1)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">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.<u></u><u></u></span></p>

<p><u></u><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><span>2)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">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.
<u></u><u></u></span></p>
<p><u></u><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><span>3)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">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<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">JB
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> Jie Chen [mailto:<a href="mailto:chenjie.hust@gmail.com" target="_blank">chenjie.hust@gmail.com</a>]
<br>
<b>Sent:</b> 14 February 2012 19:05<br>
<b>To:</b> Biddiscombe, John A.<br>
<b>Subject:</b> Re: [Paraview-developers] How does ParaView schedule render tasks among all the processes?<u></u><u></u></span></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">John,<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks for your answer. It&#39;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: <u></u><u></u></p>

</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">1)How does ParaView merge the split pieces together after the pieces have been processed by their pipelines? <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">2)Does the mergence occur in the server-side or the client-side?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">3)Which function call would trigger this mergence? Just give me some clue, I can find myself.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Jie<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Tue, Feb 14, 2012 at 11:43 AM, Biddiscombe, John A. &lt;<a href="mailto:biddisco@cscs.ch" target="_blank">biddisco@cscs.ch</a>&gt; wrote:<u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">Jie</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"> </span><u></u><u></u></p>
<p><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">1)</span><span style="font-size:7.0pt;color:#1f497d">     
</span><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">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)</span><u></u><u></u></p>
<p><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">2)</span><span style="font-size:7.0pt;color:#1f497d">     
</span><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">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.</span><u></u><u></u></p>
<p><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">3)</span><span style="font-size:7.0pt;color:#1f497d">     
</span><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">assignment of piece number is essentially MPI rank</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">Hope this helps</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">JB</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">
<a href="mailto:paraview-developers-bounces@paraview.org" target="_blank">paraview-developers-bounces@paraview.org</a> [mailto:<a href="mailto:paraview-developers-bounces@paraview.org" target="_blank">paraview-developers-bounces@paraview.org</a>]
<b>On Behalf Of </b>Jie Chen<br>
<b>Sent:</b> 14 February 2012 17:38<br>
<b>To:</b> <a href="mailto:paraview-developers@paraview.org" target="_blank">paraview-developers@paraview.org</a><br>
<b>Subject:</b> [Paraview-developers] How does ParaView schedule render tasks among all the processes?</span><u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"><br clear="all">
<u></u><u></u></p>
<div>
<p class="MsoNormal">Hi all,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">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)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I&#39;m curious about how ParaView process a task parallelly. The following is my questions:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">(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?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">(2) What policy does ParaView use when it computes the number of pieces? <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">(3)What policy does ParaView use when it assign the pieces to all the processes?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I&#39;m just beginning to look into the ParaView source code. Hope somebody can give me some clue.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Jie<u></u><u></u></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"> <u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div></div></div>
</div>

</blockquote></div><br><br>