SGLang 排坑:4 步解决 PyTorch 版本冲突

SGLang 排坑:4 步解决 PyTorch 版本冲突 SGLang 排坑4 步解决 PyTorch 版本冲突【免费下载链接】sglangSGLang is a high-performance serving framework for large language models and multimodal models.项目地址: https://gitcode.com/GitHub_Trending/sg/sglangCUDA 12.4 的机器上刚装完依赖python -m sglang.launch_server一启动就在加载 sgl_kernel 时崩掉报错里全是 CUDA、ABI 之类的词。这类 SGLang 版本兼容与环境适配问题多数不是代码 bug而是 torch、内核包和你的硬件三者没对齐。下面按「体检 → 拆约束 → 排障 → 按硬件安装」的顺序过一遍。一键体检判断你的环境到底达没达标先别猜跑项目自带的体检脚本它会把 Python、torch、sglang-kernel 及十几个关键依赖的版本、CUDA 信息、GPU 拓扑一次性打印出来python -m sglang.check_env python -c import torch; print(torch.__version__, torch.version.cuda) pip show sglang-kernel对照标准下结论能达标Python ≥ 3.10torch 为 2.13.0sglang-kernel 为 0.4.6.post1torch.version.cuda非空且 ≥ 12.3。不能达标Python 低于 3.10requires-python硬性下限torch 大版本不是 2.13主包是精确锁定不是大于等于sglang-kernel 版本与主包声明不一致。看情况CUDA 在 12.1/12.2 也能启动服务但 FlashAttention-3 路径会被跳过见下文排障第 2 条属于能跑但慢。体检脚本源码在python/sglang/check_env.py它按 CUDA / ROCm / NPU / MUSA / MPS 五种平台分别输出对应字段AMD 机器上会看到 ROCM_HOME 和 rocm-smi 驱动版本NVIDIA 机器上看到 NVCC 和驱动版本。依赖约束拆解版本到底锁在哪SGLang 的 Python 侧按平台拆成了多个安装清单约束各不相同这是所有版本冲突的源头组件配置文件关键约束主包NVIDIA/CUDApython/pyproject.tomltorch2.13.0、torchaudio2.11.0、transformers5.12.1、tokenizers0.22.2、sglang-kernel0.4.6.post1内核包NVIDIApython/sglang/kernels/aot/pyproject.tomlsglang-kernel0.4.6.post1构建与运行均要求torch2.13.0内核包CPUpython/sglang/kernels/aot/pyproject_cpu.tomlsglang-kernel-cpu构建要求torch2.12.0内核包ROCmpython/sglang/kernels/aot/pyproject_rocm.toml构建要求torch2.8.0未锁死CPU 主包python/pyproject_cpu.toml发行名sglang-cputorch2.12.0、torchvision0.27.0、triton3.7.0AMD 运行时python/pyproject_other.tomlsrt_hip不锁 torchROCm 7.2.4 用srt_hip_rocm724torch2.11.0、compressed-tensors0.16.0Intel XPUpython/pyproject_xpu.tomltorch2.13.0xpu两个要点NVIDIA 主线是全链路锁 2.13.0——主包、内核包、build-system 三处一致所以这条线几乎不允许 torch 自由浮动。非 NVIDIA 平台的锁法完全不同CPU 用 2.12.0ROCm 7.2.4 用 2.11.0ROCm 内核包只写2.8.0。跨平台照抄 NVIDIA 的 2.13.0 就会出错。排障路径4 个高频症状的根因与处理症状 1安装成功启动时 import sgl_kernel 报 CUDA/ABI/undefined symbol 类错误根因环境里实际生效的 torch 不是 2.13.0sglang-kernel 二进制与其 ABI 不匹配。最常见于共用环境——隔壁项目的 requirements 把 torch 拉到了别的版本pip 不报错运行时才炸。处理新建干净 venvpip install sglang让依赖解析器完整拉齐再用python -m sglang.check_env核对 torch 与 sglang-kernel 版本是否同版本线。症状 2服务能跑但 FlashAttention 走了慢路径、吞吐偏低根因FA3 的启用条件在python/sglang/kernels/aot/python/sgl_kernel/flash_attn.py里两个条件缺一不可return (torch.version.cuda 12.3) and ( torch.cuda.get_device_capability(device)[0] 9 or torch.cuda.get_device_capability(device)[0] 8 )torch 的 CUDA 构建低于 12.3或显卡算力是 7.x如 V100FA3 直接被跳过。处理换 12.3 的 torch CUDA 构建算力 7.x 属于硬件限制别在版本上死磕。症状 3AMD 卡上装了 NVIDIA 版 torchsgl_kernel 初始化报错或torch.cuda.is_available()为 False根因python/sglang/kernels/aot/python/sgl_kernel/__init__.py靠torch.version.cuda/torch.version.hip分发平台分支torch 轮子类型和显卡对不上就走错分支。处理先装 ROCm 版 torch再用srt_hipextra 安装srt_hip含wave-lang3.8.2、petit_kernel0.0.2ROCm 7.2.4 换用srt_hip_rocm724对应 torch 2.11.0。症状 4pip 安装时直接 ResolutionImpossible / 依赖冲突根因主包锁得极死transformers5.12.1、tokenizers0.22.2、flashinfer_python[cu13]0.6.18等环境里已有的旧版同名包与这些锁定互斥。处理不要在存量环境里打补丁式安装用 venv 或 uv 隔离重装确认冲突的包名后以 SGLang 的锁定版本为准。场景化安装按硬件给最小可运行步骤NVIDIA GPUpython -m venv sglang source sglang/bin/activate pip install -U pip pip install sglang python -m sglang.check_envpip install sglang会顺带拉齐 sglang-kernel 0.4.6.post1 和 torch 2.13.0装完用 check_env 确认配对即可。纯 CPU 机器python -m venv sglang-cpu source sglang-cpu/bin/activate pip install -U pip pip install sglang-cpu⚠️ 注意发行名是sglang-cpu对应 torch 2.12.0 那条线不是主包。AMD ROCm# 先按 AMD 平台文档装好 ROCm 版 torch pip install sglang[srt_hip] # ROCm 7.2.4 环境改用 srt_hip_rocm724torch 2.11.0避坑清单升级、共用、回退之前先过一遍共用环境是重灾区别在装过 SGLang 的环境里再装别的服务框架任何一个额外依赖动 torch 的锁定都会立刻破坏 2.13.0 配对。升级 torch 必须同步换 sglang-kernel内核轮子和 torch 存在 ABI 绑定只升一边必出 import 或运行时符号错误。回退前先留底跑一遍python -m sglang.check_env存档再按记录的版本pip install回去别凭记忆猜版本号。CPU 机器别装 CUDA 主包用sglang-cpu发行否则白白拉进一大坨用不上的 CUDA 依赖。非 NVIDIA 平台用官方 extrassrt_hip、srt_musa、srt_hpu等清单都定义在 python/pyproject_other.toml不要手工拼依赖容易漏掉配套锁定。收尾记住一条主线先跑python -m sglang.check_env留底再对照上表核对 torch 与 sglang-kernel 是否同版本线绝大多数环境怪问题都停在这一步。如果体检输出正常但故障仍在把 check_env 的完整输出连同复现命令贴到项目的 issue 讨论区比文字描述快得多。【免费下载链接】sglangSGLang is a high-performance serving framework for large language models and multimodal models.项目地址: https://gitcode.com/GitHub_Trending/sg/sglang创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考