Igor
Igor

Reputation: 15893

Force MPI to not use network adapter

I am running a multi-process calculations using MPICH2 from Argonne National Laboratory. The run is on a single machine, so -localonly option of mpiexec is used. Usually everything works.

If the network adapter is enabled when the run starts, and if I disable it during the run, the run fails with error stating:

op_read error on left context: Error = -1

op_read error on parent context: Error = -1

unable to read the cmd header on the left context, Error = -1
.
unable to read the cmd header on the parent context, Error = -1
.
Error posting readv, An existing connection was forcibly closed by the remote host.(10054)
connection to my parent broken, aborting.
state machine failed.

However, if the network adapter is disabled when the run is started, I can enable/disable the adapter as many times as I want, and the run still proceeds to the end.

Is there a way to run mpiexec or modify smpd configuration such that MPICH2 is not using network adapter for inter-process communication for local runs even if the adapter is available when the run starts?

Update

The platform is Windows 7 Professional.

The version of MPICH2 is 1.4.1 (32-bit) which is latest version of MPICH2 that I can find.

Upvotes: 1

Views: 1386

Answers (1)

Wesley Bland
Wesley Bland

Reputation: 9062

As was posted on the mailing list, you're using a very old version of MPICH. You should update to a newer version that does all of this automatically.

UPDATE: As has been pointed out, on Windows, it's not possible to update MPICH past 1.4.1. For anything beyond that, you should use either MS-MPI or Intel MPI.

Upvotes: 1

Related Questions