SHMEM_CHAR_P(3)

πŸ’– SHMEM_CHAR_P πŸ’–

okay bestie, so this is SHMEM_CHAR_P(3) from the Open MPI manual set, and it's a whole family situation β€” the actual page title is shmem_char_p(3), but she brought her sisters along: shmem_float_p(3), shmem_int_p(3), shmem_long_p(3), shmem_short_p(3), shmem_longlong_p(3) and shmem_longdouble_p(3).

And like… what are they for? 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. periodt. that's the whole serve.


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

no cap, that's the whole lineup πŸ’…


🌸 DESCRIPTION 🌸

These routines provide a very low latency put capability for single elements of most basic types. it's giving "send one tiny thing to your friend's PE and dip" energy. iconic, lowkey efficient, we love her.

the arguments are:

  • addr β€” the remotely accessible array element or scalar data object which will receive the data on the remote PE. (this is the destination, the GLOW UP location, the address that catches the vibe.)
  • value β€” the value to be transferred to addr on the remote PE. (this is the cargo, the message, the whole point πŸŽ€)
  • pe β€” the number of the remote PE. (yes bestie, which PE. you gotta name names.)
🚨 important, don't skip this one: as with shmem_put(3), these functions start the remote transfer and may return before the data is delivered to the remote PE. use shmem_quiet(3) to force completion of all remote PUT transfers. like, shmem_char_p is the "just sent it πŸ’–" text β€” shmem_quiet is the "okay they definitely read it" read receipt. do not confuse them, or you WILL get got by a race condition fr fr 😭

🫢 SEE ALSO 🫢


Copyright 2003-2026, The Open MPI Community


and that's the tea πŸ“ this page came straight from the Open MPI collection, dated Sep 10, 2026, and she's filed under SHMEM_CHAR_P(3) in section 3. go forth and put your little chars somewhere remote, my love, you're gonna slay πŸ¦‹βœ¨πŸ’œ

πŸ“¦ where this page comes from