[Mpi3-tools] Issues with Fortran bindings for MPI_Pcontrol

Schulz, Martin schulzm at llnl.gov
Tue Apr 16 09:34:53 CDT 2013

On Apr 16, 2013, at 3:19 AM, Marc-Andre Hermanns <m.a.hermanns at grs-sim.de>

> Jeff,
>> I certainly don't mean deleting PMPI from MPI-4. I mean putting
>> something better in MPI-4 that, over time, can replace PMPI (so that
>> PMPI *can* be deleted in some future version).
> I don't really understand why the issues with Pcontrol has an influence on whether the PMPI should be surpassed by anything else?

I agree - we are starting to mix topics and we should keep them separate. I  think we have at least four threads going as one:
- How can we fix the current issues in the Fortran bindings for the PMPI interface
- How can we fix the ambiguity in the current definition of MPI_Pcontrol
- Should we replace PMPI with something else
- Should we add a new (additional) MPI_Pcontrol mechanism

I think all of these are independent. 

> Isn't it for use of the profiling tool only?

MPI_Pcontrol is used by the application writer to control/inform tools. The initial intent was to turn on/off profilers, but it kind has outgrown this. In any case, calls to MPI_Pcontrol go into the application code and have to be usable by developers (as any other MPI call). Therefore, we should support all language bindings for it. Otherwise we might as well remove all Fortran bindings with the argument that people can wrap their calls to MPI from Fortran themselves.

> Scalasca does not use Pcontrol at the moment. Could anyone give me an example of a tool using it, and some context in how it is used to understand what kind of interface is needed?

mpiP and O|SS use it to enable phase profiling (in the sense it was originally designed for), the load balance analysis tool Libra uses it to allow codes to identify major time steps, our collection tools for Boxfish use it to annotate phases, we are working on load balancers that use Pcontrol to communicate application topology to the load balancer and in the future (as part of the exascale software stack design) we are thinking about creating families of APIs that use Pcontrol to pass general application information to runtime systems. The advantage is always that this is a call whose link symbol is always present and hence applications can easily pass hints and the tools/runtimes that can interpret it can use it, while on other systems we can still link and run.


> Cheers,
> Marc-Andre
> -- 
> Marc-Andre Hermanns
> German Research School for
> Simulation Sciences GmbH
> c/o Laboratory for Parallel Programming
> 52062 Aachen | Germany
> Tel +49 241 80 99753
> Fax +49 241 80 6 99753
> Web www.grs-sim.de
> Members: Forschungszentrum Jülich GmbH | RWTH Aachen University
> Registered in the commercial register of the local court of
> Düren (Amtsgericht Düren) under registration number HRB 5268
> Registered office: Jülich
> Executive board: Prof. Marek Behr, Ph.D | Prof. Dr. Sebastian M. Schmidt
> _______________________________________________
> Mpi3-tools mailing list
> Mpi3-tools at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-tools

Martin Schulz, schulzm at llnl.gov, http://people.llnl.gov/schulzm
CASC @ Lawrence Livermore National Laboratory, Livermore, USA

More information about the mpiwg-tools mailing list