我正在阅读Gropp等人的《使用高级MPI》,目前正在研究RMA操作。讨论MPI_Win_fence
呼叫时,他们说
使用
MPI_Win_fence
的一个好规则是确保在任何对之间在连续的MPI_Win_fence
调用中,可能存在本地存储…到本地内存窗口或RMA放入或累积操作(或两者都不是(,但不是本地商店和RMA都投入或累积操作。
(我的斜体字(。
我明白了。。。就目前而言。但我感到惊讶的是,他们没有提及RMA在这里开展行动。所以我想知道,这是疏忽吗?还是在某种程度上比投入运营更安全?我可以看到,如果你正在进入不属于本地RMA窗口的本地内存,这可能会让你摆脱放入窗口时会遇到的问题。但是,完全有可能进入恰好是本地窗口一部分的内存,所以你不能总是依赖于进入非窗口内存。那么,为什么没有提到这里?
你引用的这段话是关于put和store以及它们如何混合的。你永远不应该把put/store和get/load混在一起,所以get在那篇文章中没有提到。
然而,他在下一句中提到MPI_Get
:;如果没有put操作,则可能存在get或load操作";(转述(。