FROM simnet:21.06 MAINTAINER My Name ARG http_proxy ARG https_proxy ARG no_proxy ADD Container-Root / RUN export http_proxy=$http_proxy; export https_proxy=$https_proxy; export no_proxy=$no_proxy; /setup.sh CMD /startup.sh ARG EFA_INSTALLER_VERSION=latest ARG AWS_OFI_NCCL_VERSION=aws ARG NCCL_TESTS_VERSION=v2.0.0 RUN apt-get update -y RUN apt-get remove -y --allow-change-held-packages \ libmlx5-1 ibverbs-utils libibverbs-dev libibverbs1 \ libnccl2 libnccl-dev RUN apt-get install -y --allow-unauthenticated \ git \ gcc \ vim \ kmod \ openssh-client \ openssh-server \ build-essential \ curl \ autoconf \ libtool \ gdb \ automake \ python3-distutils \ cmake ENV HOME /tmp RUN mkdir -p /var/run/sshd RUN echo " UserKnownHostsFile /dev/null" >> /etc/ssh/ssh_config && \ sed -i 's/#\(StrictModes \).*/\1no/g' /etc/ssh/sshd_config ENV LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:/opt/amazon/openmpi/lib:/opt/nccl/build/lib:/opt/amazon/efa/lib:/opt/aws-ofi-nccl/install/lib:$LD_LIBRARY_PATH ENV PATH=/opt/amazon/openmpi/bin/:/opt/amazon/efa/bin:$PATH RUN curl https://bootstrap.pypa.io/get-pip.py -o /tmp/get-pip.py \ && python3 /tmp/get-pip.py \ && pip3 install awscli ################################################# ## Install EFA installer RUN cd $HOME \ && curl -O https://efa-installer.amazonaws.com/aws-efa-installer-${EFA_INSTALLER_VERSION}.tar.gz \ && tar -xf $HOME/aws-efa-installer-${EFA_INSTALLER_VERSION}.tar.gz \ && cd aws-efa-installer \ && ./efa_installer.sh -y -g -d --skip-kmod --skip-limit-conf --no-verify ################################################### ## Install NCCL RUN git clone https://github.com/NVIDIA/nccl /opt/nccl \ && cd /opt/nccl \ && git checkout v2.10.3-1 \ && make -j src.build CUDA_HOME=/usr/local/cuda \ NVCC_GENCODE="-gencode=arch=compute_80,code=sm_80 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_60,code=sm_60" ################################################### ## Install AWS-OFI-NCCL plugin RUN git clone https://github.com/aws/aws-ofi-nccl.git /opt/aws-ofi-nccl \ && cd /opt/aws-ofi-nccl \ && git checkout ${AWS_OFI_NCCL_VERSION} \ && ./autogen.sh \ && ./configure --prefix=/opt/aws-ofi-nccl/install \ --with-libfabric=/opt/amazon/efa/ \ --with-cuda=/usr/local/cuda \ --with-nccl=/opt/nccl/build \ --with-mpi=/opt/amazon/openmpi/ \ && make && make install ################################################### ## Install NCCL-tests RUN git clone https://github.com/NVIDIA/nccl-tests.git $HOME/nccl-tests \ && cd $HOME/nccl-tests \ && git checkout ${NCCL_TESTS_VERSION} \ && make MPI=1 \ MPI_HOME=/opt/amazon/openmpi/ \ CUDA_HOME=/usr/local/cuda \ NCCL_HOME=/opt/nccl/build \ NVCC_GENCODE="-gencode=arch=compute_80,code=sm_80 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_60,code=sm_60" RUN rm -rf /var/lib/apt/lists/*