SHMEM_ADDR_ACCESSIBLE(3)SHMEM_ADDR_ACCESSIBLE(3)NAMEshmem_addr_accessible - Determines whether an address is accessible
via SHMEM data transfers operations from the specified remote
processing element (PE)
SYNOPSIS
C:
#include <mpp/shmem.h>
int shmem_addr_accessible(void *addr, int pe);
Fortran:
#include <mpp/shmem.fh>
LOGICAL LOG, SHMEM_ADDR_ACCESSIBLE
INTEGER pe
LOG = SHMEM_ADDR_ACCESSIBLE(addr, pe)
DESCRIPTIONshmem_addr_accessible is a query function that indicates whether a
local address is accessible via SHMEM operations from the specified
remote PE.
This function verifies that the remote PE is accessible via SHMEM data
transfer functions from the local PE, and that the specified address
is in a symmetric data segment with respect to the remote PE.
On SGI Altix 3000 series systems, for multiple executable MPI
applications that use SHMEM functions, it is important to note that
static memory, such as a Fortran common block or C global variable, is
symmetric between processes running from the same executable file, but
is not symmetric between processes running from different executable
files. Data allocated from the symmetric heap (shmalloc or shpalloc)
is symmetric across the same or different executable files.
RETURN VALUES
C: The return value is 1 if addr is a symmetric data object and
accessible via SHMEM operations from the specified remote
PE; otherwise,it is 0.
Fortran: The return value is .TRUE. if addr is a symmetric data
object and accessible via SHMEM operations from the
specified remote PE; otherwise, it is .FALSE..
NOTES
This routine was introduced in MPT 1.8 (LIBSMA 4.1). If backward
compatability with earlier versions of the LIBSMA software is
required, this routine should not be used.
SEE ALSOintro_shmem(3), shmem_pe_accessible(3)