[vtkusers] Existing data parallel example in contrib director

Charles Law charles.law at kitware.com
Fri Aug 4 08:17:43 EDT 2000


At 04:04 PM 8/3/00 +0000, Naveen Kumar Polapally wrote:


>hi,
>
>1)Firstly is there an analogous class to vtkAppendPolydata for Images.

vtkImageAppend, but looking at your next question, it is probably not what 
you want.  You would have to combine vtkImageAppend with vtkImageClip, and 
determine the extent pieces your self.


>2)I want to know What is "Borg " Notation for PolyData.I did not 
>understand the part "piece 0 of 4, piece 1 of 4 ".In PolyData we have the 
>list consisting of Points with there Ids and CellArray consisting of 
>PointIds, so how does it map back into the subset of the original 
>structured data.

0 of 2 is the first half of the data (Cells)
1 of 2 is the second half of the data (Cells)
...
The two halves will contain common points.


>3)How does the vtkAppendPolyData get the information about the number of 
>processors, so that it can split into that many pieces.I was not a able 
>find out where the variable NumberOfInputs gets set. Because the variable 
>pieces was being set by using NumberOfInputs.

I assume you are asking about "ParallelStreamingOn".  In this mode, the 
append filter asks for a different piece from each of its inputs.  With 
three inputs the requested pieces would be:
input 0:  0 of 3
input 1:  1 of 3
input 2:  2 of 3
The filter knows nothing about the number of processes.  It is simply set 
up to receive an input from each process.


Charles.


>Thanks,
>naveen.
>
>>From: Jim Ahrens <ahrens at lanl.gov>
>>To: vtkusers at public.kitware.com
>>Subject: [vtkusers] Existing data parallel example in contrib director
>>Date: Tue, 01 Aug 2000 15:44:57 -0600
>>
>>There has been some confusion about data parallelism in vtk. Hopefully
>>the message below helps to clarify this issue.
>>
>>The example program ParallelIso.cxx found in the contrib directory is an
>>
>>example of a data parallel program. Multiple processes each create a
>>pipeline to read, isosurface and color a medical dataset. The resulting
>>polydata from each process is sent over an output port to process 0.
>>These datasets are received (by a set of input ports) on process 0 and
>>appended together using the vtkAppendPolyDataFilter and then rendered.
>>
>>Partitioning of  the data into independent subsets starts with the
>>vtkAppendPolyData filter.  The call to app->ParallelStreamingOn() in the
>>ParallelIso.cxx program will cause
>>each process to request a subset of the isosurface polydata (i.e. piece
>>0 of 4, piece 1 of 4, etc.). The specific code and line that does this
>>can be found in graphics/vtkAppendPolyData.cxx in the method
>>ComputeInputUpdateExtents():
>>
>>this->Input[idx]->SetUpdateExtext(piece + idx, numPieces);
>>
>>When an update request is propagated up the pipeline (from the renderer,
>>to the append filter, through the elevation filter, to the isosurface
>>filter) the request for a
>>subset of polydata is translated into a request for an independent
>>subset/block
>>of the structured point input dataset. The specific code that does this
>>can be found in patented/vtkSynchronizedTemplates3D.cxx in the
>>method ComputeInputUpdateExtents().
>>
>>The result of the program is a surface (the skin/face of a patient)
>>colored uniquely
>>by the process id that generated it (i.e. the resulting face has a
>>colored
>>checkboard pattern on it).
>>
>>Running this example in parallel with multiple processes should speedup
>>the reading, isosurfacing and coloring filters of the program. (One
>>caveat, too many processes can cause performance problems, for example,
>>too many readers may overwhelm the file system). If you have question on
>>
>>this, please post back to the list and let's continue this thread.
>>
>>--Jim
>>
>>
>>
>>
>>_______________________________________________
>>This is the private VTK discussion list.
>>Please keep messages on-topic. Check the FAQ at: 
>><http://public.kitware.com/cgi-bin/vtkfaq>
>>Follow this link to subscribe/unsubscribe:
>>http://public.kitware.com/mailman/listinfo/vtkusers
>
>________________________________________________________________________
>Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com
>
>
>_______________________________________________
>This is the private VTK discussion list. Please keep messages on-topic. 
>Check the FAQ at: <http://public.kitware.com/cgi-bin/vtkfaq>
>Follow this link to subscribe/unsubscribe:
>http://public.kitware.com/mailman/listinfo/vtkusers





More information about the vtkusers mailing list