SHMEM_CLEAR_CACHE_INV(3)
π SHMEM_CLEAR_CACHE_INV π
okay bestie, welcome to the cache coherency corner of the Open MPI manual, aka SHMEM_CLEAR_CACHE_INV(3). this page is a whole little friend group of routines and they all hang out together. let me introduce you π«Ά
the squad is: shmem_clear_cache_inv(3), shmem_set_cache_inv(3), shmem_set_cache_line_inv(3), shmem_udcflush(3), and shmem_udcflush_line(3). (and also shmem_clear_cache_line_inv, who shows up later, we love her π
)
together? they control data cache utilities. that's the whole vibe. periodt.
β¨ 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)
πΈ DESCRIPTION πΈ
so there's exactly one argument that gets passed to the cache line control routines, and she's a 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 the Fortran thing? it can be of any kind π¦
okay now the individual glow-ups, one by one:
shmem_clear_cache_invβ turns OFF automatic cache coherency mode that was previously enabled byshmem_set_cache_invorshmem_set_cache_line_inv. it's the off switch bestie π»shmem_clear_cache_line_invβ turns OFF automatic cache coherency mode only for the cache line associated with the address oftarget. just that one line. not the whole party πshmem_set_cache_invβ enables the OpenSHMEM API to automatically decide the best strategy for cache coherency. it's giving delegating to the algorithm, and honestly? she's right πshmem_set_cache_line_invβ enables automatic cache coherency mode only for the cache line associated with the address oftarget. again: one line only πshmem_clear_cache_invβ yeah okay so this one is listed a second time, and the original says the exact same thing twice, so I'm saying it twice too, no cap: it disables automatic cache coherency mode previously enabled byshmem_set_cache_invorshmem_set_cache_line_inv. iconic repetition behavior πshmem_udcflushβ makes the entire user data cache coherent. the whole thing. full send π₯shmem_udcflush_lineβ makes coherent the cache line that corresponds with the address specified bytarget. just the one line, matching the address π―
β NOTES β
these routines have been retained for improved backward compatibility with legacy architectures. so like, they're the vintage pieces in the closet that still absolutely serve π
See also:
intro_shmem(3) shmem_put(3) shmem_swap(3)
<html><body><p>βββ πΈ βββ</p></body></html>
and that's the page bestie π copyright 2003-2026, The Open MPI Community β and this whole cutie dropped on Sep 10, 2026, filed under SHMEM_CLEAR_CACHE_INV(3) from the Open MPI fam. mwah, go flush something coherently π«Άβ¨
π¦ 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