[Paraview] vtkGhostLevels

Berk Geveci berk.geveci at kitware.com
Wed Jul 30 10:39:33 EDT 2008


We have been meaning to add a parallel section to the VTK book for a
while. I hope that this will happen in the near future. The ParaView
book talks about parallelism and ghost levels. Also, there are a few
documents here and there that talk about ghost levels. A good one is
the handouts from the Supercomputing '07 tutorial found here:
http://paraview.org/Wiki/SC07_ParaView_Tutorial

There are going to be ParaView tutorials at both SC '08 and IEEE
Visualization conferences this year. I would recommend attending these
to those that can. Also, we cover parallelism in VTK in the courses we
offer. I recommend those as well.

The basic idea is the following:

- Algorithms that need it request ghost levels from upstream. These
are unstructured or general purpose (i.e. work on vtkDataSet or
vtkPointSet) algorithms that need extra cells to produce piece
independent results. Ghost level request accumulate. If there are
three algorithms that each request 1 ghost level, the reader will
receive a request for 3 ghost levels.
- The reader satisfied this request as best as it can. It marks ghost
cells as such by populating a vtkGhostLevel array (cell-centered).
This array contains an integer that corresponds to the ghost level of
that cell. 0 for internal cells, 1 and higher for ghost cells.
- The filter that asked for ghost levels is responsible of stripping
away the level it request from its output.
- In ParaView, the geometry filter strips away all ghost levels
because they are no supposed to be rendered.

Note that algorithms that only work with structured data (i.e.
vtkImageData, vtkStructuredGrid or vtkRectilinearGrid) do not work
with pieces/ghost levels. Instead, they work with structured extents
that are index based.

I hope this helps.

-berk

On Wed, Jul 30, 2008 at 7:20 AM, Gerard Gorman <g.gorman at imperial.ac.uk> wrote:
> Hi
>
> I am trying to use vtkXMLPUnstructuredGridWriter but I cannot find any
> documentation on how ghost levels are used. I've already asked on the
> VTK mailing list but I've not had any response - I'm guessing because
> not many people use parallel.
>
> From grepping the code I'm guessing that I should add an unsigned char
> scalar array called "vtkGhostLevels" to indicate which elements/nodes (I
> think I need both might be needed depending on the algorithm) are owned
> and which are halo/ghost. But all this guessing has so far got me either
> double counting elements on the halo or a gap.
>
> Can someone please shed some light on this?
>
> Cheers
> Gerard
> _______________________________________________
> ParaView mailing list
> ParaView at paraview.org
> http://www.paraview.org/mailman/listinfo/paraview
>


More information about the ParaView mailing list