Spaces:
Sleeping
Sleeping
FROM --platform=linux/amd64 ubuntu:latest | |
ENV PIP_BREAK_SYSTEM_PACKAGES=1 | |
# Install dependencies | |
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ | |
--mount=type=cache,target=/var/lib/apt,sharing=locked \ | |
apt-get update && apt-get install -y software-properties-common && \ | |
apt-add-repository ppa:deadsnakes/ppa && \ | |
apt-get update && apt-get install -y \ | |
git \ | |
build-essential \ | |
cmake \ | |
python3-pip \ | |
python3.11-dev python3.11-distutils \ | |
wget \ | |
sudo | |
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1 | |
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.11 1 | |
RUN update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 | |
# Install requirement packages | |
COPY ./requirements.txt /tmp/requirements.txt | |
RUN --mount=type=cache,target=/root/.cache pip install --upgrade -r /tmp/requirements.txt | |
# Install llvm | |
RUN wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc | |
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ | |
--mount=type=cache,target=/var/lib/apt,sharing=locked \ | |
apt-get -y update && apt-get install -y mlir-18-tools llvm-18 | |
# IREE | |
RUN pip install \ | |
--index-url https://download.pytorch.org/whl/test/cpu torch==2.4.1 | |
RUN pip install iree-turbine | |
# Install pytorch-mlir | |
#RUN pip install --pre torch-mlir torch \ | |
# --extra-index-url https://download.pytorch.org/whl/nightly/cpu \ | |
# -f https://github.com/llvm/torch-mlir-release/releases/expanded_assets/dev-wheels | |
# Add PyTorch-MLIR tools to PATH | |
#ENV PATH="/root/.local/bin:${PATH}" | |
# Verify installations | |
RUN python -c "import torch; print(torch.__version__)" && \ | |
mlir-opt-18 --version && \ | |
llvm-as-18 --version | |
# Working directory for MLIR operations | |
#WORKDIR /workspace | |
# Set up a new user named "user" | |
RUN useradd -m -o -u 1000 user | |
# Switch to the "user" user | |
USER user | |
# Set home to the user's home directory | |
ENV HOME=/home/user \ | |
PATH=/home/user/.local/bin:$PATH | |
# Set the working directory to the user's home directory | |
WORKDIR $HOME/app | |
# Copy the current directory contents into the container at $HOME/app setting the owner to the user | |
COPY --chown=user . $HOME/app | |
CMD ["python", "main.py"] | |