[Yt-svn] yt: add cleaning mechanism to get rid of the owner. this is hac...

hg at spacepope.org hg at spacepope.org
Wed May 5 15:12:18 PDT 2010


hg Repository: yt
details:   yt/rev/bccf3de01555
changeset: 1644:bccf3de01555
user:      Sam Skillman <samuel.skillman at colorado.edu>
date:
Wed May 05 16:11:44 2010 -0600
description:
add cleaning mechanism to get rid of the owner.  this is hacky and there is probably a better way to do things, but before this it was getting confused as to which processor owns a particular tree.

diffstat:

 yt/extensions/volume_rendering/software_sampler.py |  7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diffs (24 lines):

diff -r 1c4c04110d76 -r bccf3de01555 yt/extensions/volume_rendering/software_sampler.py
--- a/yt/extensions/volume_rendering/software_sampler.py	Wed May 05 15:50:01 2010 -0600
+++ b/yt/extensions/volume_rendering/software_sampler.py	Wed May 05 16:11:44 2010 -0600
@@ -240,6 +240,12 @@
             new_costs.insert(expensive_tree,leaf_cost)
         return new_trees, new_costs
 
+    def clean_owners(self,node):
+        node.owner = -1
+        if isinstance(node, AMRKDTree.dividing_node):
+            self.clean_owners(node.left_children)
+            self.clean_owners(node.right_children)
+        
     def kd_breadth_ray_cast(self, finalize=False, pbar=None,up_every=100, memory_per_process=2**28):
         self.memory_per_process = memory_per_process
         if self._kd_brick_tree is None: 
@@ -252,6 +258,7 @@
 
         my_rank = self._mpi_get_rank()
         nprocs = self._mpi_get_size()
+        self.clean_owners(self._kd_brick_tree.tree)
         rt1 = time.time()
         trees = [self._kd_brick_tree.tree]
         costs = [self._kd_brick_tree.tree.cost]



More information about the yt-svn mailing list