用途:在本地加速平台上编写、移植、调试和运行 PyTorch 应用代码,面向需要同时维护 NVIDIA CUDA 与厂商平台(已验证实例为摩尔线程 MUSA / MTT S5000)的代码库。核心是代码层迁移,不负责 Python 环境与 wheel 兼容(属 accel-pytorch-python)、宿主机驱动与 Toolkit 诊断(属宿主机层技能)、可移植安装(属 accel-platform-install)。仓库自身的 AGENTS.md 与实验规则优先。
主要能力:提供 CUDA→MUSA API 映射表(torch.device、set_device、synchronize、empty_cache、显存统计、Stream/Event、manual_seed、可见设备变量、通信后端 nccl→mccl、nvidia-smi→mthreads-gmi 等);设备探测与后端抽象 helper;AMP 与数值稳定检查(autocast、GradScaler、梯度有限性校验);MCCL 多卡 DDP 入口与启动方式;Transformers/Accelerate 兼容审计;MUSA 扩展编译(MUSAExtension/BuildExtension);内存、计时与性能建议;迁移审计清单。
使用方式:先做环境检查(mthreads-gmi、musaInfo、mcc --version、python --version,并确认 torch.musa.is_available() 与 mccl 后端可用),再按“后端中立 PyTorch + 设备抽象”优先的顺序迁移;不要机械替换所有 cuda 字符串,应先分类每处出现。多卡用 torchrun 配合 MUSA_VISIBLE_DEVICES 与 backend="mccl"。
限制:本地未安装 torch_musa、torchada、Triton、bitsandbytes、flash-attn、MATE,勿生成依赖它们的代码;CUDA 专用扩展需 MUSA 支持或纯 PyTorch 回退;已验证 S5000/MUSA 5.2/PyTorch 2.9.1 上 Qwen3.5-2B QAT 的 SDPA 反向出现 NaN 梯度,eager 可完成 20 步,但不可推广为所有 SDPA 路径均损坏;FSDP、张量并行等需单独预检。其他平台需按 accel-init 调研结论改写正文。