SHMEM_SET_CACHE_INV(3)
π SHMEM_SET_CACHE_INV(3) β the Open MPI era, bestie π
okay so sit down, hydrate, because we're talking about a whole little family of cache-control girlies from Open MPI. This is the <rainbow>SHMEM_SET_CACHE_INV(3)</rainbow> page, and she brought friends:
shmem_clear_cache_inv(3)shmem_set_cache_inv(3)shmem_set_cache_line_inv(3)shmem_udcflush(3)shmem_udcflush_line(3)
...and they're all about Controls data cache utilities. that's the whole vibe. data. cache. utilities. π
β¨ SYNOPSIS β¨
π C or C++
#include <mpp/shmem.h>
void shmem_clear_cache_inv(void)
void shmem_clear_cache_line_inv(void *target)
void shmem_set_cache_inv(void)
void shmem_set_cache_line_inv(void *target)
void shmem_udcflush(void)
void shmem_udcflush_line(void *target)
π¦ Fortran
INCLUDE "mpp/shmem.fh"
CALL SHMEM_CLEAR_CACHE_INV
CALL SHMEM_CLEAR_CACHE_LINE_INV(target)
CALL SHMEM_SET_CACHE_INV
CALL SHMEM_SET_CACHE_LINE_INV(target)
CALL SHMEM_UDCFLUSH
CALL SHMEM_UDCFLUSH_LINE(target)
like, look at them all lined up. iconic. no cap. π
πΈ DESCRIPTION πΈ
so the cache line control routines take this one argument, and she's the main character:
targetβ a data object that is local to the processing element (PE).targetcan be of any noncharacter type. and if you're doing Fortran? it can be of any kind π«Ά
now let's meet everybody one by one, bestie:
shmem_clear_cache_invβ disables automatic cache coherency mode that was previously enabled byshmem_set_cache_invorshmem_set_cache_line_inv. it's the "we're done here, turn it off" button πshmem_clear_cache_line_invβ disables automatic cache coherency mode for the cache line associated with the address oftargetonly. just that one line. she's specific. πshmem_set_cache_invβ enables the OpenSHMEM API to automatically decide the best strategy for cache coherency. basically she hands the aux cord to the API and trusts her judgment. lowkey powerful. π₯shmem_set_cache_line_invβ enables automatic cache coherency mode for the cache line associated with the address oftargetonly. again: just that line. no overstepping. β¨shmem_clear_cache_invβ disables automatic cache coherency mode previously enabled byshmem_set_cache_invorshmem_set_cache_line_inv. yes she said it twice, and yes I'm telling you twice, because the manpage said it twice and I do not skip details around here. periodt. πshmem_udcflushβ makes the entire user data cache coherent. the whole thing. all of it. π€shmem_udcflush_lineβ makes coherent the cache line that corresponds with the address specified bytarget. just the one line, matching the address. cute, targeted, effective. π―
π NOTES π
listen, these routines have been retained for improved backward compatibility with legacy architectures. so they're the vintage pieces you keep because they still eat. π
See also:
intro_shmem(3)shmem_put(3)shmem_swap(3)
π Copyright π
2003-2026, The Open MPI Community
okay so that's the whole page, bestie β every flag-shaped thing, every function, every note, all present and accounted for, nothing dropped, nothing invented. π«Άπ
and because I promised a cute sign-off: this little masterpiece is courtesy of Open MPI, and the date on her birth certificate reads Sep 10, 2026 β so go make your data cache coherent and slay the day, mwah π β¨π
π¦ 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