18.2.192. shmem_set_cache_line_inv
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.192.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.192.2. 描述
以下参数传递给缓存行控制例程:
- target
一个属于处理单元(PE)本地的数据对象。target可以是任何非字符类型。如果使用Fortran,它可以是任何类型。
shmem_clear_cache_inv 用于禁用先前由 shmem_set_cache_inv 或 shmem_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_inv或shmem_set_cache_line_inv启用的自动缓存一致性模式。
shmem_udcflush 使整个用户数据缓存保持一致。
shmem_udcflush_line 使与目标地址对应的缓存行保持一致性。
18.2.192.3. 注意事项
这些例程被保留下来,以提升与旧架构的向后兼容性。
另请参阅
intro_shmem(3) shmem_put(3) shmem_swap(3)