SHMEM_CHAR_G(3)

πŸ’– SHMEM_CHAR_G πŸ’–

okay bestie, sit down, hydrate, because this is shmem_char_g(3) from the Open MPI manual (third section, obviously πŸ’…) β€” and also its whole friend group: shmem_float_g, shmem_int_g, shmem_long_g, shmem_short_g, shmem_longlong_g, and shmem_longdouble_g. They're all the same vibe, different type, iykyk.

The way that these routines serve is: they're 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. One element. Straight off a remote PE. 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)

like… look at them. all matching. all iconic. the consistency ate πŸ’…


🌸 DESCRIPTION 🌸

So real talk: these routines provide a very low latency get capability for single elements of most basic types. That's the whole thing. That's the assignment. One element, one grab, basically zero drama, maximum speed. πŸ”₯

The arguments are as follows:

  • addr β€” the remotely accessible array element or scalar data object which will receive the data on the remote PE. so it's giving "here's where the data goes, on the other side" πŸŽ€
  • pe β€” the number of the remote PE. just the PE number. that's it bestie, that's the whole lookup. ✨

See also: intro_shmem(3) shmem_get(3)

(if you're new here, go read intro_shmem(3) first, no shade, it's just the vibe check 🫢)


2003-2026, The Open MPI Community


πŸ’Œ and that's the page, bestie! you just read SHMEM_CHAR_G(3) from the Open MPI manual, dated Sep 10, 2026. go forth and get those single basic-type elements with extremely low latency β€” you're the main character of this interconnect, periodt πŸ’–βœ¨πŸ¦‹
πŸ“¦ where this page comes from