On Jun 16, 2009, at 1:55 PM, liu wrote:
     but when I use "mpirun -np 8  meep-mpi ***.ctl ", I write a short
script file, to tell mpirun run meep-mpi on 8 cpus from node 1, node 2, node 3 and node 4. since each node have 2 cpus, MPI it is parallel on each node, but not on all nodes. it means that 4 nodes computer the same ***.ctl independently. each node computer ***.ctl itself, and two cpu on the same node computer ***.ctl parallelly. ***.ctl have been computed fourtimes. and ***.out gives four repeated and crossing results just like this :(below). and after one node complete the compute, the other is still computer once more. (and when I compile meep-mpi,after configure, it says "it seems two cpus")

Then you must not be using MPI correctly.

In general, you should not be writing a script to call "mpirun" multiple times on multiple nodes. That will simply do the same simulation multiple times in parallel.

You have to configure your MPI implementation so that calling "mpirun" a single time will launch processes on all the nodes. How you do this depends upon which version of MPI you are using, but usually there is some kind of hosts file that you can supply giving a list of hosts to launch processes on. This should be described in the documentation for the version of MPI you are using.

Steven

_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to