LAPI_Gfence Subroutine

Purpose

Enforces order on LAPI calls across all tasks and provides barrier synchronization among them.

Library

Availability Library (liblapi_r.a)

C Syntax

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

FORTRAN Syntax

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

Description

Type of call: collective data synchronization (blocking)

Use this subroutine to enforce global order on LAPI calls. This is a collective call. Collective calls must be made in the same order at all participating tasks.

On completion of this call, it is assumed that all LAPI communication associated with hndl from all tasks has quiesced. Although hndl is local, it represents a set of tasks that were associated with it at LAPI_Init, all of which must participate in this operation for it to complete. This is a data fence, which means that the data movement is complete. This is not an operation fence, which would need to include active message completion handlers completing on the target.

Parameters

INPUT
hndl
Specifies the LAPI handle.
OUTPUT
ierror
Specifies a FORTRAN return code. This is always the last parameter.

Return Values

LAPI_SUCCESS
Indicates that the function call completed successfully.
LAPI_ERR_HNDL_INVALID
Indicates that the hndl passed in is not valid (not initialized or in terminated state).

Location

/usr/lib/liblapi_r.a