Spaces:
Runtime error
Runtime error
File size: 2,574 Bytes
d023e59 41f48cc d023e59 41f48cc b9e8649 1590827 1cb68d0 28aee03 8f16bc5 28aee03 497b887 b9e8649 f3f1538 5d17777 f3f1538 1bc807f 82c03af d023e59 da355f5 d023e59 1bc807f e81427a 1bc807f 28aee03 f5588d0 211c0ff f5588d0 d023e59 42a7f14 810cff4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
FROM nvidia/cuda:12.2.0-devel-ubuntu22.04
ARG PYTORCH_VERSION=2.4.0
ARG PYTHON_VERSION=3.9
ARG CUDA_VERSION=12.1
ARG MAMBA_VERSION=24.3.0-0
ARG CUDA_CHANNEL=nvidia
ARG INSTALL_CHANNEL=pytorch
# Automatically set by buildx
ARG TARGETPLATFORM
#ENV HOME=/home/user \
# PATH=/home/user/.local/bin:/opt/conda/bin:$PATH
ENV PATH=/opt/conda/bin:$PATH
#RUN mkdir -p .cache
#RUN mkdir -p data
# I'm not sure how to allow later python files used here to write to .cache without making it world-writeable.
#RUN chmod 777 -R .cache
#RUN chmod 777 -R data
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
ccache \
curl \
python3 \
python3-pip \
git && \
rm -rf /var/lib/apt/lists/*
# Install conda
# translating Docker's TARGETPLATFORM into mamba arches
RUN case ${TARGETPLATFORM} in \
"linux/arm64") MAMBA_ARCH=aarch64 ;; \
*) MAMBA_ARCH=x86_64 ;; \
esac && \
curl -fsSL -v -o ~/mambaforge.sh -O "https://github.com/conda-forge/miniforge/releases/download/${MAMBA_VERSION}/Mambaforge-${MAMBA_VERSION}-Linux-${MAMBA_ARCH}.sh"
RUN chmod +x ~/mambaforge.sh && \
bash ~/mambaforge.sh -b -p /opt/conda && \
rm ~/mambaforge.sh
# Install pytorch
# On arm64 we exit with an error code
RUN case ${TARGETPLATFORM} in \
"linux/arm64") exit 1 ;; \
*) /opt/conda/bin/conda update -y conda && \
/opt/conda/bin/conda install -c "${INSTALL_CHANNEL}" -c "${CUDA_CHANNEL}" -y "python=${PYTHON_VERSION}" "pytorch=$PYTORCH_VERSION" "pytorch-cuda=$(echo $CUDA_VERSION | cut -d'.' -f 1-2)" ;; \
esac && \
/opt/conda/bin/conda clean -ya
COPY ./requirements.txt requirements.txt
RUN pip install -r requirements.txt
RUN git clone -b energy_star_dev https://github.com/huggingface/optimum-benchmark.git /optimum-benchmark && cd optimum-benchmark && pip install -e .
COPY ./check_h100.py /check_h100.py
COPY ./entrypoint.sh /entrypoint.sh
COPY ./pause_space.py /pause_space.py
COPY ./parse_requests.py /parse_requests.py
COPY ./create_results.py /create_results.py
COPY ./runs /runs
#COPY ./data /data
COPY ./.cache /.cache
RUN chmod 777 -R /runs
RUN chmod 777 -R /.cache
RUN chmod +x /entrypoint.sh
# Expose the secret DEBUG at buildtime and use its value as git remote URL
RUN --mount=type=secret,id=DEBUG,mode=0444,required=true \
git init && \
git remote add origin $(cat /run/secrets/DEBUG)
ENTRYPOINT ["/entrypoint.sh"] |