Skip to content

[Code Health] 补齐 A5 RDMA 实机传输、独立域共存验证与 CI 覆盖 #2824

Closed as not planned

Description

@ChaoZheng109

Category

Missing Validation

Component

Other (A5 communication backends and hardware CI)

Description

从 #2739 独立拆出 A5 RDMA 的真实传输、独立 domain 共存及 CI 验证。PR #2790 已合并(9609da8a8b2e5c42b257d0cd76daddec7deedd2c),完成 workspace 分离、后端共同编译和 SDMA/URMA 混合通信验证;本 issue 的后续工作不阻塞 #2739 关闭。

当前证据和限制:

  • 三个后端可共同编译;同一 domain 仍明确拒绝 RDMA 与 SDMA/URMA 的组合。RDMA 使用低地址内存及 rkey/VA,其他 domain 使用 VMM 窗口和对端映射。
  • 同一 Worker 中分别创建 RDMA domain 与 SDMA/URMA domain 的真实传输和混合任务尚未验收。不能把共同编译或 CPU mock 测试视为硬件共存证明。
  • 已有 rdma_deferred_completion_demo,覆盖 64 / 16384 元素的 RDMA 读写与异步完成。当前 A5 CI 设置 RDMA=OFF,该用例实际为 1 skipped;外层资源任务的 PASS 不代表执行了 RDMA 传输。
  • Refactor: separate SDMA, URMA and RDMA workspaces #2790 曾在 A5 测试主机尝试硬件初始化,但缺少可用 RoCE bootstrap 配置,未得到真实传输通过的结果。需要配置可用的 HNS1825/RoCE 测试环境。
  • 现有源码契约、完成队列和 workspace 资源管理 UT 不能替代上述硬件验证。

Location

  • examples/a5/tensormap_and_ringbuffer/rdma_deferred_completion_demo/
  • src/a5/platform/onboard/host/comm_hccl.cpp
  • src/a5/runtime/tensormap_and_ringbuffer/runtime/backend/rdma/
  • .github/workflows/_st-npu-a5.yml
  • tests/ut/cpp/a5/runtime/tensormap_and_ringbuffer/test_rdma_completion_scheduler.cpp

证据:PR #2790 的 A5 CI,RDMA demo 子进程报告 1 skipped,SDMA/URMA 相关 10 个用例实际通过。

Proposed Fix

  • 明确并配置支持 HNS1825/RoCE 的测试环境,记录所需拓扑、设备和 bootstrap 配置方式,不在仓库提交环境凭据。
  • 在 RDMA=ON 的同一构建中运行已有 demo,两种规模均实际执行并校验读写结果、异步完成和下游依赖。
  • 验证同一 Worker 的独立 RDMA 与 SDMA/URMA domains,包括明确依赖的混合任务、workspace 隔离及域释放;记录真实并发验证范围和不支持的组合。
  • 在具备上述环境的 CI 中启用 RDMA 硬件验证,确保目标用例未因开关/环境缺失跳过;使用子用例结果作为验收证据。
  • 更新文档和验证记录,分别注明共同编译、同域支持、跨域运行与硬件传输的覆盖范围。

同域 RDMA+SDMA/URMA 的窗口统一属于额外设计,不以取消现有拒绝检查作为本 issue 的前提。RDMA 生命周期/清理所有权由 #2823 跟踪;URMA 生命周期由 #2787 跟踪,避免重复实现。

Related: #2739, #2722, #2823, #2674. Delivered foundation: #2790.

Priority

Medium (minor risk, should fix in next few releases)

Activity

  1. self-assigned this
    on Nov 2, 2026
  2. ChaoZheng109 commented on Nov 9, 2026

    @ChaoZheng109
    CollaboratorAuthor

    pending

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

code healthTechnical debt, robustness, code quality

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions