SHMEM_SHORT_P(3)

πŸ’… SHMEM_SHORT_P πŸ’…

okay so bestie, welcome to the <p>-suffix corner of Open MPI's shmem world β€” this is the shmem_short_p(3) page (and like, it's literally a whole friend group of pages all sharing one doc), straight out of Open MPI. Buckle up, we're putting tiny little values on remote PEs and we're doing it fast. πŸ¦‹

🌸 NAME 🌸

shmem_char_p(3), shmem_float_p(3), shmem_int_p(3), shmem_long_p(3), shmem_short_p(3), shmem_longlong_p(3), shmem_longdouble_p(3)

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. it's giving "small put, big energy" ✨


πŸŽ€ 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)

like, pick your type, pick your PE, that's the whole vibe πŸ’…


πŸ’– DESCRIPTION πŸ’–

These routines provide a very low latency put capability for single elements of most basic types. not a whole array, not a whole vibe β€” one element, delivered with main character energy πŸ‘‘

The arguments are as follows:

  • addr β€” the remotely accessible array element or scalar data object which will receive the data on the remote PE. it's the landing spot, the destination, the receiving end of the friendship 🫢
  • value β€” the value to be transferred to addr on the remote PE. this is the actual thing you're yeeting over there πŸ’Œ
  • pe β€” the number of the remote PE. yes bestie, you gotta say which PE, we're not mind readers 😭
⚠️ okay important one: as with shmem_put(3), these functions start the remote transfer and may return before the data is delivered to the remote PE. so like… it left your hands, doesn't mean it's arrived. use shmem_quiet(3) to force completion of all remote PUT transfers. no cap, don't skip the quiet if you actually need the data to be there. πŸ”₯

πŸ‘€ SEE ALSO: πŸ‘€


2003-2026, The Open MPI Community


and that's the page bestie!! πŸŽ€ mwah, go forth and put your little shorts on remote PEs responsibly πŸ’œ

~ with love from the Open MPI squad, dated May 14, 2026 β€” catch you in the next manpage, iykyk ⭐

πŸ“¦ where this page comes from