2024-09-27 23:45:50 -07:00
FROM intel/oneapi-basekit:2024.2.1-0-devel-ubuntu22.04 AS vllm-base
2024-06-18 02:01:25 +08:00
RUN wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | tee /usr/share/keyrings/intel-oneapi-archive-keyring.gpg > /dev/null && \
echo "deb [signed-by=/usr/share/keyrings/intel-oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main " | tee /etc/apt/sources.list.d/oneAPI.list && \
chmod 644 /usr/share/keyrings/intel-oneapi-archive-keyring.gpg && \
wget -O- https://repositories.intel.com/graphics/intel-graphics.key | gpg --dearmor | tee /usr/share/keyrings/intel-graphics.gpg > /dev/null && \
echo "deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu jammy arc" | tee /etc/apt/sources.list.d/intel.gpu.jammy.list && \
chmod 644 /usr/share/keyrings/intel-graphics.gpg
2024-09-27 23:45:50 -07:00
RUN apt-get update -y && \
apt-get install -y --no-install-recommends --fix-missing \
curl \
ffmpeg \
git \
libsndfile1 \
libsm6 \
libxext6 \
libgl1 \
lsb-release \
numactl \
python3 \
python3-dev \
python3-pip \
# vim \
wget
2024-06-18 02:01:25 +08:00
WORKDIR /workspace/vllm
2025-03-08 17:44:35 +01:00
COPY requirements/xpu.txt /workspace/vllm/requirements/xpu.txt
COPY requirements/common.txt /workspace/vllm/requirements/common.txt
2024-06-18 02:01:25 +08:00
2024-09-23 18:44:26 +02:00
RUN --mount= type = cache,target= /root/.cache/pip \
2024-09-27 23:45:50 -07:00
pip install --no-cache-dir \
2025-03-08 17:44:35 +01:00
-r requirements/xpu.txt
2024-09-27 23:45:50 -07:00
2024-11-07 09:29:03 +08:00
RUN git clone https://github.com/intel/pti-gpu && \
cd pti-gpu/sdk && \
git checkout 6c491f07a777ed872c2654ca9942f1d0dde0a082 && \
mkdir build && \
cd build && \
cmake -DCMAKE_BUILD_TYPE= Release -DCMAKE_TOOLCHAIN_FILE= ../cmake/toolchains/icpx_toolchain.cmake -DBUILD_TESTING= OFF .. && \
make -j && \
cmake --install . --config Release --prefix "/usr/local"
ENV LD_LIBRARY_PATH = " $LD_LIBRARY_PATH :/usr/local/lib/ "
2024-10-17 19:25:06 +02:00
COPY . .
ARG GIT_REPO_CHECK
RUN --mount= type = bind,source= .git,target= .git \
if [ " $GIT_REPO_CHECK " != 0 ] ; then bash tools/check_repo.sh; fi
2024-09-27 23:45:50 -07:00
ENV VLLM_TARGET_DEVICE = xpu
2024-06-18 02:01:25 +08:00
2024-09-23 18:44:26 +02:00
RUN --mount= type = cache,target= /root/.cache/pip \
--mount= type = bind,source= .git,target= .git \
2024-09-27 23:45:50 -07:00
python3 setup.py install
2024-06-18 02:01:25 +08:00
CMD [ "/bin/bash" ]
2024-09-27 23:45:50 -07:00
FROM vllm-base AS vllm-openai
# install additional dependencies for openai api server
RUN --mount= type = cache,target= /root/.cache/pip \
pip install accelerate hf_transfer 'modelscope!=1.15.0'
ENV VLLM_USAGE_SOURCE production-docker-image \
TRITON_XPU_PROFILE 1
2024-11-26 00:20:04 -08:00
# install development dependencies (for testing)
RUN python3 -m pip install -e tests/vllm_test_utils
2024-09-27 23:45:50 -07:00
ENTRYPOINT [ "python3" , "-m" , "vllm.entrypoints.openai.api_server" ]