SHMEM Symmetric Memory

导言

我最初把 HCCL 理解成集合通信,把 HiXL 理解成单点通信。这个分法可以作为起点,却会让 SHMEM 无处安放:它既能一对一 Put/Get,也能做原子操作与同步,为什么还需要“对称内存”这套约束?

关键在于,HCCL、HiXL 和 SHMEM 并不只是在争夺同一种通信 API。HCCL 更接近“我要完成什么群体操作”,HiXL 更接近“我要把哪段数据传到哪里”,SHMEM 则把问题改写成“我要访问哪个 PE 上的哪个内存坐标”。它用跨 PE 的布局约束,换取设备侧可以低开销地定位和操作远端数据;但当各 PE 的容量需求严重不均时,这份约束也确实可能造成浪费。

Read more

Ascend Communication API Evolution

导言

《Ascend Communication Stack》把 HCCL、HiXL、CANN SHMEM 和 Mooncake UBShmem 放在第一轴。既然它们最终都在昇腾设备之间搬数据,也会复用相似的 Runtime、内存和硬件资源,一个很自然的问题是:为什么没有统一成一个库?

关键不在名字,也不在 payload 最后走 HCCS、RoCE 还是 UB,而在调用者究竟声明了什么契约。HCCL 声明 collective,HiXL 声明一批 buffer transfer,CANN SHMEM 声明 PE 对对称对象的 RMA/AMO,Mooncake UBShmem 则服务项目自己的映射型 KV 快路。本文沿公开时间线还原四条路线的提出契机与设计转折,再横向判断哪些差异必须保留、哪些历史包袱可以收敛。研究截止日为 2026 年 8 月 26 日。

Read more

Ascend Communication Stack

导言

华为昇腾通信资料最容易制造一种错觉:DMA、HCCS、HCCL、SHMEM、Fabric Memory 和 AIV 直驱仿佛是一摞可以从上到下整齐堆叠的软件层。实际并非如此。这些词分别回答“谁组织通信、谁建立地址、谁提交任务、谁搬数据、数据走哪条物理链路、对端是否参与”中的不同问题。有些是库,有些是协议或硬件,有些只是数据路径属性;把它们画在同一层,关系一定会错。

本文把历史纵轴和技术横轴合并:先建立一张总地图,再逐个概念给出小白版与专业版解释,最后核对公开仓库的首次可见提交、立项目的、硬件范围、迁移和待废弃状态。研究截止日为 2026 年 8 月 26 日。

Read more

Mooncake Ascend Transports

导言

我看到 Mooncake 为 Ascend 提供了三个编译开关:USE_ASCEND、USE_ASCEND_DIRECT 和 USE_UBSHMEM。最直接的问题是:它们是不是三套并列的通信 engine?特别是后两个名字里已经有 Direct 和 SHMEM,是否意味着数据传输已经由 AIV 直驱?

沿着合入 PR 和源码调用链看下去,答案逐渐清楚:这不是三套同层方案,而是 Mooncake 先后解决“能传”“通用地传”和“把远端内存映射后再传”三个问题留下的三条路径。更重要的是,按当前可见源码,三者都不能直接称为 AIV 直驱。

Read more

AIV Direct Drive Programming

导言

理解“AIV 直驱缩短了通信控制路径”之后,下一步不是立即抄一个 AllGather,而是先闭合一条最小链路:Host 建立资源并分配对称内存,启动一个 AIV Kernel;Kernel 把数据写到对端并发布 signal;接收端等待 signal,最后 Host 确认完成并按依赖顺序销毁资源。

本文基于 cann/shmem@382afa08efa801d7bca6c2645fd17e155111efcc 和 CANN 9.0.X / 9.0.0-beta.2 官方文档。代码是绑定该 revision 的教学归一化代码,不是承诺可在任意 CANN 版本直接编译的通用样例。

Read more

DualPath KV Loading

导言

Agentic LLM 的每轮新增输入很短,累计上下文却很长。高 KV Cache 命中率把重复计算变成了外部存储读取,但传统 P/D 分离系统只让 Prefill 节点承担读取,结果往往不是 GPU 算力不足,而是 Prefill 侧 Storage NIC 先堵住。DualPath 的核心不是压缩 KV,也不是换一种 Attention,而是把 Decode 侧闲置的存储入口和计算网络一起纳入 KV 加载路径,再用 QoS 与两级调度防止新路径干扰推理。本文进一步判断:昇腾 AIV 直驱可以成为其中一段细粒度 RDMA 控制路径的候选优化,但不能直接替代 DualPath 系统。

Read more

AIV Direct Drive

导言

“AIV 直驱”是昇腾通信优化语境中的常见简称。最稳妥的理解是:让运行在 AIV(Vector Core)上的 Kernel 直接编排和提交通信工作,避免由 Host CPU 或 AICPU 为每一次细粒度传输继续充当中间调度者。它优化的是通信控制路径;真正搬运字节的仍是 HCCS、RoCE、RDMA 或 URMA 等通信机制与硬件。

Read more

Echo Training Simulator

导言

Echo 是一个面向大规模分布式训练的混合性能模拟器:它先在少量真实 NVIDIA GPU 上逐 Rank 执行和计时,再用 NCCL 白盒公式、离散事件时间线以及 XGBoost 重叠减速模型,预测目标集群的单步时间。它模拟的是执行时序,不是张量数值、loss 或收敛过程。

截至本文固定的公开版本,Echo 已公开 workload tracer 与 slowdown predictor,但论文中的集成通信估算器和 timeline composer 尚未在仓库中找到;代码明显绑定 CUDA、NCCL 和 Nsight,没有开箱即用的 Ascend 支持。论文在 NVIDIA 测试域内给出 91.4% 平均预测准确率,以及 GPT-175B、96 张 H800 上约 8% 的单步时间误差,但这些数字不能直接外推到 Ascend。

Read more

SimAI Architecture

导言

SimAI 不是把上千张 GPU 在软件里逐晶体管复刻一遍,也不是实际训练一个没有数据的模型。它把训练框架、算子耗时、集合通信和网络拆成不同精度的模型,再用事件依赖重建一次迭代的时间线。本文基于 NSDI 2025 论文与固定版本源码,回答五个问题:它是什么、架构如何组织、是不是仿真、精度证据有多强,以及公开版是否支持 Ascend。

Read more

ClusterHealthDetect A3 Performance

导言

这篇文章记录一次从“pod4 比 pod8 跑 Qwen3.5 397B SFT 慢约 10%”出发的集群健康定位。普通 allgather 打流没有复现差异,并不等于训练链路健康;真实慢点可能在 CPU 绑核、H2D、固定两卡 D2D、背景设备负载、rank-to-core 放置和框架调度之间。ClusterHealthDetect 的作用,是把这些变量拆成可复现实验矩阵,成为训练性能模型里的校准账本。

Read more