Skip to content

Commit

Permalink
Add note pointing to the MPI spec that this profiling interface is ba…
Browse files Browse the repository at this point in the history
…sed off of
  • Loading branch information
srini009 committed Apr 8, 2020
1 parent efa77e9 commit 237c6ee
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/mercury_prof_interface.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,22 @@
#include "mercury_types.h"
#include "mercury_prof_types.h"


/*************************************/
/* Note */
/*************************************/

/* Refer to: https://www.mpi-forum.org/docs/mpi-3.1/mpi31-report/node372.htm#Node372
* for the corresponding MPI 3.1 PVAR interface specification that this implementation is largely based off of.
*
* Notable differences with MPI (implementation, not interface spec):
* 1. PVAR sessions in Mercury are associated with the hg_class object to avoid the use of global variables.
* 2. Similarly, PVARs themselves are not global variables and aren't declared globally and used as such.
* Instead, each module interested in exporting PVARs must register these PVARs and refer to them by the
* use of handles (that internally fetch the address of the PVAR) within the local function where these PVARs are updated.
* 3. We used atomics for updating counter PVARs where MPI does not.
*/

/*************************************/
/* Public Type and Struct Definition */
/*************************************/
Expand Down

1 comment on commit 237c6ee

@carns
Copy link
Contributor

@carns carns commented on 237c6ee Apr 10, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Please sign in to comment.