shmem_longdouble_put

Purpose

Transfers data to a specified processing element(PE).

C syntax

#include <shmem.h>
 
void shmem_longdouble_put(long double *target, const long double *source, size_t len, int pe);
 

Parameters

INPUT
target
Data object to be updated on the remote PE. This data object must be remotely accessible.
source
Data object containing the data to be copied.
len
Number of elements in the target and source arrays.
pe
Processing element number of the remote PE.

Description

This routine provides a high-performance method for copying a contiguous data object from the local PE to a contiguous data object on a different PE

This routine returns when the data has been copied out of the source array on the local PE, but not necessarily before the data has been delivered to the remote data object. To enforce the ordering/completion of the put routines, the use of shmem_fence, shmem_quiet, shmem_barrier or shmem_barrier_all is needed.

The function shmem_longdouble_put() writes contiguous elements of long double type to the remote PE.

IBM NOTES

Please refer to Atomicity and Coherency section for atomicity and coherence model in the OpenSHMEM documentation

C examples

#include <shmem.h>

int main(int argc, char *argv[])
{
  long double *target;
  const long double *source;
  size_t len; 
  int pe;

  shmem_longdouble_put(long double *target, const long double *source, size_t len, int pe);
}

Related information

Subroutines: shmem_barrier, shmem_put, shmem_fence, shmem_iput, shmem_quiet


OpenSHMEM API Index