On Fri, Mar 11, 2005 at 02:21:58PM +1100, Stuart Midgley wrote:
> One major implementation issue is the equivalent of mpirun (which I
> assume would be part of an ABI?) - or the startup requirements of
> different MPI's.
This may or may not be part of an ABI.
The reason to not include it is that it's kind of hard. Right now everyone
does different stuff.
The reason to include it is that it would make integrating with batch
systems less of a headache for system administrators. Right now most
only support 1 MPI version because this is annoying.
> The other issue we are concerned about is that an ABI doesn't resolve
> one of the central issues. While you might have different MPI's with
> the same ABI, different mpi's behave differently and can cause a code
> to behave differently. An ISV would still have to verify their code
> against all MPI's they wish to support. For example, an ISV might, by
> accident, make an assumption about the small message size and their
> code might hang on different MPI's.
For exactly this reason, I expect the average ISV to only want to
support 1 MPI. However, testing multiple MPIs is far, far easier if
you don't have to recompile for each one. So a uniform <mpi.h> is a
major step in the right direction, and any ISV which already supports
more than one MPI is going to love it.
And if testing became easier, people might actually fix their code.
OK, *now* I'm dreaming... ;-)