[Paraview] D3 not deterministic?

Moreland, Kenneth kmorel at sandia.gov
Thu Sep 24 10:28:19 EDT 2009


I think I see what is going on.  In summary, it looks like changing the boundary mode does not properly set the modified flag on the D3 filter and is therefore not properly updating when you change only that parameter (but doing so deterministically).  The minimal memory flag seems to set the modified flag properly, thereby forcing the update you should have seen when you changed the boundary mode.

Here is some more info about what is happening (in case, for example, you want to submit a bug or work around it).  In all cases, the partitioning is really the same.  Underneath, D3 partitions the space with a k-d tree.  The tree is the same size as the number of processes and each process is assigned a leaf in the tree.  The k-d tree is coming out the same each time.  The difference is how D3 distributes the cells based on the k-d tree.  If the boundary mode is assign cells uniquely, then each cell is assigned to exactly one region of the k-d tree (I believe the one containing the centroid), and the cells are sent to the process for that region.  In the duplicate cells boundary mode, cells sent to all processes that have a region that overlaps the cells.  Thus, cells on the boundaries are duplicated.  The change you are seeing is simply the overlap of cells in the processes.  If you turn on parallel rendering (change the remote render threshold to 0), the overlap will probably become very noticeable.

-Ken


On 9/24/09 2:19 AM, "Karl König" <kkoenig11 at web.de> wrote:

Hi,

Hopefully someone can shed some light on this one:
I start tonight's PV in client/server mode with 4 parallel pvserver
processes. The pipeline is as follows:
   Sources - Plane (default settings)
   Triangulate
   Subdivide (Number of Subdivisions: 3)
   D3 (default settings, i.e.
       Boundary Mode: Assign cells uniquely, Minimal Memory unchecked)
   Process Id Scalars (Random Mode unchecked)

All tetrahedra's are equally distributed, that's what I expected, fine.
Now:
1) Check "Minimal Memory" of D3 properties. Nothing changes, fine.
2) Uncheck "Minimal Memory" of D3 properties. Nothing changes, still fine.
3) Check "Minimal Memory" of D3 properties and change Boundary Mode to
"Duplicate cells". The partition changes, reasonable.
4) Change Boundary Mode back to "Assign cells uniquely", the partition
doesn't change again to the initial one.
(You can get back the earlier partition by changing both the "Minimal
Memory" setting and the Boundary Mode setting at the same time.)

Isn't D3 deterministic?

Thanks,
Karl
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview




   ****      Kenneth Moreland
    ***      Sandia National Laboratories
***********
*** *** ***  email: kmorel at sandia.gov
**  ***  **  phone: (505) 844-8919
    ***      web:   http://www.cs.unm.edu/~kmorel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20090924/52db5d73/attachment.htm>


More information about the ParaView mailing list