[mpich-discuss] MPI Implementation on 1 module

Nicolas Rosner nrosner at gmail.com
Tue Dec 14 04:51:17 CST 2010


Hello Gulshan,

I'm assuming you meant more or less the following:

  - you have a program spanning multiple compilation units and/or libs
      and
  - you would like to MPI-enable just one of said units or modules
      and
  - any necessary IPC/comm/sync between the MPI-ized unit and the rest
    is addressed by separate mechanisms (other than MPI)

If so, sure, as long as you have the source code for that particular unit
or module, you should be able to limit any MPI compile/link-dependency of
your system to the one module that actually uses MPI calls.


> There are more than 10 modules in the software we are trying to modify to
> improve the speed. We know that the most time is taken by only one module.

Do these modules map to sequential stages of a workflow/pipeline? Is that
one module one such stage? Is it currently invoked in a call-return way?


> So MPI starts when the particular module is called and
> the MPI collapses as soon as the computation in the module is finished.

What you describe sounds essentially like a sequential program that, at
some point --or perhaps every now and then-- needs to launch a parallel,
MPI-enhanced subroutine/subprocess, wait until it's done, then move on..?

If so, this is certainly possible, assuming your resource allocation
plays along (ie the machines are always there for you when you need them, etc).

HTH, just guessing; good luck!  N.


More information about the mpich-discuss mailing list