Subject: Profilers etc. (fwd)

From: [email-masked] (Peter Rigsbee)
Date: Mon, 4 Jan 93 10:54:10 CST

James Cownie writes:
> 
> I have an implementation issue which I would like to raise in the MPI
> forum, since it is unclear where it fits into the sub-committee
> structure I have mailed to both mpi-pt2pt and mpi-lang. Apologies to
> those of you who receive this message twice.
>
> Issue
> =====
> The major objective of MPI1 is to achieve portability of applications.
> This has major benefits for us all (not least in legitimising and
> therefore growing the MPP marketplace). 
> 
> One of the benefits which it would also be nice to achieve would be
> the wide availability of different tools which support programming in
> the MPI1 model. The most immediately obvious such tools (to me at
> least !) are
> 
> 1) HPF to Fortran + MPI1 translators
> 2) Performance monitoring/tuning tools
> 3) Debuggers
> 
> Support for the first is easy (since it just requires what we're
> already doing). 
> 
> Portable support for the second is not so trivial, since the
> collection of useful performance information is much more intrusive.
> 
> Portable support for the third is harder still, and I won't discuss it
> further. 

First, I think this is an important issue.  I'd argue that the need isn't
necessarily to support portable tools, but it would be nice to define a 
mechanism by which performance and debugging tools could obtain at least the
most basic information about the communications.

Second, I don't think it really fits into either group that Jim sent the
message to.  The same issue, for example, also applies for global 
communications.  This is why I copied the entire committee, and I think
there should be some discussion in Dallas was to whether this is a topic
that should be covered by the standard.

Third, I fear this will be a very difficult subject to address.  Clearly
Jim had some specific use in mind when he made his suggestions, but didn't
go into much detail (and properly so -- this isn't intended as a criticism).  
But there are some very basic differences between the ways that different
tools are designed that need to be considered.  What information should be
recorded?  Is data needed for each transmission (a "trace") or should it be 
accumulated by the library?  Should the library pass information to the tool 
or should the tool query the library?  I don't think there are clear cut 
answers here.

But I think this is an important issue that should receive some airtime in
Dallas.

	- Peter Rigsbee
	  [email-masked]

I've included the rest of Jim's proposal for those who didn't see the 
original mailing...
> 
> Options
> =======
> We have various possible options which we can take.
> 
> 1) Ignore the problem
>    Provide no support for portable performance monitoring tools, and
>    leave each tool provider with a large porting problem.
> 
>    I don't like this solution, it loses some of the benefit of the
>    standard, which should be attracting people to build tools.
> 
> 2) Document specific implementation hooks as part of MPI1. 
>    In effect these would be callbacks from the library to profiling
>    code which could then do whatever it liked.
> 
> 3) As 2, but without REQUIRING that a conforming implementation
>    provide the functions. They're there as a recommendation, rather
>    than being mandatory. 
> 
> 
> I think we should be concerned about this, and I'd like us at least to
> make some recommendation. Personally I'd probably implement two
> separate interface to the library, one of which provided the hooks,
> and the other of which didn't so that you don't pay the cost of
> checking the profiling hooks unless you asked to.
> 
> Of course even if we do nothing it's not too hard to escape (using
> horrible macros) in C, but Fortran doesn't always have macros, so a
> properly specified internal solution is definitely preferable.
> 
> Thoughts ???
> Flame me at Dallas. I'm travelling tomorrow. When are we having a
> meeting in Europe ???
> 
> -- Jim
> James Cownie 
> Meiko Limited
> 650 Aztec West
> Bristol BS12 4SD
> England
> 
> Phone : +44 454 616171
> FAX   : +44 454 618188
> E-Mail: [email-masked] or [email-masked]
> 
>