[mpich-devel] proposed changes to function enter/exit logging

Raffenetti, Kenneth J. raffenet at mcs.anl.gov
Thu Nov 7 08:30:31 CST 2019


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