|
1 | | -ARG CUDA_VERSION=12.8.0 |
| 1 | +ARG CUDA_VERSION=13.0.0 |
2 | 2 | FROM nvidia/cuda:${CUDA_VERSION}-cudnn-devel-ubuntu22.04 |
3 | 3 |
|
4 | 4 | ARG PYTHON_VERSION=3.10 |
5 | 5 | ARG MAMBA_VERSION=24.7.1-0 |
6 | | -ARG VLLM_VERSION=0.16.0 |
| 6 | +ARG VLLM_VERSION=0.21.0 |
| 7 | +ARG NIXL_REF=v1.1.0 |
7 | 8 | ARG FLASH_MLA_REF=47c35a7 |
| 9 | +ARG DEEPGEMM_REF=891d57b4db1071624b5c8fa0d1e51cb317fa709f |
8 | 10 | ARG TARGETPLATFORM |
9 | 11 | ARG ENABLE_DEEPEP=1 |
10 | 12 | ARG ENABLE_NIXL=1 |
11 | 13 | ARG ENABLE_CACHE=1 |
| 14 | +ARG ENABLE_SM100=0 |
12 | 15 |
|
13 | 16 | ENV PATH=/opt/conda/bin:$PATH \ |
14 | 17 | CONDA_PREFIX=/opt/conda |
@@ -44,13 +47,18 @@ WORKDIR /root |
44 | 47 |
|
45 | 48 | COPY ./requirements.txt /lightllm/requirements.txt |
46 | 49 | RUN pip install -U pip |
47 | | -RUN pip install -r /lightllm/requirements.txt --no-cache-dir |
48 | | -RUN pip install --no-cache-dir vllm==${VLLM_VERSION} |
49 | | -RUN git clone https://github.com/deepseek-ai/FlashMLA.git /root/FlashMLA && \ |
| 50 | +RUN pip install --no-cache-dir \ |
| 51 | + --extra-index-url https://download.pytorch.org/whl/cu130 \ |
| 52 | + vllm==${VLLM_VERSION} |
| 53 | +RUN pip install -r /lightllm/requirements.txt --no-cache-dir \ |
| 54 | + --extra-index-url https://download.pytorch.org/whl/cu130 |
| 55 | +RUN export CPATH=/usr/local/cuda/targets/x86_64-linux/include/cccl:/usr/local/cuda/targets/x86_64-linux/include${CPATH:+:${CPATH}} && \ |
| 56 | + git clone https://github.com/deepseek-ai/FlashMLA.git /root/FlashMLA && \ |
50 | 57 | cd /root/FlashMLA && \ |
51 | 58 | git checkout ${FLASH_MLA_REF} && \ |
52 | 59 | git submodule update --init --recursive && \ |
53 | | - FLASH_MLA_DISABLE_SM100=1 pip install --no-cache-dir . |
| 60 | + FLASH_MLA_DISABLE_SM100="$(if [ "${ENABLE_SM100}" = "1" ]; then echo 0; else echo 1; fi)" \ |
| 61 | + pip install --no-cache-dir . |
54 | 62 |
|
55 | 63 | RUN apt-get update && apt-get install -y libnuma-dev && rm -rf /var/lib/apt/lists/* |
56 | 64 |
|
@@ -78,27 +86,20 @@ RUN if [ "${ENABLE_NIXL}" = "1" ] || [ "${ENABLE_DEEPEP}" = "1" ]; then \ |
78 | 86 | RUN if [ "${ENABLE_DEEPEP}" = "1" ]; then \ |
79 | 87 | set -e; \ |
80 | 88 | ln -sf /usr/lib/x86_64-linux-gnu/libmlx5.so.1 /usr/lib/x86_64-linux-gnu/libmlx5.so; \ |
81 | | - NVSHMEM_VERSION=3.3.9; \ |
82 | | - CUDA_ARCHS=90; \ |
83 | | - wget https://developer.download.nvidia.com/compute/redist/nvshmem/${NVSHMEM_VERSION}/source/nvshmem_src_cuda12-all-all-${NVSHMEM_VERSION}.tar.gz \ |
84 | | - && tar -xf nvshmem_src_cuda12-all-all-${NVSHMEM_VERSION}.tar.gz && mv nvshmem_src nvshmem \ |
85 | | - && cd nvshmem \ |
86 | | - && rm -f /root/nvshmem_src_cuda12-all-all-${NVSHMEM_VERSION}.tar.gz \ |
87 | | - && NVSHMEM_SHMEM_SUPPORT=0 \ |
88 | | - NVSHMEM_UCX_SUPPORT=0 \ |
89 | | - NVSHMEM_USE_NCCL=0 \ |
90 | | - NVSHMEM_MPI_SUPPORT=0 \ |
91 | | - NVSHMEM_IBGDA_SUPPORT=1 \ |
92 | | - NVSHMEM_PMIX_SUPPORT=0 \ |
93 | | - NVSHMEM_TIMEOUT_DEVICE_POLLING=0 \ |
94 | | - NVSHMEM_USE_GDRCOPY=1 \ |
95 | | - cmake -S . -B build/ -DCMAKE_INSTALL_PREFIX=/root/nvshmem/install -DCMAKE_CUDA_ARCHITECTURES=${CUDA_ARCHS} \ |
96 | | - && cmake --build build --target install -j64; \ |
97 | | - DEEPEP_COMMIT=b6ce310bb0b75079682d09bc2ebc063a074fbd58; \ |
98 | | - cd /root && git clone https://github.com/deepseek-ai/DeepEP.git && cd DeepEP && git checkout ${DEEPEP_COMMIT} && cd ..; \ |
99 | | - cd /root/DeepEP && NVSHMEM_DIR=/root/nvshmem/install python setup.py install; \ |
| 89 | + python -m pip install --upgrade --no-deps \ |
| 90 | + "nvidia-nccl-cu13==2.30.4" \ |
| 91 | + "nvidia-nvshmem-cu13==3.6.5"; \ |
| 92 | + cd /root && git clone https://github.com/deepseek-ai/DeepEP.git && cd DeepEP && git checkout b306af06afd412c88e51e71802951606e40b7358; \ |
| 93 | + ln -sf /opt/conda/lib/python${PYTHON_VERSION}/site-packages/nvidia/nvshmem/lib/libnvshmem_host.so.3 /opt/conda/lib/python${PYTHON_VERSION}/site-packages/nvidia/nvshmem/lib/libnvshmem_host.so; \ |
| 94 | + ln -sf /opt/conda/lib/python${PYTHON_VERSION}/site-packages/nvidia/nccl/lib/libnccl.so.2 /opt/conda/lib/python${PYTHON_VERSION}/site-packages/nvidia/nccl/lib/libnccl.so; \ |
| 95 | + pip install --no-build-isolation .; \ |
100 | 96 | fi |
101 | 97 |
|
| 98 | +RUN cd /root && git clone https://github.com/deepseek-ai/DeepGEMM.git && \ |
| 99 | + cd DeepGEMM && git checkout ${DEEPGEMM_REF} && \ |
| 100 | + git submodule update --init --recursive && \ |
| 101 | + pip install --no-build-isolation . |
| 102 | + |
102 | 103 | RUN if [ "${ENABLE_NIXL}" = "1" ]; then \ |
103 | 104 | apt-get update && apt-get install -y cmake automake autotools-dev libtool libz-dev && \ |
104 | 105 | DEBIAN_FRONTEND=noninteractive apt-get -y install --reinstall libibverbs-dev rdma-core ibverbs-utils libibumad-dev; \ |
@@ -126,7 +127,7 @@ RUN if [ "${ENABLE_NIXL}" = "1" ]; then \ |
126 | 127 | apt-get update && apt-get install -y pkg-config tmux net-tools && \ |
127 | 128 | cd /usr/local/src; \ |
128 | 129 | pip install --upgrade meson pybind11 patchelf; \ |
129 | | - git clone https://github.com/ai-dynamo/nixl.git -b main && \ |
| 130 | + git clone https://github.com/ai-dynamo/nixl.git -b ${NIXL_REF} && \ |
130 | 131 | cd nixl && \ |
131 | 132 | rm -rf build && \ |
132 | 133 | mkdir build && \ |
|
0 commit comments