mailr15616 - in /1.3/multi: mpi4py_processor.py multi_processor_base.py processor.py uni_processor.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on March 23, 2012 - 16:12:
Author: bugman
Date: Fri Mar 23 16:12:25 2012
New Revision: 15616

URL: http://svn.gna.org/viewcvs/relax?rev=15616&view=rev
Log:
Clean up and completion of the TODO for the Processor.assert_on_master() 
method.

The Processor.assert_on_master() method has been created and calls 
raise_unimplemented().  The
Multi_processor.assert_on_master() method has been shifted to 
Mpi4py_processor.assert_on_master(),
as that method's error message is MPI specific.  The empty 
Uni_processor.assert_on_master() method
has been added to allow that fabric to work.


Modified:
    1.3/multi/mpi4py_processor.py
    1.3/multi/multi_processor_base.py
    1.3/multi/processor.py
    1.3/multi/uni_processor.py

Modified: 1.3/multi/mpi4py_processor.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/multi/mpi4py_processor.py?rev=15616&r1=15615&r2=15616&view=diff
==============================================================================
--- 1.3/multi/mpi4py_processor.py (original)
+++ 1.3/multi/mpi4py_processor.py Fri Mar 23 16:12:25 2012
@@ -84,6 +84,18 @@
 
     def abort(self):
         MPI.COMM_WORLD.Abort()
+
+
+    def assert_on_master(self):
+        """Make sure that this is the master processor and not a slave.
+
+        @raises Exception:  If not on the master processor.
+        """
+
+        # Check if this processor is a slave, and if so throw an exception.
+        if self.on_slave():
+            msg = 'running on slave when expected master with MPI.rank == 0, 
rank was %d'% self.rank()
+            raise Exception(msg)
 
 
     def exit(self, status=0):

Modified: 1.3/multi/multi_processor_base.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/multi/multi_processor_base.py?rev=15616&r1=15615&r2=15616&view=diff
==============================================================================
--- 1.3/multi/multi_processor_base.py (original)
+++ 1.3/multi/multi_processor_base.py Fri Mar 23 16:12:25 2012
@@ -72,13 +72,6 @@
         if memo != None:
             command.set_memo_id(memo)
             self.memo_map[memo.memo_id()] = memo
-
-
-    #TODO: move up a level
-    def assert_on_master(self):
-        if self.on_slave():
-            msg = 'running on slave when expected master with MPI.rank == 0, 
rank was %d'% self.rank()
-            raise Exception(msg)
 
 
     #TODO: move up a level

Modified: 1.3/multi/processor.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/multi/processor.py?rev=15616&r1=15615&r2=15616&view=diff
==============================================================================
--- 1.3/multi/processor.py (original)
+++ 1.3/multi/processor.py Fri Mar 23 16:12:25 2012
@@ -214,6 +214,15 @@
         raise_unimplemented(self.add_to_queue)
 
 
+    def assert_on_master(self):
+        """Make sure that this is the master processor and not a slave.
+
+        @raises Exception:  If not on the master processor.
+        """
+
+        raise_unimplemented(self.assert_on_master)
+
+
     def exit(self, status=0):
         """Exit the processor with the given status.
 

Modified: 1.3/multi/uni_processor.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/multi/uni_processor.py?rev=15616&r1=15615&r2=15616&view=diff
==============================================================================
--- 1.3/multi/uni_processor.py (original)
+++ 1.3/multi/uni_processor.py Fri Mar 23 16:12:25 2012
@@ -60,6 +60,13 @@
         if memo != None:
             command.set_memo_id(memo)
             self.memo_map[memo.memo_id()] = memo
+
+
+    def assert_on_master(self):
+        """Make sure that this is the master processor and not a slave.
+
+        As this is the Uni-processor, the processor is always the master.  
Hence this method does nothing.
+        """
 
 
     def get_intro_string(self):




Related Messages


Powered by MHonArc, Updated Fri Mar 23 16:20:01 2012