[Yt-svn] yt-commit r1095 - in trunk: . yt/lagos

mturk at wrangler.dreamhost.com mturk at wrangler.dreamhost.com
Thu Jan 8 11:13:14 PST 2009


Author: mturk
Date: Thu Jan  8 11:13:13 2009
New Revision: 1095
URL: http://yt.spacepope.org/changeset/1095

Log:
Attempting to fix the problem of runaway nodes; barriering outside the place
where the hierarchy is constructed and saved (on root) might fix this


Modified:
   trunk/   (props changed)
   trunk/yt/lagos/HierarchyType.py
   trunk/yt/lagos/ParallelTools.py

Modified: trunk/yt/lagos/HierarchyType.py
==============================================================================
--- trunk/yt/lagos/HierarchyType.py	(original)
+++ trunk/yt/lagos/HierarchyType.py	Thu Jan  8 11:13:13 2009
@@ -819,7 +819,7 @@
         self.save_data(na.array(self.gridReverseTree), "/", "ReverseTree")
         self.save_data(self.gridLevels, "/", "Levels")
 
-    @time_execution
+    @parallel_blocking_call
     def _populate_hierarchy(self):
         """
         Instantiates all of the grid objects, with their appropriate

Modified: trunk/yt/lagos/ParallelTools.py
==============================================================================
--- trunk/yt/lagos/ParallelTools.py	(original)
+++ trunk/yt/lagos/ParallelTools.py	Thu Jan  8 11:13:13 2009
@@ -145,6 +145,20 @@
         return func(self, data)
     return passage
 
+def parallel_blocking_call(func):
+    @wraps(func)
+    def barrierize(*args, **kwargs):
+        mylog.info("Entering barrier before %s", func.func_name)
+        MPI.COMM_WORLD.Barrier()
+        retval = func(*args, **kwargs)
+        mylog.info("Entering barrier after %s", func.func_name)
+        MPI.COMM_WORLD.Barrier()
+        return retval
+    if parallel_capable:
+        return barrierize
+    else:
+        return func
+
 class ParallelAnalysisInterface(object):
     _grids = None
 



More information about the yt-svn mailing list