|
4 | 4 | ############################################################## |
5 | 5 |
|
6 | 6 | ARG ROCM_VERSION=6.3.2 |
| 7 | +ARG FROM_IMAGE=ubuntu:22.04 |
7 | 8 |
|
| 9 | +FROM $base AS ubuntu-base |
8 | 10 | FROM rocm/dev-ubuntu-22.04:${ROCM_VERSION}-complete AS sdk-base |
9 | 11 |
|
| 12 | +ENV DEBIAN_FRONTEND=noninteractive |
| 13 | + |
| 14 | +# Base may be specified with the nogil base image to provide Python |
| 15 | +COPY --from=ubuntu-base /opt /opt |
| 16 | +ENV PATH="/opt/python3/bin:${PATH}" |
| 17 | + |
10 | 18 | ARG UCX_BRANCH="v1.16.0" |
11 | 19 | ARG OMPI_BRANCH="v5.0.x" |
12 | 20 |
|
13 | 21 | # Update and Install basic Linux development tools |
14 | 22 | RUN rm /etc/apt/sources.list.d/* \ |
15 | 23 | && apt-get update \ |
16 | | - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ |
17 | | - dh-autoreconf python3-venv python3-dev python3-pip git \ |
| 24 | + && apt-get install -y --no-install-recommends \ |
| 25 | + dh-autoreconf git \ |
18 | 26 | ca-certificates ssh make libtinfo* initramfs-tools libelf-dev \ |
19 | 27 | wget build-essential autoconf automake libtool \ |
20 | | - pkg-config libnuma* gfortran flex hwloc cmake |
| 28 | + pkg-config libnuma* gfortran flex hwloc cmake && \ |
| 29 | + if [ ! -d "/opt/python3" ]; then \ |
| 30 | + apt-get install -y --no-install-recommends \ |
| 31 | + python3-venv python3-dev python3-pip; \ |
| 32 | + else \ |
| 33 | + echo "Using free-threaded Python build"; \ |
| 34 | + fi; |
21 | 35 |
|
22 | 36 | ENV ROCM_HOME=/opt/rocm\ |
23 | 37 | UCX_HOME=/opt/ucx \ |
@@ -84,8 +98,8 @@ RUN rm -rf /tmp/ucx && rm -rf /tmp/ompi |
84 | 98 | # Adding OpenMPI and UCX to Environment |
85 | 99 | ENV PATH=$OMPI_HOME/bin:$UCX_HOME/bin:$PATH \ |
86 | 100 | LD_LIBRARY_PATH=$OMPI_HOME/lib:$UCX_HOME/lib:$LD_LIBRARY_PATH \ |
87 | | - C_INCLUDE_PATH=$OMPI_HOME/include:$UCX_HOME/include:$C_INCLUDE_PATH \ |
88 | | - CPLUS_INCLUDE_PATH=$OMPI_HOME/include:$UCX_HOME/include:$CPLUS_INCLUDE_PATH \ |
| 101 | + C_INCLUDE_PATH=$OMPI_HOME/include:$UCX_HOME/include:$C_INCLUDE_PATH \ |
| 102 | + CPLUS_INCLUDE_PATH=$OMPI_HOME/include:$UCX_HOME/include:$CPLUS_INCLUDE_PATH \ |
89 | 103 | CPATH=$OMPI_HOME/include:$UCX_HOME/include:$CPATH \ |
90 | 104 | INCLUDE=$OMPI_HOME/include:$UCX_HOME/include:$INCLUDE \ |
91 | 105 | PKG_CONFIG_PATH=$OMPI_HOME/lib/pkgconfig:$UCX_HOME/lib/pkgconfig:$PKG_CONFIG_PATH |
|
0 commit comments