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