diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8ea1132f..160a9f2b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -84,8 +84,6 @@ RUN source activate base \ -c conda-forge \ cudatoolkit=${CUDA_VER} \ conda-forge::blas \ - libgcc-ng=${LIB_NG_VERSION} \ - libstdcxx-ng=${LIB_NG_VERSION} \ python=${PYTHON_VERSION} \ #TODO: Add additional conda packages here && conda clean -afy \ @@ -109,28 +107,6 @@ If you can include all of the conda dependencies in the image, building the actu Example: `gpuci/rapidsai:0.15-cuda10.1-devel-ubuntu18.04-py3.6` -### How can I use gcc7 in centos7 images? - -Simply include this snippet in a Dockerfile.centos7 file. You can use the same template above, replacing the 'Set environment section' - -``` -ARG CENTOS7_GCC7_URL=https://gpuci.s3.us-east-2.amazonaws.com/builds/gcc7.tgz - -# Update environment for gcc/g++ builds -ENV GCC7_DIR=/usr/local/gcc7 -ENV CC=${GCC7_DIR}/bin/gcc -ENV CXX=${GCC7_DIR}/bin/g++ -ENV CUDAHOSTCXX=${GCC7_DIR}/bin/g++ -ENV LD_LIBRARY_PATH=${GCC7_DIR}/lib64:$CONDA_PREFIX:$LD_LIBRARY_PATH -ENV PATH=${GCC7_DIR}/bin:$PATH - -# Install gcc7 from prebuilt tarball -RUN wget --quiet ${CENTOS7_GCC7_URL} -O /gcc7.tgz \ - && tar xzvf /gcc7.tgz \ - && rm -f /gcc7.tgz -``` - - ### How do create the driver image? You don't need to do anything! By providing a `ubuntu16.04` image following the tag scheme above, gpuCI can automatically extend your image and add the drivers. diff --git a/README.md b/README.md index 6ad2ffb0..3ca64189 100644 --- a/README.md +++ b/README.md @@ -78,35 +78,6 @@ The images below are used for `conda` builds and GPU tests in gpuCI, see the [diagram](#image-flow-diagram) above for more context. They are ordered by their dependencies. -### Supporting Image - `gcc7` From-Source Build for CentOS 7 - -A supplemental image that is sourced for CentOS 7 images is `gpuci/builds-gcc7`. -This is due to `gcc4` being the standard `gcc` in CentOS 7. With this image we -pre-build `gcc7.3` and then use the following to pull the pre-built files into -an image: - -``` -# Install gcc7 from prebuilt tarball -wget --quiet https://gpuci.s3.us-east-2.amazonaws.com/builds/gcc7.tgz -O /gcc7.tgz \ - && tar xzvf /gcc7.tgz \ - && rm -f /gcc7.tgz -``` - -- Repo location - - [`gpuci/builds-gcc7`](https://hub.docker.com/r/gpuci/builds-gcc7/tags) -- Dockerfile - - [`Dockerfile.centos7`](builds-gcc7/Dockerfile.centos7) -- Base Image - - `FROM nvidia/cuda:${CUDA_VER}-${CUDA_TYPE}-${LINUX_VER}` -- Purpose - - Builds gcc7 from source on CentOS 7 - - Used by CentOS 7 images during `gpuci/miniforge-cuda` build to install gcc7 without building -- Tags - `${CUDA_VER}-${CUDA_TYPE}-${LINUX_VER}` - - Supports these options - - `${CUDA_VER}` - `10.2` - - `${CUDA_TYPE}` - `devel` - - `${LINUX_VER}` - `centos7` - ### GPU Test Images The `gpuci/rapidsai` images serve different purposes based on their `IMAGE_TYPE` diff --git a/builds-gcc/Dockerfile.centos7-gcc7 b/builds-gcc/Dockerfile.centos7-gcc7 deleted file mode 100644 index adf682d4..00000000 --- a/builds-gcc/Dockerfile.centos7-gcc7 +++ /dev/null @@ -1,54 +0,0 @@ -ARG FROM_IMAGE=nvidia/cuda -ARG CUDA_VER=10.1 -ARG CUDA_TYPE=devel -ARG LINUX_VER=centos7 -FROM ${FROM_IMAGE}:${CUDA_VER}-${CUDA_TYPE}-${LINUX_VER} - -# Define arguments -ARG GCC7_DIR=/usr/local/gcc7 -ARG GCC7_VER=7.5.0 -ARG GCC9_DIR=/usr/local/gcc9 -ARG GCC9_VER=9.4.0 -ARG NUM_BUILD_CPUS=16 - -# Add /usr/local/cuda/* temporarily to LD_LIBRARY_PATH to support various build steps -ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH_POSTBUILD:/usr/local/cuda/lib64:/usr/local/cuda/lib64/stubs - -RUN yum upgrade -y \ - && yum install -y --setopt=install_weak_deps=False \ - bzip2 \ - curl \ - git \ - screen \ - vim \ - wget \ - which \ - clang \ - make \ - gmp-devel mpfr-devel libmpc-devel file - -# Build gcc 7 and set the environment to use it -# NOTE: this step requires packages gmp-devel, mpfr-devel, -# libmpc-devel, and file (see above) -RUN mkdir -p ${GCC7_DIR} \ - && cd ${GCC7_DIR} && wget -q http://ftp.gnu.org/gnu/gcc/gcc-${GCC7_VER}/gcc-${GCC7_VER}.tar.gz \ - && cd ${GCC7_DIR} && tar zxf gcc-${GCC7_VER}.tar.gz \ - && cd ${GCC7_DIR}/gcc-${GCC7_VER} \ - && ./configure --prefix=${GCC7_DIR} --disable-multilib \ - && make -j${NUM_BUILD_CPUS} && make install \ - && rm -r ${GCC7_DIR}/gcc-${GCC7_VER} ${GCC7_DIR}/gcc-${GCC7_VER}.tar.gz - -# Build gcc 9 -RUN mkdir -p ${GCC9_DIR} \ - && cd ${GCC9_DIR} && wget -q http://ftp.gnu.org/gnu/gcc/gcc-${GCC9_VER}/gcc-${GCC9_VER}.tar.gz \ - && cd ${GCC9_DIR} && tar zxf gcc-${GCC9_VER}.tar.gz \ - && cd ${GCC9_DIR}/gcc-${GCC9_VER} \ - && ./configure --prefix=${GCC9_DIR} --disable-multilib \ - && make -j${NUM_BUILD_CPUS} && make install \ - && rm -r ${GCC9_DIR}/gcc-${GCC9_VER} ${GCC9_DIR}/gcc-${GCC9_VER}.tar.gz - -# Pull gcc9's libstdc++ into gcc7's lib64 -RUN rm -rfv ${GCC7_DIR}/lib64/libstdc++.* \ - && ls -la ${GCC9_DIR}/lib64/libstdc++.* \ - && cp -av ${GCC9_DIR}/lib64/libstdc++.* ${GCC7_DIR}/lib64 \ - && ls -la ${GCC7_DIR}/lib64/libstdc++.* diff --git a/builds-gcc/Dockerfile.centos7-gcc9 b/builds-gcc/Dockerfile.centos7-gcc9 deleted file mode 100644 index b36e8330..00000000 --- a/builds-gcc/Dockerfile.centos7-gcc9 +++ /dev/null @@ -1,47 +0,0 @@ -FROM centos:7 - -# Define arguments -ENV GCC9_DIR=/usr/local/gcc9 -ENV GCC9_VER=9.4.0 -ENV GCC10_DIR=/usr/local/gcc10 -ENV GCC10_VER=10.3.0 -ENV NUM_BUILD_CPUS=16 - -RUN yum upgrade -y \ - && yum install -y --setopt=install_weak_deps=False \ - bzip2 \ - curl \ - git \ - screen \ - vim \ - wget \ - which \ - clang \ - make \ - gcc \ - gcc-c++ \ - gmp-devel mpfr-devel libmpc-devel file - -# Build gcc 9 -RUN mkdir -p ${GCC9_DIR} \ - && cd ${GCC9_DIR} && wget -q http://ftp.gnu.org/gnu/gcc/gcc-${GCC9_VER}/gcc-${GCC9_VER}.tar.gz \ - && cd ${GCC9_DIR} && tar zxf gcc-${GCC9_VER}.tar.gz \ - && cd ${GCC9_DIR}/gcc-${GCC9_VER} \ - && ./configure --prefix=${GCC9_DIR} --disable-multilib \ - && make -j${NUM_BUILD_CPUS} && make install \ - && rm -r ${GCC9_DIR}/gcc-${GCC9_VER} ${GCC9_DIR}/gcc-${GCC9_VER}.tar.gz - -# Build gcc 10 -RUN mkdir -p ${GCC10_DIR} \ - && cd ${GCC10_DIR} && wget -q http://ftp.gnu.org/gnu/gcc/gcc-${GCC10_VER}/gcc-${GCC10_VER}.tar.gz \ - && cd ${GCC10_DIR} && tar zxf gcc-${GCC10_VER}.tar.gz \ - && cd ${GCC10_DIR}/gcc-${GCC10_VER} \ - && ./configure --prefix=${GCC10_DIR} --disable-multilib \ - && make -j${NUM_BUILD_CPUS} && make install \ - && rm -r ${GCC10_DIR}/gcc-${GCC10_VER} ${GCC10_DIR}/gcc-${GCC10_VER}.tar.gz - -# Pull gcc10's libstdc++ into gcc9's lib64 -RUN rm -rfv ${GCC9_DIR}/lib64/libstdc++.* \ - && ls -la ${GCC10_DIR}/lib64/libstdc++.* \ - && cp -av ${GCC10_DIR}/lib64/libstdc++.* ${GCC9_DIR}/lib64 \ - && ls -la ${GCC9_DIR}/lib64/libstdc++.* diff --git a/builds-gcc/Dockerfile.centos8-gcc9 b/builds-gcc/Dockerfile.centos8-gcc9 deleted file mode 100644 index 8290dfea..00000000 --- a/builds-gcc/Dockerfile.centos8-gcc9 +++ /dev/null @@ -1,47 +0,0 @@ -ARG FROM_IMAGE=nvidia/cuda -ARG CUDA_VER=11.4.2 -ARG CUDA_TYPE=devel -ARG LINUX_VER=centos8 -FROM ${FROM_IMAGE}:${CUDA_VER}-${CUDA_TYPE}-${LINUX_VER} - -# Define arguments -ARG GCC9_DIR=/usr/local/gcc9 -ARG GCC9_VER=9.4.0 -ARG NUM_BUILD_CPUS=16 - -# Add /usr/local/cuda/* temporarily to LD_LIBRARY_PATH to support various build steps -ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH_POSTBUILD:/usr/local/cuda/lib64:/usr/local/cuda/lib64/stubs - -# Fix CentOS8 EOL -RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-* \ - && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-* - -RUN yum install -y epel-release - -# Needed for libmpc-devel -RUN yum install -y dnf-plugins-core && yum config-manager --set-enabled powertools - -RUN yum upgrade -y \ - && yum install -y --setopt=install_weak_deps=False \ - bzip2 \ - curl \ - git \ - screen \ - vim \ - wget \ - which \ - clang \ - make \ - gmp-devel \ - mpfr-devel \ - libmpc-devel \ - file - -# Build gcc 9 -RUN mkdir -p ${GCC9_DIR} \ - && cd ${GCC9_DIR} && wget -q http://ftp.gnu.org/gnu/gcc/gcc-${GCC9_VER}/gcc-${GCC9_VER}.tar.gz \ - && cd ${GCC9_DIR} && tar zxf gcc-${GCC9_VER}.tar.gz \ - && cd ${GCC9_DIR}/gcc-${GCC9_VER} \ - && ./configure --prefix=${GCC9_DIR} --disable-multilib \ - && make -j${NUM_BUILD_CPUS} && make install \ - && rm -r ${GCC9_DIR}/gcc-${GCC9_VER} ${GCC9_DIR}/gcc-${GCC9_VER}.tar.gz diff --git a/rapidsai-l4t/Dockerfile b/rapidsai-l4t/Dockerfile index ef2368ff..8eec6c08 100644 --- a/rapidsai-l4t/Dockerfile +++ b/rapidsai-l4t/Dockerfile @@ -11,10 +11,7 @@ ARG PYTHON_VER=3.7 # Capture argument used for FROM ARG CUDA_VER -# Update environment for gcc/g++ builds -ENV CC=/usr/bin/gcc -ENV CXX=/usr/bin/g++ -ENV CUDAHOSTCXX=/usr/bin/g++ +# Update environment ENV CUDA_HOME=/usr/local/cuda ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib ENV NVCC=/usr/local/cuda/bin/nvcc @@ -32,19 +29,6 @@ SHELL ["/bin/bash", "-c"] # Add a condarc for channels and override settings COPY .condarc /opt/conda/.condarc -# Install gcc7 - 7.5.0 to bring build stack in line with conda-forge -RUN apt-get update \ - && apt-get install -y software-properties-common \ - && add-apt-repository -y ppa:ubuntu-toolchain-r/test \ - && apt-get update \ - && apt-get install -y gcc-7 g++-7 \ - && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 7 \ - && update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 7 \ - && update-alternatives --set gcc /usr/bin/gcc-7 \ - && update-alternatives --set g++ /usr/bin/g++-7 \ - && gcc --version \ - && g++ --version - # Update and add pkgs for gpuci builds RUN apt-get update -y --fix-missing \ && apt-get -qq install apt-utils -y --no-install-recommends \ diff --git a/rapidsai/devel-centos.Dockerfile b/rapidsai/devel-centos.Dockerfile index 1d69cdc6..8a74a3ed 100644 --- a/rapidsai/devel-centos.Dockerfile +++ b/rapidsai/devel-centos.Dockerfile @@ -8,20 +8,15 @@ ARG RAPIDS_VER=0.15 ARG PYTHON_VER=3.7 # Optional arguments -ARG GCC9_URL=https://gpuci.s3.us-east-2.amazonaws.com/builds/gcc9.tgz ARG BINUTILS_DIR=/usr/local/binutils # Capture argument used for FROM ARG CUDA_VER -# Update environment for gcc/g++ builds -ENV GCC9_DIR=/usr/local/gcc9 -ENV CC=${GCC9_DIR}/bin/gcc -ENV CXX=${GCC9_DIR}/bin/g++ -ENV CUDAHOSTCXX=${GCC9_DIR}/bin/g++ +# Update environment ENV CUDA_HOME=/usr/local/cuda -ENV LD_LIBRARY_PATH=${GCC9_DIR}/lib64:$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib -ENV PATH=${GCC9_DIR}/bin:${BINUTILS_DIR}/bin:/usr/lib64/openmpi/bin:$PATH +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib +ENV PATH=${BINUTILS_DIR}/bin:/usr/lib64/openmpi/bin:$PATH ENV NVCC=/usr/local/cuda/bin/nvcc ENV CUDAToolkit_ROOT=/usr/local/cuda ENV CUDACXX=/usr/local/cuda/bin/nvcc @@ -37,11 +32,6 @@ ENV CONDARC=/opt/conda/.condarc # Enables "source activate conda" SHELL ["/bin/bash", "-c"] -# Install gcc9 from prebuilt tarball -RUN wget --quiet ${GCC9_URL} -O /gcc9.tgz \ - && tar xzvf /gcc9.tgz \ - && rm -f /gcc9.tgz - ARG BINUTILS_VER=2.37 # Build binutils RUN mkdir -p /usr/local/src/binutils/build ${BINUTILS_DIR} \ diff --git a/rapidsai/devel-centos.arm64.Dockerfile b/rapidsai/devel-centos.arm64.Dockerfile index 79f861f3..bd7f15bd 100644 --- a/rapidsai/devel-centos.arm64.Dockerfile +++ b/rapidsai/devel-centos.arm64.Dockerfile @@ -7,20 +7,13 @@ FROM ${FROM_IMAGE}:${CUDA_VER}-devel-${LINUX_VER} ARG RAPIDS_VER=0.15 ARG PYTHON_VER=3.7 -# Optional arguments -ARG GCC9_URL=https://gpuci.s3.us-east-2.amazonaws.com/builds/gcc9-arm64.tgz - # Capture argument used for FROM ARG CUDA_VER -# Update environment for gcc/g++ builds -ENV GCC9_DIR=/usr/local/gcc9 -ENV CC=${GCC9_DIR}/bin/gcc -ENV CXX=${GCC9_DIR}/bin/g++ -ENV CUDAHOSTCXX=${GCC9_DIR}/bin/g++ +# Update environment ENV CUDA_HOME=/usr/local/cuda -ENV LD_LIBRARY_PATH=${GCC9_DIR}/lib64:$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib -ENV PATH=${GCC9_DIR}/bin:/usr/lib64/openmpi/bin:$PATH +ENV LD_LIBRARY_PATH=:$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib +ENV PATH=/usr/lib64/openmpi/bin:$PATH ENV NVCC=/usr/local/cuda/bin/nvcc ENV CUDAToolkit_ROOT=/usr/local/cuda ENV CUDACXX=/usr/local/cuda/bin/nvcc @@ -100,11 +93,6 @@ RUN gpuci_conda_retry install -y -n rapids --freeze-installed \ rapids-build-env=${RAPIDS_VER} \ rapids-notebook-env=${RAPIDS_VER} -# Install gcc9 from prebuilt tarball -RUN gpuci_retry wget --quiet ${GCC9_URL} -O /gcc9.tgz \ - && tar xzvf /gcc9.tgz \ - && rm -f /gcc9.tgz - # Clean up pkgs to reduce image size and chmod for all users RUN chmod -R ugo+w /opt/conda \ && conda clean -tipy \ diff --git a/rapidsai/devel.Dockerfile b/rapidsai/devel.Dockerfile index e23c3123..eabd42ae 100644 --- a/rapidsai/devel.Dockerfile +++ b/rapidsai/devel.Dockerfile @@ -10,10 +10,7 @@ ARG PYTHON_VER=3.7 # Capture argument used for FROM ARG CUDA_VER -# Update environment for gcc/g++ builds -ENV CC=/usr/bin/gcc -ENV CXX=/usr/bin/g++ -ENV CUDAHOSTCXX=/usr/bin/g++ +# Update environment ENV CUDA_HOME=/usr/local/cuda ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib ENV NVCC=/usr/local/cuda/bin/nvcc @@ -34,19 +31,6 @@ SHELL ["/bin/bash", "-c"] # Add a condarc for channels and override settings COPY .condarc /opt/conda/.condarc -# Install gcc9 -RUN apt-get update \ - && apt-get install -y software-properties-common \ - && add-apt-repository -y ppa:ubuntu-toolchain-r/test \ - && apt-get update \ - && apt-get install -y gcc-9 g++-9 libstdc++6 \ - && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9 \ - && update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 9 \ - && update-alternatives --set gcc /usr/bin/gcc-9 \ - && update-alternatives --set g++ /usr/bin/g++-9 \ - && gcc --version \ - && g++ --version - # Update and add pkgs for gpuci builds RUN apt-get update -y --fix-missing \ && apt-get -qq install apt-utils -y --no-install-recommends \ @@ -59,9 +43,6 @@ RUN apt-get update -y --fix-missing \ tzdata \ vim \ zlib1g-dev \ - cpp-9 \ - gcc-9 \ - gfortran-9 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/rapidsai/devel.arm64.Dockerfile b/rapidsai/devel.arm64.Dockerfile index a8581469..8281d340 100644 --- a/rapidsai/devel.arm64.Dockerfile +++ b/rapidsai/devel.arm64.Dockerfile @@ -10,10 +10,7 @@ ARG PYTHON_VER=3.7 # Capture argument used for FROM ARG CUDA_VER -# Update environment for gcc/g++ builds -ENV CC=/usr/bin/gcc -ENV CXX=/usr/bin/g++ -ENV CUDAHOSTCXX=/usr/bin/g++ +# Update environment ENV CUDA_HOME=/usr/local/cuda ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib ENV NVCC=/usr/local/cuda/bin/nvcc @@ -34,19 +31,6 @@ SHELL ["/bin/bash", "-c"] # Add a condarc for channels and override settings COPY .condarc /opt/conda/.condarc -# Install gcc9 -RUN apt-get update \ - && apt-get install -y software-properties-common \ - && add-apt-repository -y ppa:ubuntu-toolchain-r/test \ - && apt-get update \ - && apt-get install -y gcc-9 g++-9 libstdc++6 \ - && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9 \ - && update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 9 \ - && update-alternatives --set gcc /usr/bin/gcc-9 \ - && update-alternatives --set g++ /usr/bin/g++-9 \ - && gcc --version \ - && g++ --version - # Update and add pkgs for gpuci builds RUN apt-get update -y --fix-missing \ && apt-get -qq install apt-utils -y --no-install-recommends \ @@ -61,9 +45,6 @@ RUN apt-get update -y --fix-missing \ tzdata \ vim \ zlib1g-dev \ - cpp-9 \ - gcc-9 \ - gfortran-9 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/templates/ci/cpu/cpubuild.sh b/templates/ci/cpu/cpubuild.sh index 8b762d53..c3cec11f 100644 --- a/templates/ci/cpu/cpubuild.sh +++ b/templates/ci/cpu/cpubuild.sh @@ -48,8 +48,6 @@ conda activate rapids logger "Check versions..." python --version -gcc --version -g++ --version conda list # FIX Added to deal with Anancoda SSL verification issues during conda builds diff --git a/templates/ci/gpu/gpubuild.sh b/templates/ci/gpu/gpubuild.sh index e2e8468a..9b085960 100644 --- a/templates/ci/gpu/gpubuild.sh +++ b/templates/ci/gpu/gpubuild.sh @@ -52,8 +52,6 @@ conda install || || || ##* logger "Check versions..." python --version -$CC --version -$CXX --version conda list ##* @@ -66,7 +64,7 @@ conda list logger "Build libcudf..." ##* ## EDIT: Build and install all packages available in the rootbuild.sh -$WORKSPACE/build.sh clean || || || +$WORKSPACE/build.sh clean || || || ##* ##* @@ -84,4 +82,3 @@ else || fi ##* -