mirror of
https://git.datalinker.icu/vllm-project/vllm.git
synced 2025-12-11 07:25:01 +08:00
[Hardware][IBM Z] Fix Outlines Core issue for s390x (#24034)
Signed-off-by: Rehan Khan <Rehan.Khan7@ibm.com>
This commit is contained in:
parent
e680723eba
commit
e10fef0883
@ -16,7 +16,8 @@ ENV LANG=C.UTF-8 \
|
|||||||
RUN microdnf install -y \
|
RUN microdnf install -y \
|
||||||
which procps findutils tar vim git gcc gcc-gfortran g++ make patch zlib-devel \
|
which procps findutils tar vim git gcc gcc-gfortran g++ make patch zlib-devel \
|
||||||
libjpeg-turbo-devel libtiff-devel libpng-devel libwebp-devel freetype-devel harfbuzz-devel \
|
libjpeg-turbo-devel libtiff-devel libpng-devel libwebp-devel freetype-devel harfbuzz-devel \
|
||||||
openssl-devel openblas openblas-devel autoconf automake libtool cmake numpy libsndfile && \
|
openssl-devel openblas openblas-devel autoconf automake libtool cmake numpy libsndfile \
|
||||||
|
clang llvm-devel llvm-static clang-devel && \
|
||||||
microdnf clean all
|
microdnf clean all
|
||||||
|
|
||||||
# Python Installation
|
# Python Installation
|
||||||
@ -191,7 +192,6 @@ RUN --mount=type=cache,target=/root/.cache/uv \
|
|||||||
-DCOMPILER_RT_BUILD_ORC=OFF \
|
-DCOMPILER_RT_BUILD_ORC=OFF \
|
||||||
-DCOMPILER_RT_INCLUDE_TESTS=OFF \
|
-DCOMPILER_RT_INCLUDE_TESTS=OFF \
|
||||||
${CMAKE_ARGS} -GNinja ../llvm \
|
${CMAKE_ARGS} -GNinja ../llvm \
|
||||||
|
|
||||||
&& ninja install . && \
|
&& ninja install . && \
|
||||||
# build llvmlite
|
# build llvmlite
|
||||||
cd ../../llvmlite && python setup.py bdist_wheel && \
|
cd ../../llvmlite && python setup.py bdist_wheel && \
|
||||||
@ -200,6 +200,45 @@ RUN --mount=type=cache,target=/root/.cache/uv \
|
|||||||
sed -i '/#include "internal\/pycore_atomic.h"/i\#include "dynamic_annotations.h"' numba/_dispatcher.cpp; \
|
sed -i '/#include "internal\/pycore_atomic.h"/i\#include "dynamic_annotations.h"' numba/_dispatcher.cpp; \
|
||||||
fi && python setup.py bdist_wheel
|
fi && python setup.py bdist_wheel
|
||||||
|
|
||||||
|
# Edit aws-lc-sys to support s390x
|
||||||
|
FROM python-install AS aws-lc-sys-editor
|
||||||
|
WORKDIR /tmp
|
||||||
|
ENV CARGO_HOME=/root/.cargo
|
||||||
|
ENV RUSTUP_HOME=/root/.rustup
|
||||||
|
ENV PATH="$CARGO_HOME/bin:$RUSTUP_HOME/bin:$PATH"
|
||||||
|
ARG AWS_LC_VERSION=v0.30.0
|
||||||
|
RUN --mount=type=cache,target=/root/.cache/uv \
|
||||||
|
--mount=type=bind,from=rust,source=/root/.cargo,target=/root/.cargo,rw \
|
||||||
|
--mount=type=bind,from=rust,source=/root/.rustup,target=/root/.rustup,rw \
|
||||||
|
git clone --recursive https://github.com/aws/aws-lc-rs.git && \
|
||||||
|
cd aws-lc-rs && \
|
||||||
|
git checkout tags/aws-lc-sys/${AWS_LC_VERSION} && \
|
||||||
|
git submodule sync && \
|
||||||
|
git submodule update --init --recursive && \
|
||||||
|
cd aws-lc-sys && \
|
||||||
|
sed -i '682 s/strncmp(buf, "-----END ", 9)/memcmp(buf, "-----END ", 9)/' aws-lc/crypto/pem/pem_lib.c && \
|
||||||
|
sed -i '712 s/strncmp(buf, "-----END ", 9)/memcmp(buf, "-----END ", 9)/' aws-lc/crypto/pem/pem_lib.c && \
|
||||||
|
sed -i '747 s/strncmp(buf, "-----END ", 9)/memcmp(buf, "-----END ", 9)/' aws-lc/crypto/pem/pem_lib.c
|
||||||
|
|
||||||
|
# Build Outlines Core
|
||||||
|
FROM python-install AS outlines-core-builder
|
||||||
|
WORKDIR /tmp
|
||||||
|
ENV CARGO_HOME=/root/.cargo
|
||||||
|
ENV RUSTUP_HOME=/root/.rustup
|
||||||
|
ENV PATH="$CARGO_HOME/bin:$RUSTUP_HOME/bin:$PATH"
|
||||||
|
ARG OUTLINES_CORE_VERSION=0.2.10
|
||||||
|
RUN --mount=type=cache,target=/root/.cache/uv \
|
||||||
|
--mount=type=bind,from=rust,source=/root/.cargo,target=/root/.cargo,rw \
|
||||||
|
--mount=type=bind,from=rust,source=/root/.rustup,target=/root/.rustup,rw \
|
||||||
|
--mount=type=bind,from=aws-lc-sys-editor,source=/tmp/aws-lc-rs/aws-lc-sys,target=/tmp/aws-lc-sys,rw \
|
||||||
|
git clone https://github.com/dottxt-ai/outlines-core.git && \
|
||||||
|
cd outlines-core && \
|
||||||
|
git checkout tags/${OUTLINES_CORE_VERSION} && \
|
||||||
|
sed -i "s/version = \"0.0.0\"/version = \"${OUTLINES_CORE_VERSION}\"/" Cargo.toml && \
|
||||||
|
echo '[patch.crates-io]' >> Cargo.toml && \
|
||||||
|
echo 'aws-lc-sys = { path = "/tmp/aws-lc-sys" }' >> Cargo.toml && \
|
||||||
|
uv pip install maturin && \
|
||||||
|
python -m maturin build --release --out dist
|
||||||
|
|
||||||
# Final build stage
|
# Final build stage
|
||||||
FROM python-install AS vllm-cpu
|
FROM python-install AS vllm-cpu
|
||||||
@ -230,6 +269,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
|
|||||||
--mount=type=bind,from=torch,source=/tmp/pytorch/dist,target=/tmp/torch-wheels/ \
|
--mount=type=bind,from=torch,source=/tmp/pytorch/dist,target=/tmp/torch-wheels/ \
|
||||||
--mount=type=bind,from=numba-builder,source=/tmp/llvmlite/dist,target=/tmp/llvmlite-wheels/ \
|
--mount=type=bind,from=numba-builder,source=/tmp/llvmlite/dist,target=/tmp/llvmlite-wheels/ \
|
||||||
--mount=type=bind,from=numba-builder,source=/tmp/numba/dist,target=/tmp/numba-wheels/ \
|
--mount=type=bind,from=numba-builder,source=/tmp/numba/dist,target=/tmp/numba-wheels/ \
|
||||||
|
--mount=type=bind,from=outlines-core-builder,source=/tmp/outlines-core/dist,target=/tmp/outlines-core/dist/ \
|
||||||
sed -i '/^torch/d' requirements/build.txt && \
|
sed -i '/^torch/d' requirements/build.txt && \
|
||||||
ARROW_WHL_FILE=$(ls /tmp/arrow-wheels/pyarrow-*.whl) && \
|
ARROW_WHL_FILE=$(ls /tmp/arrow-wheels/pyarrow-*.whl) && \
|
||||||
VISION_WHL_FILE=$(ls /tmp/vision-wheels/*.whl) && \
|
VISION_WHL_FILE=$(ls /tmp/vision-wheels/*.whl) && \
|
||||||
@ -237,6 +277,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
|
|||||||
TORCH_WHL_FILE=$(ls /tmp/torch-wheels/*.whl) && \
|
TORCH_WHL_FILE=$(ls /tmp/torch-wheels/*.whl) && \
|
||||||
LLVM_WHL_FILE=$(ls /tmp/llvmlite-wheels/*.whl) && \
|
LLVM_WHL_FILE=$(ls /tmp/llvmlite-wheels/*.whl) && \
|
||||||
NUMBA_WHL_FILE=$(ls /tmp/numba-wheels/*.whl) && \
|
NUMBA_WHL_FILE=$(ls /tmp/numba-wheels/*.whl) && \
|
||||||
|
OUTLINES_CORE_WHL_FILE=$(ls /tmp/outlines-core/dist/*.whl) && \
|
||||||
uv pip install -v \
|
uv pip install -v \
|
||||||
$ARROW_WHL_FILE \
|
$ARROW_WHL_FILE \
|
||||||
$VISION_WHL_FILE \
|
$VISION_WHL_FILE \
|
||||||
@ -244,6 +285,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
|
|||||||
$TORCH_WHL_FILE \
|
$TORCH_WHL_FILE \
|
||||||
$LLVM_WHL_FILE \
|
$LLVM_WHL_FILE \
|
||||||
$NUMBA_WHL_FILE \
|
$NUMBA_WHL_FILE \
|
||||||
|
$OUTLINES_CORE_WHL_FILE \
|
||||||
--index-strategy unsafe-best-match \
|
--index-strategy unsafe-best-match \
|
||||||
-r requirements/build.txt \
|
-r requirements/build.txt \
|
||||||
-r requirements/cpu.txt
|
-r requirements/cpu.txt
|
||||||
|
|||||||
@ -20,8 +20,7 @@ prometheus-fastapi-instrumentator >= 7.0.0
|
|||||||
tiktoken >= 0.6.0 # Required for DBRX tokenizer
|
tiktoken >= 0.6.0 # Required for DBRX tokenizer
|
||||||
lm-format-enforcer == 0.11.3
|
lm-format-enforcer == 0.11.3
|
||||||
llguidance >= 0.7.11, < 0.8.0; platform_machine == "x86_64" or platform_machine == "arm64" or platform_machine == "aarch64"
|
llguidance >= 0.7.11, < 0.8.0; platform_machine == "x86_64" or platform_machine == "arm64" or platform_machine == "aarch64"
|
||||||
outlines_core == 0.2.10 ; platform_machine != "s390x"
|
outlines_core == 0.2.10
|
||||||
outlines == 0.1.11 ; platform_machine == "s390x"
|
|
||||||
# required for outlines backend disk cache
|
# required for outlines backend disk cache
|
||||||
diskcache == 5.6.3
|
diskcache == 5.6.3
|
||||||
lark == 1.2.2
|
lark == 1.2.2
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user