SHMEM_CHAR_P(3)
π SHMEM_CHAR_P(3) β the Open MPI glow-up π«Ά
okay bestie, so this page lives in the Open MPI manual, section 3, and it's literally the whole "tiny fast write" squad: 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). yes that's a lot of names, no we're not dropping any, they all ate π
β¨ 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 give you 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 "one value, one trip, no drama" π¦
πΈ 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)
look at that lineup π every basic type got its own little function, iconic behavior fr fr
π DESCRIPTION π
so these routines are literally the "very low latency put" capability β that's the whole job, no cap. they're for single elements of most basic types. one element, one write, in and out, main character energy β¨
the arguments are as follows:
addrβ the remotely accessible array element or scalar data object that will receive the data on the remote PE. it's the destination, the one catching the vibe πvalueβ the value to be transferred toaddron the remote PE. this is the actual gift you're sending πpeβ the number of the remote PE. yes, the PE number, that's it, that's the whole arg π
β οΈ okay this part matters bestie: just like withshmem_put(3), these functions start the remote transfer and may return before the data is delivered to the remote PE. so the call coming back does NOT mean it landed. π useshmem_quiet(3)to force completion of all remote PUT transfers. don't skip the quiet, i'm begging π
π SEE ALSO π
intro_shmem(3)shmem_put(3)
go read those next, iykyk π
π§ COPYRIGHT π§
2003-2026, The Open MPI Community β respectfully, thank you for your service to the cause π«Ά
and that's the page, bestie! πβ¨ written down for May 14, 2026, from the Open MPI corner of the universe, page SHMEM_CHAR_P(3) and out β mwah ππΈ
π¦ where this page comes from
- arch rolling: nvhpc-comm-libs 26.9-1 Β· LicenseRef-NVIDIA-HPC-SDK
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms