File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed
Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change 1414#include "mercury_types.h"
1515#include "mercury_prof_types.h"
1616
17+
18+ /*************************************/
19+ /* Note */
20+ /*************************************/
21+
22+ /* Refer to: https://www.mpi-forum.org/docs/mpi-3.1/mpi31-report/node372.htm#Node372
23+ * for the corresponding MPI 3.1 PVAR interface specification that this implementation is largely based off of.
24+ *
25+ * Notable differences with MPI (implementation, not interface spec):
26+ * 1. PVAR sessions in Mercury are associated with the hg_class object to avoid the use of global variables.
27+ * 2. Similarly, PVARs themselves are not global variables and aren't declared globally and used as such.
28+ * Instead, each module interested in exporting PVARs must register these PVARs and refer to them by the
29+ * use of handles (that internally fetch the address of the PVAR) within the local function where these PVARs are updated.
30+ * 3. We used atomics for updating counter PVARs where MPI does not.
31+ */
32+
1733/*************************************/
1834/* Public Type and Struct Definition */
1935/*************************************/
You can’t perform that action at this time.
0 commit comments