Transfers data to a specified processing element(PE).
#include <shmem.h> void shmem_putmem(void *target, const void *source, size_t len, int pe);
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_putmem() writes any data type to the remote PE. len is scaled in bytes.
Please refer to Atomicity and Coherency section for atomicity and coherence model in the OpenSHMEM documentation
#include <shmem.h> int main(int argc, char *argv[]) { void *target; const void *source; size_t len; int pe; shmem_putmem(void *target, void long *source, size_t len, int pe); }
Subroutines: shmem_barrier, shmem_put, shmem_fence, shmem_iput, shmem_quiet