19.2.127. shmem_long_p — Open MPI 5.0.0 documentation

# 19.2.127. shmem_long_p

shmem_char_p(3), shmem_float_p(3), shmem_int_p(3), shmem_long_p(3), shmem_short_p(3), shmem_longlong_p(3), shmem_longdouble_p(3) - These routines provide a low latency mechanism to write basic types (char, short, int, float, double, long, long long, long double) to symmetric data objects on remote PEs.

## 19.2.127.1. SYNOPSIS

C or C++:

    #include <mpp/shmem.h>

    void shmem_char_p(char *addr, char value, int pe)

    void shmem_short_p(short *addr, short value, int pe)

    void shmem_int_p(int *addr, int value, int pe)

    void shmem_long_p(long *addr, long value, int pe)

    void shmem_longlong_p(long long *addr, long long value, int pe)

    void shmem_float_p(float *addr, float value, int pe)

    void shmem_double_p(double *addr, double value, int pe)

    void shmem_longdouble_p(long double *addr, long double value, int pe)

## 19.2.127.2. DESCRIPTION

These routines provide a very low latency put capability for single elements of most basic types.

The arguments are as follows:

addr

  The remotely accessible array element or scalar data object which will receive the data on the remote PE.

value

  The value to be transferred to addr on the remote PE.

pe

  The number of the remote PE.

As with shmem_put(3), these functions start the remote transfer and may return before the data is delivered to the remote PE. Use shmem_quiet(3) to force completion of all remote PUT transfers.

See also

intro_shmem(3) shmem_put(3)