SHMEM_CLEAR_CACHE_LINE_INV(3)
π SHMEM_CLEAR_CACHE_LINE_INV π
okay bestie, this one's from the Open MPI manual, and it's a whole bundle of cache-vibe-control functions. it's giving "legacy but iconic". sit down, hydrate, let's go β¨
β¨ NAME β¨
shmem_clear_cache_inv(3), shmem_set_cache_inv(3), shmem_set_cache_line_inv(3), shmem_udcflush(3), shmem_udcflush_line(3) β controls data cache utilities π
π¦ SYNOPSIS π¦
so there's a C/C++ side and a Fortran side, and they're both invited to the party:
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 π
here's the one argument that gets passed to the cache line control routines, and she's the main character:
targetβ a data object that's local to the processing element (PE).targetcan be of any noncharacter type. and if you're doing Fortran? it can be of any kind. periodt. β¨
πΈ the whole lineup, one by one πΈ
shmem_clear_cache_invβ disables automatic cache coherency mode that was previously enabled byshmem_set_cache_invorshmem_set_cache_line_inv. it's the "okay we're done here" button π«Άshmem_clear_cache_line_invβ disables automatic cache coherency mode for the cache line associated with the address oftargetonly. just that one line, bestie. focused. πshmem_set_cache_invβ enables the OpenSHMEM API to automatically decide the best strategy for cache coherency. she's smart, she handles it πshmem_set_cache_line_invβ enables automatic cache coherency mode for the cache line associated with the address oftargetonly. again. just the one line πshmem_clear_cache_invβ disables automatic cache coherency mode previously enabled byshmem_set_cache_invorshmem_set_cache_line_inv. (yes she's listed twice, no I'm not skipping her, we keep EVERYTHING in this house π«‘)shmem_udcflushβ makes the entire user data cache coherent. the whole thing. no half measures π§shmem_udcflush_lineβ makes coherent the cache line that corresponds with the address specified bytarget. just the one line, again. consistency is her brand β¨
π NOTES π
these routines have been retained for improved backward compatibility with legacy architectures. so like β they're still here, still invited, still valid, just a little vintage-core π
See also:
intro_shmem(3) shmem_put(3) shmem_swap(3)
π Copyright π
2003-2026, The Open MPI Community
aaaand that's the whole page, bestie π no cap, you now understand cache invalidation controls better than half the internet. slay responsibly. π¦π
from the Open MPI crew β page dated Sep 10, 2026, filed under SHMEM_CLEAR_CACHE_LINE_INV(3). 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