[Mpi-22] Ticket #46: Add const Keywordto the Cbindings-implementation
Terry Dontje
Terry.Dontje at [hidden]
Thu Mar 19 11:15:03 CDT 2009
I am not Jeff and I do not play him on tv but I felt the need to
interject my 2 cents.
Erez Haba wrote:
> Jeff, I don't understand why you ignore all the work that has been done with this ticket and suggest your own metric. Was the information I provided unreliable or untrue?
>
>
Possibly but it definitely is biased IMO.
> As I said, it took me about 2.5h to implement the entire change on the MSMPI code base; yes there were many internal functions that had const in it, but also many that did not. I don't think that by any measure this is a significant work for any implementer.
>
>
Isn't MSMPI based on MPICH? If so how much of the previous work done to
support const did you leverage or did you truly reinvent the same wheel
MPICH developers did? I guess I find it pretty amazing the applying
10,000 lines of changes and then validating them took you 2.5 hours.
> More than that, this interface change was tested using the ANL test suite and the Intel complete test suite, without a single compile or runtime error over multiple platforms and compilers. Again, this was not a significant work item; and I believe that OpenMPI has a regression suite that crosses platform and compilers which is easy to run (as you described to me many times).
>
>
>
Do the ANL tests and any others really test const-ness without changes.
Or are you saying the ANL tests already do explicit testing of
const-ness on the right parameters?
> With this information that I have already provided before, I don't understand your claims; unless you think that they are biased and unreliable.
>
>
I would say your information is a useful datapoint but I am curious if
what you did really was the full conversion of your MPI implementation
to handle this change.
> Hence this ticket completely meets MPI 2.2 requirements in scope and backward compatibility.
>
>
For MPICH based implementations I agree it does. For Open MPI I think
it is still questionable. I guess I am still interested in the
reasoning why shoving this ticket into 2.2 is such a high priority?
--td
> Thanks,
> .Erez
>
> -----Original Message-----
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-bounces_at_[hidden]] On Behalf Of Jeff Squyres
> Sent: Thursday, March 19, 2009 5:20 AM
> To: Bronis R. de Supinski; MPI 2.2
> Subject: Re: [Mpi-22] Ticket #46: Add const Keywordto the Cbindings-implementation
>
> On Mar 19, 2009, at 12:03 AM, Bronis R. de Supinski wrote:
>
>
>> I have been quiet on this debate but I am to the point
>> that I feel a need to speak up. I think the "significant
>> changes" reason is a canard (I think Brian and Jeff
>> believe it but it is still a red herring for the most
>> part). The changes to support it are not significant.
>> You can implement it by casting it away early.
>>
>>
>
>
> The changes *are* significant. I count 90 top-level MPI API functions
> that are affected by this proposal.
>
> The bar for 2.2 is "trivial" implementation efforts, no? This is not
> trivial. The MPICH diff was ~10,000 lines. Apparently, they chose to
> go above and beyond the requirement and propagate const to lower
> layers (vs. casting it away immediately), but still -- if a 2.2 change
> can inspire a 10,000 line diff, that just seems like it doesn't meet
> the spirit of the "trivial" implementation requirement.
>
> Indeed, in doing the "simple" cast-it-away-immediately approach
> implementation, editing and testing each of the 90 functions will
> require a good amount of effort. Sure, the first-wave addition of
> "const" across all of the affected functions is probably relatively
> easy -- one code monkey and several hours. But how long will it take
> you to find the one place where you put "const" in the wrong
> location? How long will it take you to write new tests to verify the
> const-ness in all the right places? To be clear: it's a "not
> significant" change to a code monkey. But try to tell your QA guys
> that this is not significant -- they'll freak out.
>
> Hence, if you take the overall scope of both the change and the
> additional testing to validate this change, this is a large scale
> implementation effort. I just don't see what the rush is to get this
> into 2.2.
>
> I think Brian makes several good arguments, one of which is: those who
> want const can put it in today. It hypothetically shouldn't break any
> existing user codes (this is the code monkey in me talking, not the QA
> rep), and those implementors who want it for stronger contracts can
> have it.
>
>
More information about the Mpi-22
mailing list