SHMEM_UDCFLUSH_LINE(3)
π SHMEM_UDCFLUSH_LINE(3) β Open MPI, bestie edition π«Ά
okay so this is the Open MPI page for a whole lil squad of cache-control routines, and yes, the title says SHMEM_UDCFLUSH_LINE(3) but there's like six functions crashing this party. Let's get into it β¨
π 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
(yes, shmem_clear_cache_line_inv is in the synopsis too, we see you girl π)
πΈ 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
ok so first, the one argument that the cache line control routines take β bestie, meet target π₯Ί
targetβ a data object that is local to the processing element (PE).targetcan be of any noncharacter type. If you're doing Fortran, it can be of any kind. (kind girl summer π)
now the routines themselves, one by one, no skipping:
shmem_clear_cache_invβ disables automatic cache coherency mode that was previously enabled byshmem_set_cache_invorshmem_set_cache_line_inv. basically it's the "nvm, turn it back 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. not the whole vibe, just that line βοΈshmem_set_cache_invβ enables the OpenSHMEM API to automatically decide the best strategy for cache coherency. it's giving "you handle it, i trust you" π€shmem_set_cache_line_invβ enables automatic cache coherency mode for the cache line associated with the address oftargetonly. same one-line-only energy πshmem_clear_cache_invβ yeah it's literally right here again in the original: disables automatic cache coherency mode previously enabled byshmem_set_cache_invorshmem_set_cache_line_inv. it's listed twice, we're keeping it twice, no cap πshmem_udcflushβ makes the entire user data cache coherent. whole cache. full send πshmem_udcflush_lineβ makes coherent the cache line that corresponds with the address specified bytarget. one line, squeaky clean π§Ό
π¦ NOTES
these routines have been retained for improved backward compatibility with legacy architectures. so like yeah, they're here for the old-school girlies π°οΈπ
SEE ALSO: intro_shmem(3) shmem_put(3) shmem_swap(3)
π COPYRIGHT
2003-2026, The Open MPI Community
that's the whole page, you ate that ππ β signing off from May 14, 2026, source and version: Open MPI's own SHMEM_UDCFLUSH_LINE(3) page. iykyk πβ
π¦ 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