[mpich-discuss] Run an executable file on several windows computers

Florin Ciubotaru florinciu at gmail.com
Tue Mar 1 04:41:56 CST 2011


Hi Ramin,

Not sure it there's an dynamic host query built in smpd. This is probably
less then optimal, but I'll post my solution since I've also been looking
for this for a while.

You will need smpd running on each machine. You can start/install it as a
service using "smpd -install"", or as a regular process using "smpd
-start"(needs admin rights).
If you are on windows it's better if you put your machines in a
workgroup(you can also use a domain or other setting but might take more
work).
You also need to define a static list with your host names. You can set this
with "smpd -sethosts hostName1 hostName2...".

Your executables(and dependencies) should be copied to each machine.
Simplest way to use "mpiexec" is to have each %PATH% variable containing the
folders with your executables. Another way is to have the executables put in
a windows share folder and use the entire network path when you start the
process. Longer term solutions for maintaining these configs are provided by
mpi machine files. You can read about them on the mpi documentation.

After this step "mpiexec" will run your application start your application
on each defined host in the order of their listing. If -np is higher then
the number of hosts then multiple processes will be assigned to some hosts.
You can control this by using "mpiexec -hosts .."
This should be fine if you are ok with a static list of hosts.

I've been looking for a dynamic host query, but I didn't find one. If you
also need this, you could create a startup script that pings the initial
hosts list using "smpd -traceoff". A second "smpd -sethosts" should set only
the nodes that are up.

Hope this helps,
Florin Ciubotaru

On Tue, Mar 1, 2011 at 10:34 AM, Ramin Mousavi <s.raminmousavi at gmail.com>wrote:

> Dear all
>
> I have installed "* mpich2-1.3.2p1-win-ia32.msi* " of MPI on my PC and I`m
> trying to run a "* windows parallel executable version *" of "*Lammps
> Molecular dynamics Simulator* " (*lmp_win_mpi.exe* ) on two or three
> windows computers i.e. 4 or 6 number of processors.
>
> Now, I am able to run this executable file on my multiprocessor CPU by
> coping "*mpiexec.exe*" and "*smpd.exe*" to the directory which the
> executable file (*lmp_win_mpi.exe*) exists and try *this command* through
> the Command prompt :
>  "*mpiexec -np 2 -localonly lmp_win_mpi.exe -in Input_Water.in*" and it
> always works successfully!
>
> Now my question is , How can I use , Multi processors CPUs of other
> computers  to run this executable file and reduce total time of running, I`m
> Sorry but I`m *absolutely* New at Parallel Computations and Network !!!
> Your Considerations will be appreciated ;)
>
> --
> Ramin Mousavi
>
> --
> Ramin Mousavi
>
>
> _______________________________________________
> mpich-discuss mailing list
> mpich-discuss at mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20110301/c3948f04/attachment-0001.htm>


More information about the mpich-discuss mailing list