Question

These days I am approaching MPI world. I am willing to use Boost MPI libraries probably with OpenMPI or MPICH ( even if with MPICH still I am not sure whether it will work fine because of some post I read around ).

My real question is the following: with these 2 libraries and Boost MPI on top of it, is it possible to combine resources of Linux machines and Windows machines?

It is not yet clear to me whether using MPI means being able to start processes on remote machines having the same operating system. In principle MPI it is a messaging system on top of a communication protocol, so there is not much dependency on OS while communication.

Do you know something about this topic or some of you have already tried to use MPI with Win and Linux machines?

Thanks EO

Was it helpful?

Solution

I don't know much about the Boost MPI layer, but it is definitely possible to use MPICH2 with Linux and Windows machines simultaneously. In this case, you must use the same "variant" of MPICH2, and you must use the "smpd" process manager in each case (this is the only option on Windows, but it is not the default on Linux).

However, it's generally not advisable to run MPI jobs across machines with different performance characteristics, as typically the application will be limited by the slowest processor. We've also noticed significant performance differences between MPICH2 on Linux and Windows, so even if the hardware is identical, the MPI performance may well be different.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top