SHMEM_DOUBLE_G(3)

πŸ’… SHMEM_DOUBLE_G(3) πŸ’…

okay so this is an Open MPI page, and the star of the show is shmem_double_g(3) β€” but bestie, she brought her whole friend group. Meet shmem_char_g(3), shmem_float_g(3), shmem_int_g(3), shmem_long_g(3), shmem_short_g(3), shmem_longlong_g(3), and shmem_longdouble_g(3) 🫢

the way that these routines are literally a low latency mechanism to read basic types (char, short, int, float, double, long, long long, long double) from symmetric data objects on remote PEs?? iconic. no cap. ✨


🌸 SYNOPSIS 🌸

C or C++:

#include <mpp/shmem.h>

char shmem_char_g(const char *addr, int pe)

short shmem_short_g(const short *addr, int pe)

int shmem_int_g(const int *addr, int pe)

long shmem_long_g(const long *addr, int pe)

long shmem_longlong_g(const long long *addr, int pe)

float shmem_float_g(const float *addr, int pe)

double shmem_double_g(const double *addr, int pe)

long shmem_longdouble_g(const long double *addr, int pe)
ngl, copy these signatures character for character, okay? they're not vibes, they're code πŸ’€

✨ DESCRIPTION ✨

so what do these do? these routines provide a very low latency get capability for single elements of most basic types. that's it, that's the whole mood. one element, one get, zero drama. πŸ¦‹

the arguments are as follows:

  • addr β€” the remotely accessible array element or scalar data object which will receive the data on the remote PE.
  • pe β€” the number of the remote PE.

lowkey the whole thing is just "gimme one value from over there" and honestly? main character energy. πŸ‘‘


πŸŽ€ SEE ALSO πŸŽ€

go read those too, iykyk πŸ’–


2003-2026, The Open MPI Community


and that's the page, bestie!! this one's from May 14, 2026, brought to you by the Open MPI girlies and the 2003-2026, The Open MPI Community copyright era πŸŽ€βœ¨ slay, stay symmetric, and remember: shmem_double_g ate and left no crumbs πŸ’…πŸ”₯

πŸ“¦ where this page comes from