| |
|
|
| |
|
|
| |
| FROM intel/deep-learning-essentials:2025.2.2-0-devel-ubuntu24.04 |
|
|
| |
| ENV DEBIAN_FRONTEND=noninteractive |
|
|
| |
| ARG PYTHON_VERSION=3.10 |
|
|
| ARG SG_LANG_REPO=https://github.com/sgl-project/sglang.git |
| ARG SG_LANG_BRANCH=main |
|
|
| ARG SG_LANG_KERNEL_REPO=https://github.com/sgl-project/sgl-kernel-xpu.git |
| ARG SG_LANG_KERNEL_BRANCH=main |
|
|
| RUN useradd -m -d /home/sdp -s /bin/bash sdp && \ |
| chown -R sdp:sdp /home/sdp |
|
|
| |
| USER sdp |
|
|
| |
| ENV HOME=/home/sdp |
| WORKDIR /home/sdp |
|
|
| RUN curl -fsSL -v -o miniforge.sh -O https://github.com/conda-forge/miniforge/releases/download/25.1.1-0/Miniforge3-Linux-x86_64.sh && \ |
| bash miniforge.sh -b -p ./miniforge3 && \ |
| rm miniforge.sh && \ |
| |
| . ./miniforge3/bin/activate && \ |
| conda create -y -n py${PYTHON_VERSION} python=${PYTHON_VERSION} && \ |
| conda activate py${PYTHON_VERSION} && \ |
| conda install pip && \ |
| |
| echo ". /home/sdp/miniforge3/bin/activate; conda activate py${PYTHON_VERSION}; . /opt/intel/oneapi/setvars.sh; cd /home/sdp" >> /home/sdp/.bashrc |
|
|
| USER root |
| RUN apt-get update && apt install -y intel-ocloc |
|
|
| |
| USER sdp |
|
|
| RUN --mount=type=secret,id=github_token \ |
| cd /home/sdp && \ |
| . /home/sdp/miniforge3/bin/activate && \ |
| conda activate py${PYTHON_VERSION} && \ |
| pip3 install torch==2.9.0+xpu torchao torchvision torchaudio pytorch-triton-xpu==3.5.0 --index-url https://download.pytorch.org/whl/xpu |
|
|
| RUN --mount=type=secret,id=github_token \ |
| cd /home/sdp && \ |
| . /home/sdp/miniforge3/bin/activate && \ |
| conda activate py${PYTHON_VERSION} && \ |
| echo "Cloning ${SG_LANG_BRANCH} from ${SG_LANG_REPO}" && \ |
| git clone --branch ${SG_LANG_BRANCH} --single-branch ${SG_LANG_REPO} && \ |
| cd sglang && cd python && \ |
| cp pyproject_xpu.toml pyproject.toml && \ |
| pip install . && \ |
| pip install xgrammar --no-deps && \ |
| pip install msgspec blake3 py-cpuinfo compressed_tensors gguf partial_json_parser einops tabulate --root-user-action=ignore && \ |
| conda install libsqlite=3.48.0 -y && \ |
| |
| echo ". /home/sdp/miniforge3/bin/activate; conda activate py${PYTHON_VERSION}; cd /home/sdp" >> /home/sdp/.bashrc |
|
|
| |
| SHELL ["bash", "-c"] |
|
|
| |
| USER sdp |
| CMD ["bash", "-c", "source /home/sdp/.bashrc && exec bash"] |
|
|