LAPI_Fence 子例程

用途

对 LAPI 调用强制执行顺序。

可用性库 (liblapi_r.a)

C 语法

#include <lapi.h>
 
int LAPI_Fence(hndl)
lapi_handle_t hndl;

FORTRAN 语法

include 'lapif.h'
 
LAPI_FENCE(hndl, ierror)
INTEGER hndl
INTEGER ierror
 

描述

Type of call: 本地数据同步 (分块) (可能需要远程任务上的进度)

使用此子例程对 LAPI 调用强制执行顺序。 如果任务调用 LAPI_Fence,那么在使用 LAPI 上下文 hndl的电子篱笆之前,将保证该任务启动的所有 LAPI 操作都在目标任务中完成。 这在其使用 hndl的任何通信操作 (在 LAPI_Fence之后启动) 开始传输数据之前发生。 这是一个数据篱笆,意味着数据移动已完成。 这不是操作防护,需要包含在目标上完成的活动消息完成处理程序。

LAPI_Fence 可能需要在远程端进行内部协议处理以完成防护请求。

参数

INPUT
恩德尔
指定 LAPI 句柄。
输出
国际错误
指定 FORTRAN 返回码。 这始终是最后一个参数。

返回值

LAPI_SUCCESS
指示已成功完成函数调用。
LAPI_ERR_HNDL_INVALID
指示传入的 恩德尔 无效 (未初始化或处于 "已终止" 状态)。

C 示例

要在单个任务中建立数据屏障:

lapi_handle_t hndl;  /* the LAPI handle */
       
⋮	 

/* API communication call 1 */
/* API communication call 2 */
      
⋮
      
/* API communication call n */
      
LAPI_Fence(hndl);
      
/* all data movement from above communication calls has completed by this point */
/* any completion handlers from active message calls could still be running.    */ 

位置

/usr/lib/liblapi_r.a