18.2.213. shmem_udcflush

shmem_clear_cache_inv(3), shmem_set_cache_inv(3), shmem_set_cache_line_inv(3), shmem_udcflush(3), shmem_udcflush_line(3) - 数据缓存控制工具

18.2.213.1. 概述

C或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.213.2. 描述

以下参数传递给缓存行控制例程:

target

一个属于处理单元(PE)本地的数据对象。target可以是任何非字符类型。如果使用Fortran,它可以是任何类型。

shmem_clear_cache_inv 用于禁用先前由shmem_set_cache_invshmem_set_cache_line_inv启用的自动缓存一致性模式。

shmem_clear_cache_line_inv 仅对与target地址相关联的缓存行禁用自动缓存一致性模式。

shmem_set_cache_inv 允许OpenSHMEM API自动决定最佳的缓存一致性策略。

shmem_set_cache_line_inv 仅为与target地址关联的缓存行启用自动缓存一致性模式。

shmem_clear_cache_inv 用于禁用先前由shmem_set_cache_invshmem_set_cache_line_inv启用的自动缓存一致性模式。

shmem_udcflush 使整个用户数据缓存保持一致。

shmem_udcflush_line 使与目标地址对应的缓存行保持一致性。

18.2.213.3. 注意事项

这些例程被保留下来,以提升与旧架构的向后兼容性。

另请参阅

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