18.2.23. shmem_clear_cache_inv

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

18.2.23.1. 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)

18.2.23.2. DESCRIPTION

The following argument is passed to the cache line control routines:

target

A data object that is local to the processing element (PE). target can be of any noncharacter type. If you are using Fortran, it can be of any kind.

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 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.

18.2.23.3. NOTES

These routines have been retained for improved backward compatibility with legacy architectures.

See also

intro_shmem(3) shmem_put(3) shmem_swap(3)