SHMEM_SET_CACHE_LINE_INV(3)

✨ SHMEM_SET_CACHE_LINE_INV(3) ✨

okay bestie, this is the Open MPI manual page for SHMEM_SET_CACHE_LINE_INV(3) β€” yes, the cache-line-invalidation crew is here, and the whole vibe is β€œlegacy architecture support but make it cute.” πŸ¦‹πŸ’…

🌸 NAME 🌸

The official roster is: 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. 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 πŸ¦‹

The argument that gets handed to the cache line control routines is:

  • target β€” a data object that is local to the processing element (PE). target can be of any noncharacter type. If you’re using Fortran, it can be of any kind. πŸ’–

Now for the function-by-function glow-up:

  • shmem_clear_cache_inv β€” disables automatic cache coherency mode previously enabled by shmem_set_cache_inv or shmem_set_cache_line_inv.
  • shmem_clear_cache_line_inv β€” disables automatic cache coherency mode for the cache line associated with the address of target only.
  • shmem_set_cache_inv β€” enables the OpenSHMEM API to automatically decide the best strategy for cache coherency.
  • shmem_set_cache_line_inv β€” enables automatic cache coherency mode for the cache line associated with the address of target only.
  • shmem_clear_cache_inv β€” yes, the page says it again, and I’m keeping it because every detail matters: disables automatic cache coherency mode previously enabled by shmem_set_cache_inv or shmem_set_cache_line_inv. πŸ’…
  • shmem_udcflush β€” makes the entire user data cache coherent.
  • shmem_udcflush_line β€” makes coherent the cache line that corresponds with the address specified by target.

πŸ‘‘ NOTES πŸ‘‘

These routines have been retained for improved backward compatibility with legacy architectures. No cap β€” they’re here for the legacy architecture girlies. 🫢✨

πŸ‘€ SEE ALSO

2003-2026, The Open MPI Community


okay final sign-off, bestie: this Open MPI manual page is dated May 14, 2026, and the page name is SHMEM_SET_CACHE_LINE_INV(3) β€” mwah, bye πŸ’‹βœ¨

πŸ“¦ where this page comes from