Skip to content

Commit ff628b1

Browse files
committed
rocshmem dependencies
1 parent f8f0460 commit ff628b1

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

docker/amd-docker.Dockerfile

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,58 @@ RUN sudo pip install \
5757
packaging \
5858
wheel \
5959
tinygrad
60+
61+
RUN sudo apt-get update -y \
62+
&& sudo apt-get install -y --no-install-recommends \
63+
autoconf \
64+
automake \
65+
libtool \
66+
pkg-config \
67+
build-essential \
68+
gfortran \
69+
flex \
70+
bison \
71+
&& sudo rm -rf /var/lib/apt/lists/*
72+
73+
ENV UCX_INSTALL_DIR=/opt/ucx
74+
ENV OMPI_INSTALL_DIR=/opt/openmpi
75+
ENV ROCSHMEM_INSTALL_DIR=/opt/rocshmem
76+
ENV ROCM_PATH=/opt/rocm
77+
78+
RUN cd /tmp \
79+
&& git clone https://github.com/openucx/ucx.git -b v1.17.x \
80+
&& cd ucx \
81+
&& ./autogen.sh \
82+
&& ./configure --prefix=${UCX_INSTALL_DIR} --with-rocm=${ROCM_PATH} --enable-mt \
83+
&& make -j$(nproc) \
84+
&& sudo make install \
85+
&& cd / \
86+
&& sudo rm -rf /tmp/ucx
87+
88+
RUN cd /tmp \
89+
&& git clone --recursive https://github.com/open-mpi/ompi.git -b v5.0.x \
90+
&& cd ompi \
91+
&& ./autogen.pl \
92+
&& ./configure --prefix=${OMPI_INSTALL_DIR} --with-rocm=${ROCM_PATH} --with-ucx=${UCX_INSTALL_DIR} \
93+
&& make -j$(nproc) \
94+
&& sudo make install \
95+
&& cd / \
96+
&& sudo rm -rf /tmp/ompi
97+
98+
ENV PATH="${OMPI_INSTALL_DIR}/bin:${PATH}"
99+
ENV LD_LIBRARY_PATH="${OMPI_INSTALL_DIR}/lib:${UCX_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}"
100+
101+
102+
RUN cd /tmp \
103+
&& git clone https://github.com/ROCm/rocSHMEM.git \
104+
&& cd rocSHMEM \
105+
&& mkdir build \
106+
&& cd build \
107+
&& MPI_ROOT=${OMPI_INSTALL_DIR} UCX_ROOT=${UCX_INSTALL_DIR} CMAKE_PREFIX_PATH="${ROCM_PATH}:$CMAKE_PREFIX_PATH" \
108+
../scripts/build_configs/ipc_single ${ROCSHMEM_INSTALL_DIR} \
109+
&& cd / \
110+
&& sudo rm -rf /tmp/rocSHMEM
111+
112+
113+
ENV ROCSHMEM_INSTALL_DIR=${ROCSHMEM_INSTALL_DIR}
114+
ENV LD_LIBRARY_PATH="${ROCSHMEM_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}"

0 commit comments

Comments
 (0)