Intel® oneAPI HPC Toolkit
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
1936 Discussions

## Intel MPI on 2 Windows 7 machines

Beginner
474 Views

I have install Intel MPI 5.1.0.031 on two different Windows 7 machines with ip addresses, 192.168.2.144 and 192.168.2.128.

I am unable to launch an MPI process across these two machines using the following test,

mpiexec.exe -delegate  -ppn 1 -n 2 -hosts 192.168.2.144,192.168.2.128 hostname

It lists the hostname of the first computer where I am launching the process from and then the command just hangs.  No error message or warning...

From each machine I can launch a local mpiexe

From 192.168.2.144
mpiexec.exe -delegate  -ppn 1 -n 1 -hosts 192.168.2.144 hostname

From 192.168.2.128
mpiexec.exe -delegate  -ppn 1 -n 1 -hosts 192.168.2.128 hostname

Output from both machines for these commands says success,

From  both machines I can check status of hydra_service and smpd on the other machine for example from 192.168.2.144 I can run,

C:\Windows\system32>hydra_service -status 192.168.2.128
hydra service running on 192.168.2.128

C:\Windows\system32>smpd.exe -status 192.168.2.128
smpd running on 192.168.2.128

C:\Windows\system32>mpiexec -validate
SUCCESS

I have disabled the Symantec firewall on both machines.

Thanks Andy

4 Replies
Employee
474 Views

Hi Andy,

Have you looked at

https://software.intel.com/en-us/get-started-with-mpi-for-windows

Specifically, have you done this step number 3 from Prerequisites:

Register your credentials, enter:

> mpiexec -register

Mark

Employee
474 Views

you can also look at the recent post

https://software.intel.com/en-us/forums/intel-clusters-and-hpc-technology/topic/279300

about the different authentication methods.

Also, please provide the output after setting I_MPI_DEBUG=5

Thanks

Mark

Beginner
474 Views

After a long time I am trying to figure out out again.

I ran mpiexec -register on both machines.

I set the env I_MPI_DEBUG=10.

From 192.168.2.144 I am running this command

mpiexec.exe -genv I_MPI_DEBUG -delegate -ppn 1 -n 2 -host 192.168.2.144,192.168.2.128 c:\windows\System32\HOSTNAME.EXE

Credentials for domain\username rejected connecting to 192.168.2.128 (I removed my actual domain and username for this output)

Both machines are logged into my company's VPN and I am logged into the same domain and user name and password.  On both machines I get this output for the -validate option.

mpiexec -validate
SUCCESS

I even tried making a the same local user on both machines but I get the same error.

If I boot the machines into Linux I can use the Intel MPI to run a program on these two machines without any issue.  The problem is most people are running Windows on their desktop computer so using Linux isn't an option.

Thanks for the help,

Andy

Beginner
474 Views

Answering my own post again :).

I think my issue before was that I was using the -delegate option.  I should have been using the default authentication method which is password based.  With password authentication the  username and password is saved in the registry by using

mpirexec -register.

Using two virtual windows machines I was able to get the following to work.

In this case I am using the Intel MPI 5.1 which was included in a commercial software product and thus not the usual installed Intel MPI runtime.  Therefore I have to install the hydra_service on every compute node.

Open command window in \win64\intel-mpi\bin and run these commands.

mpi\win64\intel-mpi\bin>hydra_service.exe -install

Intel(R) MPI Library Hydra Process Manager installed.

hydra_service.exe -status

mpi\win64\intel-mpi\bin>hydra_service.exe -status

hydra service running on IEWIN7

On both nodes register password:

mpirexec -register

can check encrypted credentials of from Windows register of current user

mpiexec -validate

SUCESS.

Now make sure firewall is either turned off or all the mpi exe are allowed through the firewall.  For initial testing it is best to turn it off.

Next test mpiexec on each local machine.

win64\mpi\bin>mpiexec.exe -ppn 1 -n 1 -hosts IEWIN7 hostname

IEWIN7

win64\intel-mpi\bin>mpiexec.exe -ppn 1 -n 1 -hosts IEWIN72 hostname

IEWIN72

Next test MPI on both machines

win64\intel-mpi\bin>mpiexec.exe -ppn 1 -n 2 -hosts IEWIN7,IEWIN72 hostname

IEWIN7

IEWIN72

Now run your normal program that uses the MPI.  Note if you are using a shared drive then I had to use the -mapall command to map the drive on every node.  Also the user registered via mpiexec -register must be able to map the drive using the password registered.