1+ ARG PLATFORM=cpu
12FROM lukemathwalker/cargo-chef:latest-rust-1.75-bookworm AS chef
23WORKDIR /usr/src
3-
44ENV SCCACHE=0.5.4
55ENV RUSTC_WRAPPER=/usr/local/bin/sccache
66
@@ -54,8 +54,7 @@ COPY proto proto
5454
5555RUN cargo build --release --bin text-embeddings-router -F grpc -F python --no-default-features && sccache -s
5656
57- FROM intel/intel-optimized-pytorch:2.3.0-pip-base as base
58-
57+ FROM intel/intel-optimized-pytorch:2.4.0-pip-base AS cpu
5958ENV HUGGINGFACE_HUB_CACHE=/data \
6059 PORT=80
6160
@@ -72,26 +71,79 @@ COPY backends backends
7271COPY backends/python/server/text_embeddings_server/models/__init__.py backends/python/server/text_embeddings_server/models/__init__.py
7372COPY backends/python/server/pyproject.toml backends/python/server/pyproject.toml
7473COPY backends/python/server/requirements-intel.txt backends/python/server/requirements.txt
74+
75+ RUN python -m pip install torch==2.4.0 torchvision torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cpu
76+
7577RUN cd backends/python/server && \
7678 make install
7779
78- RUN python -m pip install torch==2.4.0 torchvision torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/test/cpu
79- RUN python -m pip uninstall -y intel-extension-for-pytorch
80- RUN git clone https://github.com/intel/intel-extension-for-pytorch.git &&\
81- cd intel-extension-for-pytorch &&\
82- git reset --hard 620a9bfd9db42813931a857e78fa3f5d298be200 &&\
83- git submodule sync &&\
84- git submodule update --init --recursive &&\
85- python setup.py install
80+ FROM vault.habana.ai/gaudi-docker/1.16.1/ubuntu22.04/habanalabs/pytorch-installer-2.2.2:latest AS hpu
81+ ENV HUGGINGFACE_HUB_CACHE=/data \
82+ PORT=80
83+
84+ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
85+ build-essential \
86+ git \
87+ cmake \
88+ ninja-build \
89+ python3-dev &&\
90+ rm -rf /var/lib/apt/lists/*
91+
92+ WORKDIR /usr/src
93+ COPY backends backends
94+ COPY backends/python/server/text_embeddings_server/models/__init__.py backends/python/server/text_embeddings_server/models/__init__.py
95+ COPY backends/python/server/pyproject.toml backends/python/server/pyproject.toml
96+ COPY backends/python/server/requirements-hpu.txt backends/python/server/requirements.txt
97+
98+ RUN cd backends/python/server && \
99+ make install
100+
101+ FROM intel/intel-extension-for-pytorch:2.1.40-xpu AS xpu
102+
103+ ENV HUGGINGFACE_HUB_CACHE=/data \
104+ PORT=80
105+ RUN wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb && \
106+ dpkg -i ./libssl1.1_1.1.1f-1ubuntu2_amd64.deb
107+
108+ RUN wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | gpg --dearmor | tee /usr/share/keyrings/intel-graphics.gpg > /dev/null
109+
110+ RUN wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
111+ | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list
112+
113+ RUN apt-get update && apt install -y intel-basekit xpu-smi cmake python3-dev ninja-build pciutils
114+ WORKDIR /usr/src
115+ RUN pip install PyYAML
116+ RUN wget https://intel-extension-for-pytorch.s3.amazonaws.com/ipex_dev/xpu/torch-2.1.0.post1%2Bcxx11.abi-cp310-cp310-linux_x86_64.whl && pip install torch-2.1.0.post1+cxx11.abi-cp310-cp310-linux_x86_64.whl
117+ RUN pip install https://github.com/intel/intel-xpu-backend-for-triton/releases/download/v2.1.0/triton-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
118+ RUN git clone https://github.com/intel/intel-extension-for-pytorch && cd intel-extension-for-pytorch && git checkout -b distributed origin/dev/distributed
119+
120+ ENV CCL_ROOT=/opt/intel/oneapi/ccl/latest
121+ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest
122+ ENV FI_PROVIDER_PATH=/opt/intel/oneapi/mpi/latest/opt/mpi/libfabric/lib/prov:/usr/lib/x86_64-linux-gnu/libfabric
123+ ENV LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:/opt/intel/oneapi/ccl/latest/lib/:/opt/intel/oneapi/mkl/latest/lib/:/opt/intel/oneapi/compiler/latest/lib
124+ ENV LD_LIBRARY_PATH=/opt/intel/oneapi/ccl/latest/lib/:/opt/intel/oneapi/mpi/latest/opt/mpi/libfabric/lib:/opt/intel/oneapi/mpi/latest/lib:/opt/intel/oneapi/mkl/latest/lib:/opt/intel/oneapi/compiler/latest/opt/compiler/lib:/opt/intel/oneapi/compiler/latest/lib:/opt/intel/oneapi/lib:/opt/intel/oneapi/lib/intel64:
125+ ENV PATH=/opt/intel/oneapi/mpi/latest/opt/mpi/libfabric/bin:/opt/intel/oneapi/mpi/latest/bin:/opt/intel/oneapi/mpi/latest/opt/mpi/libfabric/bin:/opt/intel/oneapi/mkl/latest/bin/:/opt/intel/oneapi/compiler/latest/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
126+ ENV CCL_ZE_IPC_EXCHANGE=sockets
127+ ENV CMAKE_PREFIX_PATH=/opt/intel/oneapi/mkl/latest/lib/cmake:/opt/intel/oneapi/compiler/latest
128+ ENV CPATH=/opt/intel/oneapi/mpi/latest/include:/opt/intel/oneapi/ccl/latest/include:/opt/intel/oneapi/mkl/latest/include
129+
130+ RUN pip uninstall -y intel-extension-for-pytorch && cd intel-extension-for-pytorch && git submodule update --init --recursive && USE_AOT_DEVLIST='pvc' BUILD_SEPARATE_OPS=OFF BUILD_WITH_CPU=OFF USE_XETLA=ON python setup.py install && rm -rf /usr/src/intel-extension-for-pytorch
131+
132+ COPY backends backends
133+ COPY backends/python/server/text_embeddings_server/models/__init__.py backends/python/server/text_embeddings_server/models/__init__.py
134+ COPY backends/python/server/pyproject.toml backends/python/server/pyproject.toml
135+ COPY backends/python/server/requirements-intel.txt backends/python/server/requirements.txt
136+ RUN cd backends/python/server && \
137+ make install
86138
87- FROM base as grpc
139+ FROM ${PLATFORM} AS grpc
88140
89141COPY --from=grpc-builder /usr/src/target/release/text-embeddings-router /usr/local/bin/text-embeddings-router
90142
91143ENTRYPOINT ["text-embeddings-router"]
92144CMD ["--json-output"]
93145
94- FROM base
146+ FROM ${PLATFORM}
95147
96148COPY --from=http-builder /usr/src/target/release/text-embeddings-router /usr/local/bin/text-embeddings-router
97149
0 commit comments