1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
.. _shmem_udcflush:
shmem_udcflush
==============
.. include_body
:ref:`shmem_clear_cache_inv`\ (3), :ref:`shmem_set_cache_inv`\ (3),
:ref:`shmem_set_cache_line_inv`\ (3), :ref:`shmem_udcflush`\ (3),
:ref:`shmem_udcflush_line`\ (3) - Controls data cache utilities
SYNOPSIS
--------
C or C++:
.. code-block:: 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:
.. code-block:: 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). target
can be of any noncharacter type. If you are using Fortran, it can be
of any kind.
:ref:`shmem_clear_cache_inv` disables automatic cache coherency mode
previously enabled by :ref:`shmem_set_cache_inv` or :ref:`shmem_set_cache_line_inv`.
:ref:`shmem_clear_cache_line_inv` disables automatic cache coherency mode
for the cache line associated with the address of **target** only.
:ref:`shmem_set_cache_inv` enables the OpenSHMEM API to automatically
decide the best strategy for cache coherency.
:ref:`shmem_set_cache_line_inv` enables automatic cache coherency mode for
the cache line associated with the address of **target** only.
:ref:`shmem_clear_cache_inv` disables automatic cache coherency mode
previously enabled by :ref:`shmem_set_cache_inv` or :ref:`shmem_set_cache_line_inv`.
:ref:`shmem_udcflush` makes the entire user data cache coherent.
:ref:`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.
.. seealso::
*intro_shmem*\ (3) *shmem_put*\ (3) *shmem_swap*\ (3)
|