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