views:

23

answers:

1

hi All

These days I am approaching MPI world. I am willing to use Boost MPI libraries probably with OpenMPI or MPICH2 ( even if with MPICH2 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

+1  A: 

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.

Edric
Hi Edric! Thanks for the info. I agree with you. I was thinking to try to use to asynchronous calls, but at the very end different with hardware/os it is not a real good choice by definition.