已合并
refactor: 数据面适配POD契约v2 #152
pandeng创建于 9月4日
refactor: 数据面适配POD契约v2 #152
已合并
pandeng创建于 9月4日
pandeng
pandeng成员
9月4日

当前PR是否有AI参与:

[x] 否

[ ] 是
__1. AI Agent 平台:
__2. AI 模型:
__3. Prompt上下文 :

PR功能描述 / 为什么需要这个合入**:

将 AICPU 通信数据面从 hcomm 仓迁移到 asc-comm 仓,实现 AICPU 数据面在 asc-comm 的独立承载与交付:

  • 数据面迁入:AICPU 通信数据面(Launch、Runtime、Transport、UB/UDMA 连接、SQE 构建、C API 适配)整体迁入 asc-comm,新增 src/
    aicpu/asccomm 28 个实现/头文件与 include/aicpu/hcomm 3 个契约头;跨 SO 边界只传递 POD、handle 与 C ABI 类型,不依赖 hcomm C+

    • 控制面类型。
  • 独立构建交付:新增 asccomm_aicpu 独立构建目标,交付 libasccomm_aicpu.so 与 pkg_inc 头文件;支持 CANN 包根目录与架构子目录两
    种 pkg_inc/hcomm 布局,同时在 CI 独立 checkout 场景内置 hcomm_res_entity_defs.h 契约副本,保证 UT 不依赖相邻 hcomm 源码树。

  • 命名与依赖收敛:对外类型统一为 AsccommDataType、AsccommReduceOp、AsccommBatchTransferDesc,实体类型直接复用 hcomm ABI 的
    ThreadEntity / ChannelEntity;CommProtocol、CommEngine、CommAbiHeader 仍由包间头提供。

  • UT 与构建验证:新增 tests/ut/aicpu/asccomm 9 个测试/桩文件,覆盖 launch、线程注册、batch mode、notify/fence/drain、参数校验
    和资源 ABI 校验;build.sh -t 接入 AICPU UT 构建与运行。

  • 验证结果:asccomm_aicpu 编译通过;AICPU 通信 UT asccomm_utest_comms_aicpu_launch 3 个用例、
    asccomm_utest_comms_aicpu_primitives 9 个用例全部通过;pre-commit(clang-format / codespell / OAT / markdown-link)通过。

该PR关联的issue

(格式为fixes #<issue号>, 或者resolves #<issue号>): fixes #57

希望检视人员了解:

  • 改动量为 43 个文件,+6119/-2,其中 40 个新增、3 个修改、0 个删除。

  • 建议按目录分片检视:

    • src/aicpu/asccomm:AICPU 数据面实现
    • include/aicpu/hcomm:对外 C ABI 与包间契约头
    • tests/ut/aicpu/asccomm:AICPU 通信 UT 与桩
    • CMakeLists.txt、src/aicpu/CMakeLists.txt、build.sh:构建接入与 UT 挂接
  • hcomm_res_entity_defs.h 是 hcomm 包间契约头的随仓副本,用于独立 checkout UT;其来源为 hcomm pkg_inc/hcomm/
    hcomm_res_entity_defs.h,两份文件当前完全一致。

改动类型 / Change Type

测试信息 / Testing

检查清单 / Checklist

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 pandeng 的贡献)
pandengpandeng成员
9月4日 创建了 pull request,commit b6468ffe
CANN-robotCANN-robot成员
9月4日 添加了label:stat/needs-squash
CANN-robotCANN-robot成员
9月4日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
9月4日 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here.
You can get sig-info at here.
You can self-configure the PR merge rules for this repository. For more details, please refer to Here.
For more, you also can visit HICANN.


PR Approval Progress

✅ Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
include ✅ zhanghao_0689, chenma (2/2) ✅ zhanghao_0689 (1/1)
repo-cann/asc-comm ✅ chenma, zhanghao_0689 (2/2) ✅ chenma, zhanghao_0689 (2/1)
src ✅ chenma, zhanghao_0689 (2/2) ✅ chenma (1/1)
tests ✅ chenma, zhanghao_0689 (2/2) ✅ chenma (1/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

pandeng01, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
pandengpandeng成员
9月7日 预合并成功(commit_id: e521750aee0ad5297a6949eb2694a2cb3677b960)
此处折叠了402条消息 查看更多
pandengpandeng成员
17 天前 修改了pull request 的描述
pandengpandeng成员
17 天前 修改了pull request 的描述
pandengpandeng成员
17 天前 修改了pull request 的描述
pandengpandeng成员
17 天前 修改了pull request 的描述
pandengpandeng成员
17 天前 修改了pull request 的描述