To answer this question, MPE doesn’t do anything elaborate.  It defines its own implementation of all of the MPI (1 and 2) functions, and calls the relevant PMPI versions to perform the actions.  Thus, if you have object files, relinking with the MPE libraries is sufficient.  It is not necessary to recompile any of the program.  MPI_Finalize is replaced and generates the log files before calling PMPI_Finalize.

As Pavan notes, if you are composing several systems, the PNMPI tool is a good choice.

Bill

On Sep 17, 2014, at 12:32 PM, Milind Chabbi <Milind.Chabbi@rice.edu> wrote:

Can you tell me how MPE2 achieves the logging? Does it divert MPI_
calls through its own functions? On static libraries does it use
linker wrapping? For a large application simply changing the last
linker step to use mpecc would suffice or does it need the whole
application to be recompiled with mpecc wrapper?