开发者
资源
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

源码编译构建

获取SGLang源码,从源码构建Python wheel和CUDA扩展wheel后安装构建产物。

  1. 获取SGLang 0.5.10源码。
    1
    git clone --branch v0.5.10 --depth 1 https://github.com/sgl-project/sglang.git
    
  2. 从源码构建Python wheel。
    1
    2
    3
    4
    cd sglang
    SETUPTOOLS_SCM_PRETEND_VERSION=0.5.10 \
    python3 -m pip wheel --no-build-isolation --no-deps \
      --wheel-dir /tmp/sglang-build/python ./python
    
  3. 从源码构建CUDA扩展wheel。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    export CUDA_HOME=/usr/local/cuda-13.0 
    export PATH=$CUDA_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$CUDA_HOME/lib64:${LD_LIBRARY_PATH:-}
    export TORCH_CUDA_ARCH_LIST="8.0"
    export MAX_JOBS=8 
    export NVCC_THREADS=1 
    export CMAKE_BUILD_PARALLEL_LEVEL=8 
    export CMAKE_ARGS="-DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_CUDA_ARCHITECTURES=80"
    export Torch_DIR=$(python3 - <<'PY'
    import pathlib 
    import torch  
    
    print(pathlib.Path(torch.__file__).resolve().parent / "share" / "cmake" / "Torch") 
    PY 
    ) 
    export CMAKE_PREFIX_PATH=$(python3 - <<'PY'
    import torch.utils  
    
    print(torch.utils.cmake_prefix_path) 
    PY 
    )  
    
    python3 -m pip wheel --no-build-isolation --no-deps \
      --wheel-dir /tmp/sglang-build/kernel ./sgl-kernel
    
  4. 安装本地构建产物。
    1
    2
    3
    4
    5
    6
    7
    8
    python3 -m pip install \
      typing_extensions filelock fsspec jinja2 networkx sympy mpmath numpy packaging \
      tqdm requests aiohttp fastapi uvicorn pydantic orjson pyzmq psutil pillow \
      sentencepiece safetensors tokenizers transformers==5.3.0 pybase64 setproctitle \
      partial_json_parser diskcache msgspec interegular lark pycountry pycryptodomex \
      gguf openai anthropic prometheus-client uvloop watchfiles soundfile tiktoken IPython
    python3 -m pip install --force-reinstall --no-deps /tmp/sglang-build/kernel/*.whl
    python3 -m pip install --force-reinstall --no-deps /tmp/sglang-build/python/*.whl
    

    安装本地构建产物时使用--no-deps,用于保留前面已确认的CUDA版本PyTorch,避免依赖解析过程替换PyTorch版本。安装完成后,应再次确认torch.backends.cuda.is_built()和torch.cuda.is_available()均为True。

    构建产物示例如下:

    1
    2
    sglang-0.5.10-py3-none-any.whl 
    sglang_kernel-0.4.1-*.whl