5ac95df9dc
Before this commit, a same PML tag may be used for distinct communications for long messages. For example, consider a condition where rank A calls ```MPI_PUT``` targeting rank B and rank B calls ```MPI_GET``` targeting rank A simultaneously. A PML tag for the ```MPI_PUT``` is acquired on rank A and is used for the long-message communication from rank A to rank B. A PML tag for the ```MPI_GET``` is acquired on rank B and is used for the long-message communication from rank A to rank B. These two tags may become a same value because they are managed independently on each rank. This will cause a data corruption. This commit separates the tag used in a single RMA communication call, one for communication from an origin to a target, and one for communication from a target to an origin. A "base" tag is acquired using ```get_tag``` function and PML tag is caluculated from the base tag by ```tag_to_target``` and ```tag_to_origin``` function. |
||
---|---|---|
.. | ||
bcol | ||
bml | ||
coll | ||
common | ||
crcp | ||
fbtl | ||
fcoll | ||
fs | ||
io | ||
mtl | ||
op | ||
osc | ||
pml | ||
rte | ||
sbgp | ||
sharedfp | ||
topo | ||
vprotocol | ||
Makefile.am | ||
mca.h |