[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [mpi-21] Proposal EH2: add const keyword to the C bindings



On Wed, 2008-01-09 at 14:28 -0800, Bronis R. de Supinski wrote:
> Doug:
> > I don't understand how you came to the conclusion that this restriction
> > is not violated, unless some of the tools you mentioned do this check
> > explicitly.
> 
> Because I have seen a lot of MPI code and I have discussed it with
> many MPI users. Sometimes, I met with surprise about it. Most are
> aware of it. Frankly, this restriction is not half so hard for users
> to understand as it is made out to be.

Okay.

> > Well, now you know that at least one person slipped on it.
> 
> OK. How hard is it for you to fix? Is it really worth a
> potential performance penalty?

It will affect the performance of my code to fix it. The pattern I have
here is that I'm sending the same buffer to a subset of the processes
within a communicator. If this restriction is lifted, I can do that with
a bunch of MPI_Isends to the various processes followed by a
MPI_Waitall. To fix this code, I need to either clone the buffer N times
(ouch!) or do N MPI_Sends in succession.

> While the argument to "fix" it is that there is no penalty,
> the argument that there are no errors is at least as valid.

Well, perhaps now we have a new argument to fix it: by lifting this
restriction, I can write some obvious code that performs better than the
workaround I would have to do to avoid tripping over this restriction.

I don't recall seeing a definitive answer to this question: is there any
MPI implementation in use today that takes advantage of the restriction
on send buffer access?

> My point ultimately is that both sides of this argument have
> validity. There are many things about MPI that the choice is
> less ambiguous. We should spend our time on them.

That's far easier to say when the standard already agrees with you
position ;)

  - Doug