53 lines
2.2 KiB
Plaintext
53 lines
2.2 KiB
Plaintext
ARG CUDA_VERSION="11.8.0"
|
|
ARG CUDNN_VERSION="8"
|
|
ARG UBUNTU_VERSION="22.04"
|
|
ARG MAX_JOBS=4
|
|
|
|
FROM nvidia/cuda:$CUDA_VERSION-cudnn$CUDNN_VERSION-devel-ubuntu$UBUNTU_VERSION AS base-builder
|
|
|
|
ENV PATH="/root/miniconda3/bin:${PATH}"
|
|
|
|
ARG PYTHON_VERSION="3.10"
|
|
ARG PYTORCH_VERSION="2.1.2"
|
|
ARG CUDA="118"
|
|
ARG TORCH_CUDA_ARCH_LIST="7.0 7.5 8.0 8.6 9.0+PTX"
|
|
|
|
ENV PYTHON_VERSION=$PYTHON_VERSION
|
|
ENV TORCH_CUDA_ARCH_LIST=$TORCH_CUDA_ARCH_LIST
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
wget git build-essential ninja-build git-lfs libaio-dev pkg-config \
|
|
ibverbs-providers ibverbs-utils infiniband-diags \
|
|
librdmacm-dev librdmacm1 rdmacm-utils slurm-wlm \
|
|
&& rm -rf /var/cache/apt/archives \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& wget \
|
|
https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
|
|
&& mkdir /root/.conda \
|
|
&& bash Miniconda3-latest-Linux-x86_64.sh -b \
|
|
&& rm -f Miniconda3-latest-Linux-x86_64.sh \
|
|
&& conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main \
|
|
&& conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r \
|
|
&& conda create -n "py${PYTHON_VERSION}" python="${PYTHON_VERSION}"
|
|
|
|
ENV PATH="/root/miniconda3/envs/py${PYTHON_VERSION}/bin:${PATH}"
|
|
|
|
WORKDIR /workspace
|
|
|
|
RUN python3 -m pip install --upgrade pip && pip3 install -U packaging==23.2 setuptools==75.8.0 wheel && \
|
|
python3 -m pip install --no-cache-dir -U torch==${PYTORCH_VERSION}+cu${CUDA} torchvision --extra-index-url https://download.pytorch.org/whl/cu$CUDA && \
|
|
CAUSAL_CONV1D_FORCE_CXX11_ABI=TRUE CAUSAL_CONV1D_FORCE_BUILD=TRUE python3 -m pip install --no-cache-dir causal_conv1d==1.5.2 && \
|
|
python3 -m pip install --no-cache-dir "mamba_ssm @ git+https://github.com/state-spaces/mamba.git@main" && \
|
|
python3 -m pip cache purge
|
|
|
|
RUN git lfs install --skip-repo && \
|
|
pip3 install awscli && \
|
|
# The base image ships with `pydantic==1.8.2` which is not working
|
|
pip3 install -U --no-cache-dir pydantic==1.10.10 && \
|
|
pip3 cache purge
|
|
|
|
RUN if [ "$PYTORCH_VERSION" = "2.6.0" ] && [ "$CUDA" = "124" ] ; then \
|
|
FLASH_ATTENTION_FORCE_BUILD="TRUE" pip3 install --no-build-isolation flash-attn==2.8.0.post2; \
|
|
fi
|