-
Notifications
You must be signed in to change notification settings - Fork 928
Expand file tree
/
Copy pathDockerfile
More file actions
30 lines (24 loc) · 1.19 KB
/
Dockerfile
File metadata and controls
30 lines (24 loc) · 1.19 KB
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
FROM mpioperator/base:v0.8.0 AS mpi
FROM nvidia/cuda:13.1.1-devel-ubuntu22.04
# Install libraries required for OpenMPI to work. Image installs OpenMPI 5.0.7
RUN apt update && apt install -y --no-install-recommends \
openssh-server openssh-client \
g++ libopenmpi-dev libblas-dev liblapack-dev liblapacke-dev \
python3-dev pip && rm -f /usr/bin/python && ln -s /usr/bin/python3 /usr/bin/python && rm -rf /var/lib/apt/lists/*
# Configure mpiuser and home directory.
RUN useradd -m mpiuser
WORKDIR /home/mpiuser
# Copy SSH configurations from the MPI image.
COPY --from=mpi /etc/ssh/ssh_config /etc/ssh/ssh_config
COPY --from=mpi /etc/ssh/sshd_config /etc/ssh/sshd_config
COPY --from=mpi /home/mpiuser/.sshd_config /home/mpiuser/.sshd_config
# Set home directory for mpiuser.
ENV HOME=/home/mpiuser
ENV PATH=$HOME/.local/bin:$PATH
COPY cmd/runtimes/mlx/requirements.txt .
RUN pip install --upgrade pip
RUN pip install --user -r requirements.txt
# Give mpiuser permission to download packages and HF models.
# .cache directory is used by ML frameworks to download models.
RUN chown -R mpiuser:mpiuser /home/mpiuser/.local
RUN mkdir -p /home/mpiuser/.cache && chown -R mpiuser:mpiuser /home/mpiuser/.cache