Closed
[Question|问题咨询]: 950产品上DataCacheCleanAndInvalid与asc_dcci_entire_ub的支持差异 #1821
GRJ_XIDUOAdd on  Sep 30Closed at  26 days ago
GRJ_XIDUO
GRJ_XIDUOCollaborators
Sep 30 Create

问题描述

对比Basic API与C API的数据缓存清理接口时,发现二者在950产品上的支持说明存在差异,希望咨询其原因。

Basic API的DataCacheCleanAndInvalid在950产品上支持以下调用形式,其中localtensor为LocalTensor:

AscendC::DataCacheCleanAndInvalid<uint64_t,
    AscendC::CacheLine::ENTIRE_DATA_CACHE,
    AscendC::DcciDst::CACHELINE_UB>(localtensor);

而C API的asc_dcci文档在“约束说明”中提到:950产品不支持asc_dcci_entire_ub()接口。该接口的功能描述为刷新整个DCache中包含UB地址的所有有效Cache Line。

相关文档:

希望确认以下两个问题:

  1. 上述DataCacheCleanAndInvalid调用与asc_dcci_entire_ub()所对应的硬件指令是否一致,包括指令参数、操作范围及目标缓存域?
  2. 如果对应的硬件指令一致,为什么Basic API在950产品上支持该能力,而C API却标注不支持?这是C API尚未提供对应实现、文档说明未同步,还是存在其他使用限制?
likedislike
GRJ_XIDUOGRJ_XIDUOCollaborators
Sep 30 Added label: question
GRJ_XIDUO
GRJ_XIDUOCollaborators
Sep 30 Comments:

您好,感谢您的咨询。

经确认,上述两个接口对应的硬件指令一致,950产品支持该能力。

目前C API尚未提供对应实现,我们将补充
asc_dcci_entire_ub()接口实现,并同步更新文档中的约束说明。相关修复预计于9月30日合入,进展可关注:https://gitcode.com/cann/asc-devkit/pull/6512。

likedislike
GRJ_XIDUOGRJ_XIDUOCollaborators
Sep 30 Assign GRJ_XIDUO as responsible person
GRJ_XIDUOGRJ_XIDUOCollaborators
Sep 30 Associated pull request
GRJ_XIDUOGRJ_XIDUOCollaborators
26 days ago Deleted associated pull request: feat: [9.2.0] 为950产品新增asc_dcci_entire_ub接口支持
GRJ_XIDUO
GRJ_XIDUOCollaborators
26 days ago Comments:

您好,相关PR已合入。

我们先关闭issue,后续有问题欢迎继续交流~

likedislike
GRJ_XIDUOGRJ_XIDUOCollaborators
26 days ago changed custom state from 进行中 to 已完成
GRJ_XIDUOGRJ_XIDUOCollaborators
26 days ago Close issue
CANN-robotCANN-robotCollaborators
26 days ago Added label: resolved
GRJ_XIDUOGRJ_XIDUOCollaborators
26 days ago Associated pull request