Skip to content

asc_load_l2_cache_mode

asc_load_l2_cache_mode用于表示数据从GM搬运到UB时的L2 cache管理策略,在调用asc_copy_gm2ub_alignasc_ndim_copy_gm2ub时使用。L2 Cache管理策略的影响可见L2 Cache Mode最佳实践

枚举类具体定义

C++
enum class asc_load_l2_cache_mode : uint8_t {
    NORMAL_FIRST_VICTIM = 0,
    NORMAL_LAST_VICTIM = 1,
    NORMAL_PERSISTENT = 2,
    NOTALLOC_KEEP = 4,
    NOTALLOC_CLEAN = 5,
    NOTALLOC_DROP = 6
};

枚举值详解

表1 枚举值说明

枚举值L2 cache管理策略
NORMAL_FIRST_VICTIM启用L2 Cache,并且将分配的Cache Line标记为高替换优先级。
NORMAL_LAST_VICTIM启用L2 Cache,并且将分配的Cache Line标记为低替换优先级。
NORMAL_PERSISTENT启用L2 Cache。已存入L2 Cache中的数据可能被替换,若需确保特定数据始终保留在L2 Cache中,可采用驻留模式。
• 注意,被标记为驻留模式的Cache Line只能被其他同样被标记为驻留模式的Cache Line替换。
NOTALLOC_KEEP不启用L2 Cache,每次都直接从GM中读取,并且保持已有Cache Line的状态不变。
NOTALLOC_CLEAN不启用L2 Cache,若L2 Cache中已有同地址缓存会被保留并标记为Clean,标记为Clean的Cache Line被移出L2 Cache时会被直接丢弃。
NOTALLOC_DROP不启用L2 Cache,若L2 Cache中已有同地址缓存,会被直接丢弃。

免责声明:本站内容由 asc-devkit 仓 master 分支自动编译生成,属于持续开发版本,可能存在缺陷,仅供预览与参考。如需稳定及商用资料,请查阅官方 昇腾社区