SHMEM_DOUBLE_P(3)

πŸ“¦
version 5.0.10 Β· 4 versions
, in ubuntu stonking

πŸ’… SHMEM_DOUBLE_P(3) β€” Open MPI's low-key legendary put squad 🌸

okay bestie, so this page is technically filed under SHMEM_DOUBLE_P(3), but it's really the whole girl group: it's covering shmem_char_p <#shmem-char-p>(3), shmem_float_p <#shmem-float-p>(3), shmem_int_p <#shmem-int-p>(3), shmem_long_p <#shmem-long-p>(3), shmem_short_p <#shmem-short-p>(3), shmem_longlong_p <#shmem-longlong-p>(3), and shmem_longdouble_p <#shmem-longdouble-p>(3) β€” and they're all serving the same thing: 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. πŸ’–


✨ 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)

πŸ¦‹ DESCRIPTION πŸ¦‹

These routines provide a very low latency put capability for single elements of most basic types. literally the express lane of remote writes, no cap. πŸ‘‘

So the arguments go like this:

  • addr β€” the remotely accessible array element or scalar data object which will receive the data on the remote PE. it's giving "the address that's receiving the gift" 🎁
  • value β€” the value to be transferred to addr on the remote PE. the actual thing you're sending, bestie πŸ’Œ
  • pe β€” the number of the remote PE. that's the PE getting the package πŸ“¦
⚠️ okay so important vibe check: as with shmem_put(3), these functions start the remote transfer and may return before the data is delivered to the remote PE. so if you need to know it actually landed, use shmem_quiet <#shmem-quiet>(3) to force completion of all remote PUT transfers. do not skip this step, I'm begging 😭

See also: intro_shmem(3) shmem_put(3)


2003-2026, The Open MPI Community


and that's the whole page, bestie 🫢 slay responsibly. this iconic little dispatch came from the Open MPI manual and it's dated Sep 10, 2026 β€” so go forth and shmem_quiet your way to victory πŸ’œβœ¨πŸ§š

πŸ“¦ where this page comes from