FlagOS 多芯片软件栈安装
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_e10c831c/install-stack-flagos。
技能介绍
要解决什么问题
在多厂商 GPU 上跑 FlagOS 相关推理栈时,依赖往往拆成多个 Python/C++ 包,且安装顺序和 wheel 选择强相关。手工在容器里逐个 pip install、make 和 import 验证,容易漏步骤、选错 Triton wheel,或在 vLLM 未就绪时继续装下游导致难以排查的报错。
技能如何工作
本技能面向已在运行的 Docker GPU 容器(需已知容器名;GPU 厂商可传入或由脚本探测)。整体按固定流水线执行:
- Step 0~2:确认容器运行;在容器内执行
collect_env_info.py采集厂商、Python/glibc、架构与磁盘;运行detect_network.py解析GITHUB_PREFIX与PIP_INDEX;磁盘不足 10GB 时告警并询问是否继续。 - Step 3:按依赖链安装五件套:vLLM 0.13.0 → FlagTree → FlagGems → FlagCX → vllm-plugin-FL。vLLM 与 vllm-plugin-FL 为门禁:任一失败则记录并退出;FlagTree 无匹配 wheel 时记录 mismatch 但可继续;FlagGems/FlagCX 失败记录后继续。FlagCX 分两阶段(C++ 库 + PyTorch 插件),厂商相关参数见
vendor-mappings.md;Iluvatar 上 plugin 的 requirements 可回退到requirements_iluvatar.txt。 - Step 4~6:运行
validate_packages.py生成 JSON 校验报告;成功安装 FlagCX 时持久化FLAGCX_PATH;汇总为 PASS / PARTIAL / FAIL 结构化结果。各步骤带超时(如 pip 300s、网络探测 5s)。
若独立调用且未给 --vendor,会在探测未知时向用户确认厂商。
适用边界
- 前置假设:容器内已有 PyTorch 与 GPU 访问(常与
/gpu-container-setup衔接);从/flagrelease编排调用时可注入容器名与厂商上下文。 - PARTIAL 表示 vLLM 与 plugin 已装但 FlagTree/FlagGems/FlagCX 部分失败;仅当 vLLM 或 plugin 门禁失败时整体为 FAIL。
- 网络直连与镜像均不可达时会直接退出,不会静默降级。
使用场景
- 已通过 gpu-container-setup 启动 GPU 容器,需在指定容器名内按顺序安装 vLLM 与 Flag 四件套并完成 import 校验。
- 在 flagrelease 编排流程中调用本技能,自动传入容器名与 GPU 厂商,并产出 PASS/PARTIAL/FAIL 结构化报告。
- 新环境不确定能否直连 GitHub 或 PyPI,需先在容器内探测镜像前缀再执行后续 pip 与 git 拉取。
- FlagTree 需按厂商、Python 与 glibc 匹配预编译 wheel;无匹配 wheel 时仍希望继续装 FlagGems 并汇总 mismatch。
适合人员
- 维护多厂商 GPU 推理镜像、需要在同一 Docker 容器内批量落地 FlagOS 依赖链的平台工程师
- 编写或调试 flagrelease 发布脚本、希望装栈步骤带门禁与超时而非手工 ssh 进容器 pip 的开发者
- 已在容器内具备 PyTorch 与 GPU,但需按 vendor-mappings 编译 FlagCX 并设置 FLAGCX_PATH 的推理栈集成同学
- 负责生产 GPU 节点装包、关注磁盘不足 10GB 告警及 vLLM/plugin 失败即停、中间件失败可 PARTIAL 上线的运维