From 06fa30a4c6dd5e18ed528e46c76fa095481e815f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Rodr=C3=ADguez-Guerra?= Date: Mon, 19 Apr 2021 16:59:31 +0200 Subject: [PATCH 1/6] remove cuda 9.2, 10.0, 10.1; add 11.0, 11.1 + cached cudatoolkit pkg --- .github/workflows/ci.yaml | 21 ++++++++------------- linux-anvil-ppc64le-cuda/Dockerfile | 11 +++++++++++ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 23089041..3a10c567 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -90,24 +90,19 @@ jobs: CENTOS_VER: "7" - DOCKERIMAGE: linux-anvil-ppc64le-cuda - DOCKERTAG: "9.2" - CUDA_VER: "9.2" - CENTOS_VER: "7" - - - DOCKERIMAGE: linux-anvil-ppc64le-cuda - DOCKERTAG: "10.0" - CUDA_VER: "10.0" + DOCKERTAG: "10.2" + CUDA_VER: "10.2" CENTOS_VER: "7" - DOCKERIMAGE: linux-anvil-ppc64le-cuda - DOCKERTAG: "10.1" - CUDA_VER: "10.1" - CENTOS_VER: "7" + DOCKERTAG: "11.0" + CUDA_VER: "11.0" + CENTOS_VER: "8" - DOCKERIMAGE: linux-anvil-ppc64le-cuda - DOCKERTAG: "10.2" - CUDA_VER: "10.2" - CENTOS_VER: "7" + DOCKERTAG: "11.1" + CUDA_VER: "11.1" + CENTOS_VER: "8" env: DOCKERIMAGE: ${{ matrix.cfg.DOCKERIMAGE }} diff --git a/linux-anvil-ppc64le-cuda/Dockerfile b/linux-anvil-ppc64le-cuda/Dockerfile index 8acb308a..3d75a5e3 100644 --- a/linux-anvil-ppc64le-cuda/Dockerfile +++ b/linux-anvil-ppc64le-cuda/Dockerfile @@ -69,6 +69,17 @@ RUN source /opt/conda/etc/profile.d/conda.sh && \ chgrp -R lucky /opt/conda && \ chmod -R g=u /opt/conda +# Download and cache CUDA related packages. +RUN source /opt/conda/etc/profile.d/conda.sh && \ + conda activate && \ + conda create -n test --yes --quiet --download-only \ + conda-forge::cudatoolkit=${CUDA_VER} \ + && \ + conda remove --yes --quiet -n test --all && \ + conda clean -tiy && \ + chgrp -R lucky /opt/conda && \ + chmod -R g=u /opt/conda + # Add a file for users to source to activate the `conda` # environment `root`. Also add a file that wraps that for # use with the `ENTRYPOINT`. From 38d6aac7fa07a7bda65b4aca6b52c5e7f42fc46e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Rodr=C3=ADguez-Guerra?= Date: Mon, 19 Apr 2021 17:31:27 +0200 Subject: [PATCH 2/6] cos8 has different filename for gpg key? --- linux-anvil-ppc64le-cuda/Dockerfile | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/linux-anvil-ppc64le-cuda/Dockerfile b/linux-anvil-ppc64le-cuda/Dockerfile index 3d75a5e3..503ba4d8 100644 --- a/linux-anvil-ppc64le-cuda/Dockerfile +++ b/linux-anvil-ppc64le-cuda/Dockerfile @@ -28,8 +28,14 @@ ENV CUDA_HOME /usr/local/cuda ADD http://www.randomtext.me/api/gibberish /opt/docker/etc/gibberish # Resolves a nasty NOKEY warning that appears when using yum. -RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-${CENTOS_VER} && \ - rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-${CENTOS_VER}-ppc64le +# Naming convention changed with cos8 - see https://lists.centos.org/pipermail/centos-devel/2019-September/017847.html +RUN if [ "$CENTOS_VER" -le "7" ]; then \ + rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-${CENTOS_VER} && \ + rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-${CENTOS_VER}-ppc64le; \ + else \ + rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial && \ + rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-centosofficial-ppc64le; \ + fi # Remove preinclude system compilers RUN rpm -e --nodeps --verbose gcc gcc-c++ From caa0df7a2174f8acb804543cf9255602eafdefc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Rodr=C3=ADguez-Guerra?= Date: Tue, 20 Apr 2021 11:02:51 +0200 Subject: [PATCH 3/6] RPM-GPG-KEY-CentOS-SIG-AltArch not available anymore? --- linux-anvil-ppc64le-cuda/Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/linux-anvil-ppc64le-cuda/Dockerfile b/linux-anvil-ppc64le-cuda/Dockerfile index 503ba4d8..40044b1b 100644 --- a/linux-anvil-ppc64le-cuda/Dockerfile +++ b/linux-anvil-ppc64le-cuda/Dockerfile @@ -28,13 +28,14 @@ ENV CUDA_HOME /usr/local/cuda ADD http://www.randomtext.me/api/gibberish /opt/docker/etc/gibberish # Resolves a nasty NOKEY warning that appears when using yum. -# Naming convention changed with cos8 - see https://lists.centos.org/pipermail/centos-devel/2019-September/017847.html +# Naming convention changed with cos8 - see: +# * https://lists.centos.org/pipermail/centos-devel/2019-September/017847.html +# * https://www.centos.org/keys/#project-keys RUN if [ "$CENTOS_VER" -le "7" ]; then \ rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-${CENTOS_VER} && \ rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-${CENTOS_VER}-ppc64le; \ else \ - rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial && \ - rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-centosofficial-ppc64le; \ + rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial; \ fi # Remove preinclude system compilers From 14372e25f9ce145f2495eaa656e17d745ff889c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Rodr=C3=ADguez-Guerra?= Date: Tue, 20 Apr 2021 11:15:32 +0200 Subject: [PATCH 4/6] add 9.2, 10.0 and 10.1 back --- .github/workflows/ci.yaml | 15 +++++++++++++++ linux-anvil-ppc64le-cuda/Dockerfile | 22 +++++++++++++--------- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 3a10c567..37516e36 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -89,6 +89,21 @@ jobs: CUDA_VER: "11.2.2" CENTOS_VER: "7" + - DOCKERIMAGE: linux-anvil-ppc64le-cuda + DOCKERTAG: "9.2" + CUDA_VER: "9.2" + CENTOS_VER: "7" + + - DOCKERIMAGE: linux-anvil-ppc64le-cuda + DOCKERTAG: "10.0" + CUDA_VER: "10.0" + CENTOS_VER: "7" + + - DOCKERIMAGE: linux-anvil-ppc64le-cuda + DOCKERTAG: "10.1" + CUDA_VER: "10.1" + CENTOS_VER: "7" + - DOCKERIMAGE: linux-anvil-ppc64le-cuda DOCKERTAG: "10.2" CUDA_VER: "10.2" diff --git a/linux-anvil-ppc64le-cuda/Dockerfile b/linux-anvil-ppc64le-cuda/Dockerfile index 40044b1b..d83062f9 100644 --- a/linux-anvil-ppc64le-cuda/Dockerfile +++ b/linux-anvil-ppc64le-cuda/Dockerfile @@ -77,15 +77,19 @@ RUN source /opt/conda/etc/profile.d/conda.sh && \ chmod -R g=u /opt/conda # Download and cache CUDA related packages. -RUN source /opt/conda/etc/profile.d/conda.sh && \ - conda activate && \ - conda create -n test --yes --quiet --download-only \ - conda-forge::cudatoolkit=${CUDA_VER} \ - && \ - conda remove --yes --quiet -n test --all && \ - conda clean -tiy && \ - chgrp -R lucky /opt/conda && \ - chmod -R g=u /opt/conda +RUN if [[ "$CUDA_VER" == "9.2" || "$CUDA_VER" == "10.0" || "$CUDA_VER" == "10.1" ]]; then \ + echo "`cudatoolkit` not available for CUDA_VER<10.2"; \ + else \ + source /opt/conda/etc/profile.d/conda.sh && \ + conda activate && \ + conda create -n test --yes --quiet --download-only \ + conda-forge::cudatoolkit=${CUDA_VER} \ + && \ + conda remove --yes --quiet -n test --all && \ + conda clean -tiy && \ + chgrp -R lucky /opt/conda && \ + chmod -R g=u /opt/conda; \ + fi # Add a file for users to source to activate the `conda` # environment `root`. Also add a file that wraps that for From c9cc8cf584da51dbda088266997c96761b8d1475 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Rodr=C3=ADguez-Guerra?= Date: Tue, 20 Apr 2021 11:16:51 +0200 Subject: [PATCH 5/6] add 11.2 --- .github/workflows/ci.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 37516e36..0c818d38 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -119,6 +119,11 @@ jobs: CUDA_VER: "11.1" CENTOS_VER: "8" + - DOCKERIMAGE: linux-anvil-ppc64le-cuda + DOCKERTAG: "11.2" + CUDA_VER: "11.2.2" + CENTOS_VER: "8" + env: DOCKERIMAGE: ${{ matrix.cfg.DOCKERIMAGE }} DOCKERFILE: ${{ matrix.cfg.DOCKERFILE }} From 85ded21771820d74323e1f3ab39302ec550bd3c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Rodr=C3=ADguez-Guerra?= Date: Thu, 22 Apr 2021 10:28:09 +0200 Subject: [PATCH 6/6] Fix locale in Centos8? --- linux-anvil-ppc64le-cuda/Dockerfile | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/linux-anvil-ppc64le-cuda/Dockerfile b/linux-anvil-ppc64le-cuda/Dockerfile index d83062f9..41c3adb1 100644 --- a/linux-anvil-ppc64le-cuda/Dockerfile +++ b/linux-anvil-ppc64le-cuda/Dockerfile @@ -48,9 +48,18 @@ RUN yum update -y --disablerepo=cuda && \ bzip2 \ sudo \ tar \ - which && \ + which \ + && \ /opt/docker/bin/yum_clean_all +# Fix locale in CentOS8 images +# See https://github.com/CentOS/sig-cloud-instance-images/issues/154 +RUN if [ "$CENTOS_VER" -ge "8" ]; then \ + yum install -y glibc-langpack-en \ + && \ + /opt/docker/bin/yum_clean_all; \ + fi + # Run common commands COPY scripts/run_commands /opt/docker/bin/run_commands RUN /opt/docker/bin/run_commands