mailr7715 - in /branches/multi_processor_merge: multi/mpi4py_processor.py relax


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

Header


Content

Posted by edward on October 15, 2008 - 22:04:
Author: bugman
Date: Wed Oct 15 22:04:11 2008
New Revision: 7715

URL: http://svn.gna.org/viewcvs/relax?rev=7715&view=rev
Log:
Manually ported r3238 from the multi_processor branch.

The command used was:
svn merge -r3237:3238 
svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/multi_processor .

.....
  r3238 | varioustoxins | 2007-03-19 23:23:33 +0100 (Mon, 19 Mar 2007) | 3 
lines
  Changed paths:
     M /branches/multi_processor/multi/mpi4py_processor.py
     M /branches/multi_processor/relax

  updates to create a better inter process command passing mechanism
  and initiate relax in what might possibly be a sane state!
.....


Modified:
    branches/multi_processor_merge/multi/mpi4py_processor.py
    branches/multi_processor_merge/relax

Modified: branches/multi_processor_merge/multi/mpi4py_processor.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/multi_processor_merge/multi/mpi4py_processor.py?rev=7715&r1=7714&r2=7715&view=diff
==============================================================================
--- branches/multi_processor_merge/multi/mpi4py_processor.py (original)
+++ branches/multi_processor_merge/multi/mpi4py_processor.py Wed Oct 15 
22:04:11 2008
@@ -30,13 +30,13 @@
 
 #FIXME do some inheritance
 class Exit_command(object):
-    def run(self,processor):
+    def run(self,relax,processor):
         processor.do_quit=True
 
 class Get_name_command(object):
-    def run(self,processor):
+    def run(self,relax,processor):
         result = '%s-%s' % (MPI.Get_processor_name(),os.getpid())
-        MPI.COMM_WORLD.Send(buf=result, dest=0)
+        processor.return_object(result)
 
 #FIXME do some inheritance
 class Mpi4py_processor:
@@ -53,6 +53,9 @@
     def exit(self):
         exit_mpi()
 
+    def return_object(self,result):
+        MPI.COMM_WORLD.Send(buf=result, dest=0)
+
     def run_command(self,command):
         for i in range(1,MPI.size):
             if i != 0:
@@ -62,7 +65,7 @@
             if i !=0:
                 elem = MPI.COMM_WORLD.Recv(source=i)
                 if type(elem) == 'object':
-                    elem.run(relax_instance)
+                    elem.run(relax_instance, relax_instance.processor)
                 else:
                     #FIXME can't cope with multiple lines
                     print i,elem
@@ -85,14 +88,21 @@
             self.relax_instance.multi_mode='multi_master'
         else:
             self.relax_instance.multi_mode='multi_slave'
+            self.relax_instance.mode='slave'
+            self.relax_instance.script_file=None
+            self.relax_instance.dummy_mode=True
+            self.relax_instance.run()
+
 
         if MPI.rank ==0:
             self.relax_instance.run()
             sys.exit()
         else:
+            #self.relax_instance.run(deamon=True)
             while not self.do_quit:
-                data = MPI.COMM_WORLD.Recv(source=0)
-                data.run(self)
+                command = MPI.COMM_WORLD.Recv(source=0)
+                command.run(self.relax_instance, 
self.relax_instance.processor)
+
 
             #if data=='close':
             #    exit_mpi()

Modified: branches/multi_processor_merge/relax
URL: 
http://svn.gna.org/viewcvs/relax/branches/multi_processor_merge/relax?rev=7715&r1=7714&r2=7715&view=diff
==============================================================================
--- branches/multi_processor_merge/relax (original)
+++ branches/multi_processor_merge/relax Wed Oct 15 22:04:11 2008
@@ -130,6 +130,11 @@
             self.interpreter = interpreter.Interpreter(self, intro_string)
             self.interpreter.run(self.script_file)
             print 'exit'
+
+        elif mode == 'slave':
+            self.interpreter = Interpreter(self)
+            self.dummy_mode=1
+            self.interpreter.run()
 
         # Execute the relax test suite
         elif mode == 'test suite':




Related Messages


Powered by MHonArc, Updated Wed Oct 15 22:20:03 2008