Ghost Points

From ParaQ Wiki
Revision as of 11:05, 19 August 2011 by Utkarsh (talk | contribs) (Created page with 'This intent of this page is to get the discussion going on a new mechanism in VTK and ParaView to mark ownership of points in multi-process environments. ==Motivation== It's si…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

This intent of this page is to get the discussion going on a new mechanism in VTK and ParaView to mark ownership of points in multi-process environments.

Motivation

It's simple: open ParaView, create a Sphere, apply Elevation filter, followed by Histogram (by the Elevation scalar). Do that in the built-in mode and now do then again in when connected to parallel pvserver (number of processes >= 2). The histograms generated are going to be different.

The reason is that when data is partitioned, the points along the boundary are often shared among more than one process (Figure 1 (a)) and there's no way for an algorithm to determine (without explicit communication) whether the point is present on more than 1 process, and if so, who's going to include that point in it's processing (i.e. claim ownership for the point).

Figure 1

Solution

We can use a concept similar to ghost-cells to mark ghost-points. A new vtkUnsignedCharArray named "vtkGhostPoints" can be added to the PointData to mark a point as ghost point (1) or not (0) (Figure 1 (b)). In absence of such an array, it's assumed that all points have the value 0 i.e. no points are ghost points.

Implementation