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

CloudMatrix384 LLM Serving

导言

一台加速卡跑不下、几百张卡又容易互相等待时,问题就不再只是“算力够不够”,而是谁负责算、谁负责搬、状态放在哪里、下一步在等什么。本文以知乎学习笔记为线索,回到原始论文逐项核验,用“超级厨房”“专家快递”和“共享图书馆”三个直觉,解释 CloudMatrix384 服务 DeepSeek-R1 的四个关键机制。

Read more

ClusterHealthDetect A3 Performance

导言

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

Read more

BSND TND Operator Layout

导言

讨论 BSND/TND 时,最容易误判的是把 推理 prefill 支持 当成 训练全链路支持。对 Qwen3.5 这类含 Gated Delta Net 的模型,TND 不只是把 [B, S, N, D] reshape 成 [T, N, D]:训练还要覆盖 backward、recurrent state、cu_seqlens、label / loss mask、old logprob、ref logprob、actor update 和框架并行契约。

本文的结论是:推理 TND 是中等工程量,训练 TND 是大工程量;verl 已经支持 Qwen3.5 RL,但具体 layout 支持取决于 FSDP/Megatron/MindSpeed/vLLM 路径,不能一概而论。

Read more

NPU Training Operators - GDN

导言

这篇笔记记录一次很窄的接入设计:在 verl release/v0.8.0 的 Qwen3.5 GRPO + FSDP 路径里,NPU 已经有 RMSNorm、RoPE、MoE GMM 等 patch,但 Gated Delta Net / GDN 仍然落在原始 eager 路径。目标不是改 GRPO 算法,而是给模型 forward 里的 chunk_gated_delta_rule 加一个可配置的 Triton 优先路径。

参考对象是 MindSpeed-MM 提交 5aaf0791d00abcbf5dd16af10091f4391030ad00:它把 Qwen3.5 的 GDN 计算模式显式化为 gdn_compute_mode,并区分 tritonascendceager。本文给出的 verl 方案先接入 Triton,保留 eager 回退;AscendC 自定义算子作为后续扩展。

Read more

NPU Training Operators - RoPE MRoPE

导言

MindSpeed core_r0.16.0--use-fused-rotary-pos-emb 是普通 RoPE 路径:freqs -> cos/sin -> npu_rotary_position_embedding(x, cos, sin, mode)torch_npu 另有 npu_rotary_mulnpu_interleave_ropenpu_mrope,其中 npu_mrope 可以覆盖推理侧多模态 MRoPE;这和 Megatron Bridge 的 config.apply_rope_fusion 不是同一个开关。

客户报错 Qwen3VLMultimodalRotaryEmbedding has no attribute get_rotary_seq_len 的直接含义是:Qwen3-VL 的 MRoPE 对象被送进了 Megatron Core 的普通 rope 分支。先修正分支:position_embedding_type="mrope"apply_rope_fusion=False。如果要用 NPU MRoPE fused,应在 q/k rotary apply 处显式接 torch_npu.npu_mrope,不是打开普通 apply_rope_fusion

Read more

NPU Training Operators - GMM

导言

GMM 在 Qwen3.5 MoE 里的接入点是 routed experts 的两次矩阵乘hidden -> gate/upintermediate -> hiddenshared_expert 仍是普通 Qwen3_5MoeMLP,attention 不动,Dense 版 Qwen3.5 的普通 MLP 也不是替换对象。

PR #2664 的公开 diff 主要是给 mindspeed_mm.fsdp.ops.moe_ops.gemm.grouped_matmul 增加 fused/eager 一致性 UT,并放宽 unpermute UT 容差;它可以作为 GMM wrapper 接口被测试覆盖的证据,不能写成完整功能接入 PR。[^gmm-pr-api][^gmm-pr-files]

Read more

NPU Training Operators - MC2

导言

MC2 的核心不是异步通信,而是 fused operator 内部的计算/通信切分与流水。MindSpeed-LLM 文档里的典型场景是 TP/SP 下的 matmul + all_reduce/all_gather/reduce_scatter;MindSpeed-MM PR #2480 接入的是 MoE expert parallel 下的 AllToAllv + GroupedMatmulGroupedMatmul + AllToAllv

本文只记录可迁移信息:PR 改了哪些文件、ep_mc2_forward 怎么跑、迁移前检查什么、怎么验证、哪些结论不能从公开资料直接外推。

Read more

Memory-Semantic TransferQueue

导言

能否把 MOV A, B 的直觉扩展到跨 device、跨节点甚至跨超节点:应用只给出源地址和目标地址,系统自动选择 HCCS、RDMA 等路径,把大 tensor 直接搬到消费者附近?可以把它做成 verl TransferQueue 的可插拔数据面,但不应把这件事直接称为“MTE 跨超节点”。MTE 是 Ascend 内存层级和部分 HCCS 路径上的搬运引擎;真正向应用提供远端地址、单边 put/get、注册和完成语义的是 SHMEM、MemFabric 一类软件层;样本字段、ready、consumed、staleness 和恢复仍应由 TransferQueue 管理。

Read more