|
1 |
| -FROM --platform=linux/amd64 ubuntu:22.04 as build-image |
| 1 | +FROM --platform=linux/amd64 ubuntu:22.04 as base-image |
2 | 2 |
|
3 | 3 | RUN apt-get update && apt-get install -y pkg-config wget libssl-dev ca-certificates protobuf-compiler \
|
4 | 4 | && rm -rf /var/lib/apt/lists/*
|
@@ -46,3 +46,29 @@ RUN cd /tmp \
|
46 | 46 | --with-nccl=/tmp/nccl/build \
|
47 | 47 | --with-mpi=/opt/amazon/openmpi/ \
|
48 | 48 | && make && make install
|
| 49 | + |
| 50 | + |
| 51 | +# Runtime Image |
| 52 | +FROM --platform=linux/amd64 ubuntu:22.04 as build-image |
| 53 | + |
| 54 | +RUN apt-get update && apt-get install -y pkg-config wget |
| 55 | + |
| 56 | +RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb \ |
| 57 | + && dpkg -i cuda-keyring_1.1-1_all.deb \ |
| 58 | + && apt-get update \ |
| 59 | + && apt-get install -y cuda-libraries-12-2 libnccl2=2.22.3-1+cuda12.2 libnccl-dev=2.22.3-1+cuda12.2 \ |
| 60 | + && rm -f cuda-keyring_1.1-1_all.deb |
| 61 | + |
| 62 | +# Set environment variables for runtime |
| 63 | +ENV LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:/opt/aws-ofi-nccl/install/lib:/usr/local/cuda/lib64:$LD_LIBRARY_PATH |
| 64 | +ENV PATH=/opt/aws-ofi-nccl/install/bin:/usr/local/cuda/bin:$PATH |
| 65 | + |
| 66 | +# Copy necessary files from build stage |
| 67 | +COPY --from=base-image /opt/gdrcopy /opt/gdrcopy |
| 68 | +COPY --from=base-image /opt/aws-ofi-nccl/install /opt/aws-ofi-nccl/install |
| 69 | +COPY --from=base-image /opt/amazon/efa /opt/amazon/efa |
| 70 | + |
| 71 | +ENV LD_LIBRARY_PATH=/opt/gdrcopy/lib:/usr/local/cuda/compat:$LD_LIBRARY_PATH |
| 72 | +ENV LIBRARY_PATH=/opt/gdrcopy/lib:/usr/local/cuda/compat/:$LIBRARY_PATH |
| 73 | +ENV CPATH=/opt/gdrcopy/include:$CPATH |
| 74 | +ENV PATH=/opt/gdrcopy/bin:$PATH |
0 commit comments