已关闭
[Requirement|需求建议]: 'aclrtPointerGetAttributes' 查询接口,适配aclrtHostRegister注册内存 #300
xiangyang0909创建于  3月28日关闭于  3月31日
xiangyang0909
xiangyang0909成员
3月28日 创建

Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.

Backgroud(背景信息)

当前 Runtime 指针属性查询链路未完整支持 aclrtHostRegister 场景下的用户 Host 内存识别。

在用户自行申请 Host 内存后执行 aclrtHostRegister,驱动 drvMemGetAttribute 会返回新的 memType:DV_MEM_USER_REGISTER。 Runtime 对该类型进行适配
aclrtPointerGetAttributes 相关查询结果适配

受影响的查询路径包括:

  • PointerGetAttributes
  • PtrGetAttributes
  • PtrGetRealLocation

Origin(信息来源)

规划

Benefit / Necessity (价值/作用)

支持更多内存属性查询

Design(设计方案)

1. 新增驱动内存类型定义

在 include/driver/ascend_hal_base.h 中新增:

  • DV_MEM_USER_REGISTER = 0x0100

并补充语义说明:

  • 用户申请的 Host 内存,经 halHostRegister 注册后对应的内存类型

2. 补齐 Runtime 查询映射

在 src/runtime/driver/npu_driver_mem.cc 中补充以下映射:

  • PointerGetAttributes
    • DV_MEM_USER_REGISTER -> RT_MEMORY_TYPE_USER + RT_MEMORY_LOC_HOST
  • PtrGetAttributes
    • DV_MEM_USER_REGISTER -> RT_MEMORY_LOC_HOST
  • PtrGetRealLocation
    • DV_MEM_USER_REGISTER -> location=HOST, realLocation=HOST

3. 补充 UT 覆盖

在 Runtime UT 中新增 DV_MEM_USER_REGISTER 场景覆盖:

  • PointerGetAttributes
  • PtrGetAttributes
  • PtrGetRealLocation

同时补充 drvMemGetAttribute stub,模拟驱动返回 DV_MEM_USER_REGISTER。

likedislike
xiangyang0909
xiangyang0909成员
3月28日 评论:

/assign

likedislike
CANN-robotCANN-robot成员
3月28日 将 xiangyang0909 设为负责人
CANN-robotCANN-robot成员
3月31日 关闭了 issue
CANN-robotCANN-robot成员
3月31日 添加了label:resolved