[mpich-devel] proposed changes to function enter/exit logging
Raffenetti, Kenneth J.
raffenet at mcs.anl.gov
Thu Nov 7 09:35:39 CST 2019
I should also note that currently the address->function translation
scripts will only work on Linux.
Ken
On 11/7/19 8:30 AM, Ken Raffenetti wrote:
> Here's what I've found so far:
>
> XL compilers support -qfunctrace with slightly different user-supplied
> tracing function signatures. Should be trivial to add support to MPICH.
>
> https://www.ibm.com/support/knowledgecenter/SSGH2K_12.1.0/com.ibm.xlc121.aix.doc/compiler_ref/opt_functrace.html
>
>
> PGI supports -Minstrument with the same tracing function signatures as
> GCC and Clang.
>
> Intel supports -finstrument-functions.
>
> I do not see any support in Oracle suncc.
>
> Ken
>
> On 11/7/19 4:08 AM, Finkel, Hal J. via devel wrote:
>> Clang does support -finstrument-functions (and also provides
>> -finstrument-functions-after-inlining and XRay-based options:
>> https://llvm.org/docs/XRay.html).
>>
>> -Hal
>>
>> On 11/6/19 6:22 PM, Jeff Hammond via devel wrote:
>>> Do you have a list of what compilers support this? Is this just GCC,
>>> just GCC and Clang, or a bigger list? If Clang supports it, do you
>>> know if all of the Clang derivatives (e.g. IBM XLC) support it?
>>>
>>> Thanks,
>>>
>>> Jeff
>>>
>>> On Wed, Nov 6, 2019 at 2:04 PM Raffenetti, Kenneth J. via devel
>>> <devel at mpich.org <mailto:devel at mpich.org>> wrote:
>>>
>>> Folks,
>>>
>>> I want to draw attention to a pull request posted to the MPICH
>>> github.
>>>
>>> https://github.com/pmodels/mpich/pull/4139
>>>
>>> This proposes to remove all MPIR_FUNC_VERBOSE_ENTER and
>>> MPIR_FUNC_VERBOSE_EXIT macros from MPICH and instead use compiler
>>> function instrumentation when configured for debug logging:
>>> https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html.
>>>
>>> There are 2 main benefits:
>>>
>>> 1. De-clutter the code. PR stats show a net deletion of >10,000
>>> lines!
>>> 2. Less error-prone. The compiler will reliably instrument *all*
>>> functions, and will not suffer from copy/paste errors or typos.
>>>
>>> Drawbacks:
>>>
>>> 1. Requires compiler support for instrumentation. May affect users
>>> debugging certain compiler configurations.
>>> 2. Compiler function instrumentation logs function addresses, not
>>> symbols. An additional step is needed to convert addresses to
>>> function
>>> names via script (included in PR).
>>>
>>> What do people think? Will these changes affect anyone using debug
>>> logging in any regular capacity? We're looking for feedback good
>>> or bad.
>>> Let us know.
>>>
>>> Thanks,
>>> Ken
>>> _______________________________________________
>>> To manage subscription options or unsubscribe:
>>> https://lists.mpich.org/mailman/listinfo/devel
>>>
>>>
>>>
>>> --
>>> Jeff Hammond
>>> jeff.science at gmail.com <mailto:jeff.science at gmail.com>
>>> http://jeffhammond.github.io/
>>>
>>> _______________________________________________
>>> To manage subscription options or unsubscribe:
>>> https://lists.mpich.org/mailman/listinfo/devel
>> --
>> Hal Finkel
>> Lead, Compiler Technology and Programming Languages
>> Leadership Computing Facility
>> Argonne National Laboratory
>>
>>
>> _______________________________________________
>> To manage subscription options or unsubscribe:
>> https://lists.mpich.org/mailman/listinfo/devel
>>
More information about the devel
mailing list