18.2.49. shmem_fence
shmem_fence - 为当前PE向每个目标PE发出的put操作序列提供独立的顺序保证。
18.2.49.1. 概述
C或C++:
#include <mpp/shmem.h>
void shmem_fence(void)
Fortran语言:
INCLUDE "mpp/shmem.fh"
CALL SHMEM_FENCE
18.2.49.2. 描述
shmem_fence()例程为调用PE在调用shmem_fence()之前发出的put操作与调用PE在调用shmem_fence()之后发出的put操作之间提供了顺序保证。它确保所有先前针对特定目标PE发出的put操作都完全写入该目标PE的对称内存后,才会将后续针对同一目标PE的put操作写入该目标PE的对称内存。请注意,这种顺序保证是针对调用PE到每个不同目标PE的put操作序列分别提供的。如果涉及多个目标PE时需要保证put操作的顺序,则应改用shmem_quiet()例程。
18.2.49.3. 注意事项
当涉及多个远程PE时,如果需要确保写入操作的顺序性,应调用shmem_quiet函数。
另请参阅
intro_shmem(3)