reorganize dockerfile
This commit is contained in:
parent
f213b9a3ae
commit
170c912d71
|
@ -36,6 +36,7 @@ COPY launcher launcher
|
||||||
RUN cargo build --release
|
RUN cargo build --release
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
# Build PyTorch
|
||||||
|
|
||||||
# Python builder
|
# Python builder
|
||||||
# Adapted from: https://github.com/pytorch/pytorch/blob/master/Dockerfile
|
# Adapted from: https://github.com/pytorch/pytorch/blob/master/Dockerfile
|
||||||
|
@ -103,12 +104,15 @@ WORKDIR /pytorch
|
||||||
# Write the Pytorch version into the version.txt file because it isn't always the same as the tag we checked out
|
# Write the Pytorch version into the version.txt file because it isn't always the same as the tag we checked out
|
||||||
RUN echo $PYTORCH_VERSION > version.txt
|
RUN echo $PYTORCH_VERSION > version.txt
|
||||||
|
|
||||||
RUN /opt/conda/bin/conda install -y python=${PYTHON_VERSION} cmake ninja conda-build pyyaml numpy ipython mkl mkl-include cudnn && \
|
RUN /opt/conda/bin/conda install -y python=${PYTHON_VERSION} cmake ninja conda-build pyyaml numpy ipython && \
|
||||||
/opt/conda/bin/conda install -c pytorch magma-cuda118 && \
|
/opt/conda/bin/python -mpip install -r requirements.txt
|
||||||
/opt/conda/bin/python -mpip install -r requirements.txt && \
|
|
||||||
/opt/conda/bin/conda clean -ya
|
# Install things for building PyTorch
|
||||||
|
RUN /opt/conda/bin/conda install -y mkl mkl-include cudnn && \
|
||||||
|
/opt/conda/bin/conda install -c pytorch magma-cuda118
|
||||||
|
|
||||||
# https://github.com/cresset-template/cresset/blob/37c7b5df7236d3b9d96c4908efe5af8bc90066e3/reqs/train-conda-build.requirements.txt
|
# https://github.com/cresset-template/cresset/blob/37c7b5df7236d3b9d96c4908efe5af8bc90066e3/reqs/train-conda-build.requirements.txt
|
||||||
|
# TODO: remove what we don't need
|
||||||
RUN /opt/conda/bin/conda install -y \
|
RUN /opt/conda/bin/conda install -y \
|
||||||
jemalloc \
|
jemalloc \
|
||||||
astunparse \
|
astunparse \
|
||||||
|
@ -133,6 +137,8 @@ RUN /opt/conda/bin/conda install -y \
|
||||||
types-dataclasses \
|
types-dataclasses \
|
||||||
typing-extensions
|
typing-extensions
|
||||||
|
|
||||||
|
RUN /opt/conda/bin/conda clean -ya
|
||||||
|
|
||||||
# Use Intel OpenMP with optimizations. See the documentation for details.
|
# Use Intel OpenMP with optimizations. See the documentation for details.
|
||||||
# https://intel.github.io/intel-extension-for-pytorch/cpu/latest/tutorials/performance_tuning/tuning_guide.html
|
# https://intel.github.io/intel-extension-for-pytorch/cpu/latest/tutorials/performance_tuning/tuning_guide.html
|
||||||
# Intel OpenMP thread blocking time in ms.
|
# Intel OpenMP thread blocking time in ms.
|
||||||
|
@ -185,12 +191,10 @@ RUN python -c "import torch; exit(1 if not torch.version.cuda else 0)"
|
||||||
RUN nm -D /opt/conda/lib/python3.9/site-packages/torch/lib/libtorch.so
|
RUN nm -D /opt/conda/lib/python3.9/site-packages/torch/lib/libtorch.so
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
# Set up the kernel-builder
|
||||||
|
|
||||||
FROM pytorch-install as kernel-builder
|
FROM pytorch-install as kernel-builder
|
||||||
|
|
||||||
# Copy installed PyTorch from Conda environment
|
|
||||||
# COPY --from=pytorch-install /opt/conda /opt/conda
|
|
||||||
|
|
||||||
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||||
ninja-build \
|
ninja-build \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
@ -199,8 +203,8 @@ RUN /opt/conda/bin/conda install -c "nvidia/label/cuda-11.8.0" cuda==11.8 && \
|
||||||
/opt/conda/bin/conda clean -ya
|
/opt/conda/bin/conda clean -ya
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
|
||||||
# Build Flash Attention CUDA kernels
|
# Build Flash Attention CUDA kernels
|
||||||
|
|
||||||
FROM kernel-builder as flash-att-builder
|
FROM kernel-builder as flash-att-builder
|
||||||
WORKDIR /usr/src
|
WORKDIR /usr/src
|
||||||
COPY server/Makefile-flash-att Makefile
|
COPY server/Makefile-flash-att Makefile
|
||||||
|
@ -209,8 +213,8 @@ COPY server/Makefile-flash-att Makefile
|
||||||
RUN MAX_JOBS=5 make build-flash-attention
|
RUN MAX_JOBS=5 make build-flash-attention
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
|
||||||
# Build Flash Attention v2 CUDA kernels
|
# Build Flash Attention v2 CUDA kernels
|
||||||
|
|
||||||
FROM kernel-builder as flash-att-v2-builder
|
FROM kernel-builder as flash-att-v2-builder
|
||||||
WORKDIR /usr/src
|
WORKDIR /usr/src
|
||||||
COPY server/Makefile-flash-att-v2 Makefile
|
COPY server/Makefile-flash-att-v2 Makefile
|
||||||
|
@ -219,8 +223,8 @@ COPY server/Makefile-flash-att-v2 Makefile
|
||||||
RUN MAX_JOBS=10 make build-flash-attention-v2
|
RUN MAX_JOBS=10 make build-flash-attention-v2
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
|
||||||
# Build Transformers exllama kernels
|
# Build Transformers exllama kernels
|
||||||
|
|
||||||
FROM kernel-builder as exllama-kernels-builder
|
FROM kernel-builder as exllama-kernels-builder
|
||||||
WORKDIR /usr/src
|
WORKDIR /usr/src
|
||||||
COPY server/exllama_kernels/ .
|
COPY server/exllama_kernels/ .
|
||||||
|
@ -229,8 +233,8 @@ COPY server/exllama_kernels/ .
|
||||||
RUN TORCH_CUDA_ARCH_LIST="8.0;8.6+PTX" python setup.py build
|
RUN TORCH_CUDA_ARCH_LIST="8.0;8.6+PTX" python setup.py build
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
|
||||||
# Build Transformers CUDA kernels
|
# Build Transformers CUDA kernels
|
||||||
|
|
||||||
FROM kernel-builder as custom-kernels-builder
|
FROM kernel-builder as custom-kernels-builder
|
||||||
WORKDIR /usr/src
|
WORKDIR /usr/src
|
||||||
COPY server/custom_kernels/ .
|
COPY server/custom_kernels/ .
|
||||||
|
@ -239,8 +243,8 @@ COPY server/custom_kernels/ .
|
||||||
RUN MAX_JOBS=5 python setup.py build
|
RUN MAX_JOBS=5 python setup.py build
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
|
||||||
# Build vllm CUDA kernels
|
# Build vllm CUDA kernels
|
||||||
|
|
||||||
FROM kernel-builder as vllm-builder
|
FROM kernel-builder as vllm-builder
|
||||||
WORKDIR /usr/src
|
WORKDIR /usr/src
|
||||||
COPY server/Makefile-vllm Makefile
|
COPY server/Makefile-vllm Makefile
|
||||||
|
@ -308,6 +312,8 @@ RUN cd server && \
|
||||||
pip install ".[bnb, accelerate, quantize]" --no-cache-dir && \
|
pip install ".[bnb, accelerate, quantize]" --no-cache-dir && \
|
||||||
pip install optimum auto-gptq
|
pip install optimum auto-gptq
|
||||||
|
|
||||||
|
RUN /opt/conda/bin/conda clean -ya
|
||||||
|
|
||||||
# Fix the error
|
# Fix the error
|
||||||
# /opt/conda/lib/python3.9/site-packages/bitsandbytes/libbitsandbytes_cpu.so: undefined symbol: cadam32bit_grad_fp32
|
# /opt/conda/lib/python3.9/site-packages/bitsandbytes/libbitsandbytes_cpu.so: undefined symbol: cadam32bit_grad_fp32
|
||||||
RUN cp /opt/conda/lib/python3.9/site-packages/bitsandbytes/libbitsandbytes_cuda118.so /opt/conda/lib/python3.9/site-packages/bitsandbytes/libbitsandbytes_cpu.so
|
RUN cp /opt/conda/lib/python3.9/site-packages/bitsandbytes/libbitsandbytes_cuda118.so /opt/conda/lib/python3.9/site-packages/bitsandbytes/libbitsandbytes_cpu.so
|
||||||
|
|
Loading…
Reference in New Issue