GPU 多厂商 PyTorch 容器搭建
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_e10c831c/gpu-container-setup-flagos。
技能介绍
要解决什么问题
在 GPU 服务器上跑 PyTorch,常见痛点不是「会不会写 docker run」,而是厂商差异:NVIDIA 用 CUDA 与 nvidia-smi,AMD 走 ROCm/HIP,昇腾、沐曦、天数等各有 torch_npu、torch_musa、torch_corex 与不同的设备挂载路径。镜像来源也分散在 NGC、Ascend Hub、各厂商私有 Registry 和 Docker Hub,手工查 tag、试 pull、再对照文档补 --device 与卷挂载,很容易漏项或版本不匹配。
技能如何工作
本技能把流程固定为可重复的八步:解析参数(--vendor、--image、--data、--name)→ 检测 GPU 厂商(失败且无 --vendor 时询问)→ 探测数据盘(无合适盘时询问挂载路径)→ 按优先级找镜像(厂商官方 Registry API → BAAI Harbor → 网页搜索 → 本地 docker images;每源先测再用,Web 搜索成功且通过测试时会写回 references/image-sources.md)→ 按 references/mount-requirements.md 组装 docker run → 启动容器(同名容器存在时提示复用或替换)→ 在容器内跑校验脚本 → 汇总厂商、镜像、挂载与访问方式。
适用边界与注意点
- 依赖宿主机驱动与对应
*-smi工具;检测不到 GPU 时需人工指定厂商或排查驱动。 - 镜像拉取失败会逐级降级来源,全部失败需你提供镜像名。
- 容器启动失败多与设备权限或挂载有关,校验失败应看脚本输出的详细错误再改镜像或挂载。
- 参考文档:
references/gpu-detection.md、references/image-sources.md、references/mount-requirements.md。
使用场景
- 新到的昇腾或沐曦训练机尚未配环境,需要自动识别厂商并拉取对应 PyTorch 官方镜像后启动可训练容器
- 集群节点混有 NVIDIA 与 AMD ROCm,希望跳过手工查 Registry API,按优先级找到可 pull 且能通过 GPU 校验的镜像
- 训练数据在独立数据盘,需要在启动 GPU 容器时自动探测挂载路径并按厂商文档补齐 device 与卷参数
- 已有同名 `pytorch-gpu` 容器占用名称,要在复用、重启或替换之间做选择并完成容器内 PyTorch GPU 自检
适合人员
- 负责 heterogeneous GPU 集群 onboarding 的平台工程师,需要把 PyTorch 容器启动流程标准化到各厂商节点
- 在国产算力(昇腾/沐曦/天数)上跑实验的研究员,不熟悉各 Hub 镜像命名与挂载规范,希望一次对话完成环境就绪
- MLOps 同学维护多 Registry 镜像源,镜像 pull 失败时需要按 Harbor、网页搜索、本地镜像逐级降级并记录新源
- 值班 SRE 接到「GPU 容器起不来或 torch 看不到卡」工单,需要按检测、镜像、挂载、校验步骤快速定位问题