SHMEM_CACHE(3)
okay bestie, this is SHMEM_CACHE(3) from the Open MPI manual β the data cache utilities page, and it's lowkey iconic. πΎβ¨
β¨ 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 π (and yep, shmem_clear_cache_line_inv shows up in the synopsis and description below β the page is built like that, don't @ me.)
π 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 following argument is passed to the cache line control routines:
targetβ a data object that is local to the processing element (PE).targetcan be of any noncharacter type. If you're using Fortran, it can be of any kind. π―
Now for the main character functions:
shmem_clear_cache_invβ disables automatic cache coherency mode that was previously enabled byshmem_set_cache_invorshmem_set_cache_line_inv.shmem_clear_cache_line_invβ disables automatic cache coherency mode for the cache line associated with the address oftargetonly.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 oftargetonly.shmem_clear_cache_invβ yes, again: disables automatic cache coherency mode previously enabled byshmem_set_cache_invorshmem_set_cache_line_inv. (The original really does list this twice, and we respect the repetition. π )shmem_udcflushβ makes the entire user data cache coherent.shmem_udcflush_lineβ makes coherent the cache line that corresponds with the address specified bytarget.
π§ NOTES π§
These routines have been retained for improved backward compatability with legacy architectures. π§β¨
π₯ SEE ALSO π₯
intro_shmem(3)shmem_put(3)shmem_swap(3)
signed off from the gitclone source, version Unreleased developer copy β no date in this footer, bestie, but the vibes are immaculate π«Άπ
π¦ where this page comes from
- arch rolling: nvhpc-comm-libs 26.9-1 Β· LicenseRef-NVIDIA-HPC-SDK
- Copyright (c) 2015 University of Houston. All rights reserved
- Copyright (c) 2015 Mellanox Technologies, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms