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)