[mpich-discuss] Faster MPI_Attr_get?
Dave Goodell
goodell at mcs.anl.gov
Fri May 11 16:45:45 CDT 2012
On May 11, 2012, at 4:38 PM CDT, Jed Brown wrote:
> On Fri, May 11, 2012 at 4:20 PM, Jeff Hammond <jhammond at alcf.anl.gov> wrote:
>
>> "--enable-error-checking=runtime --enable-error-messages=all" would
>> seem to be the kind of thing Dave is talking about that affect
>> performance.
Indeed, this is exactly the type of option I was thinking of.
> Right, so should I turn that off? This is a development environment, so I
> definitely want those options. I can build a different MPI for profiling,
> but it's been irrelevant in other tests. Can't the overhead of run-time
> error checking amount to a few unlikely conditionals?
They can be. I see some duplicated work going on here when you are using the legacy MPI_Attr_get path, so there's low hanging fruit right there.
> I could also build MPICH2 with all error checking turned off, but with
> debugging symbols so that I can determine which lines are sucking up the
> time?
No real need to rebuild. Just set "MPICH_ERROR_CHECKING=0" in your environment and re-run to get a sense of the performance impact of the current (admittedly lousy) error checking code.
Separate question for you: how many attributes is petsc setting on this communicator? It looks like there's a linear search for user-defined attributes right now, so if that number is large for some reason then performance could be impacted by that choice.
-Dave
More information about the mpich-discuss
mailing list