SHMEM_LONGLONG_P(3)
πΈ shmem_longlong_p β Open MPI's put-it-there-but-make-it-remote situation
okay bestie, so this is a whole little FAMILY of functions, not just one π they all live in the Open MPI manual, and they're your low-latency ride-or-die for writing basic types over to symmetric data objects sitting on remote PEs. The gang is:
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)
and together they 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. the whole squad, ate, no cap β¨
β¨ 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, copy that header line exactly bestie, it's mpp/shmem.h π
π DESCRIPTION π
so these routines give you a very low latency put capability for single elements of most basic types. one (1) element. one (1) put. iconic behavior, honestly π
the arguments go like this, and yes you need to know all three:
addrβ the remotely accessible array element or scalar data object which will receive the data on the remote PE. it's the destination, the main character of the receiving end π«Άvalueβ the value to be transferred toaddron the remote PE. this is the little gift you're sending over πpeβ the number of the remote PE. that's the PE you're sending it to, periodt.
β οΈ okay listen, this part matters so lock in: as withshmem_put(3), these functions start the remote transfer and may return before the data is delivered to the remote PE. so don't go assuming it landed just because the call came back. useshmem_quiet(3) to force completion of all remote PUT transfers. that's your "okay actually wait for it" button, bestie π
π SEE ALSO
intro_shmem(3)shmem_put(3)
and that's the whole vibe check π this page is from the Open MPI manual, Copyright 2003-2026, The Open MPI Community, dated Sep 10, 2026. go forth and put your little values in the right places, queen πβ¨π¦
π¦ where this page comes from
- ubuntu stonking: openmpi-doc 5.0.10-6 Β· other
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms