From 7496edb06d8ab8bc7fadd021bec5d5fb889e10a8 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Mon, 23 Dec 2024 08:46:47 -0800 Subject: [PATCH] [CI] Add remaining Ubuntu 24.04 Docker containers Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-containers.yaml | 6 ++- devops/containers/ubuntu2404_build.Dockerfile | 42 +++++++++++++++++++ sycl/doc/developer/DockerBKMs.md | 10 +++-- 3 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 devops/containers/ubuntu2404_build.Dockerfile diff --git a/.github/workflows/sycl-containers.yaml b/.github/workflows/sycl-containers.yaml index 2a77631d5f653..a33839022c952 100644 --- a/.github/workflows/sycl-containers.yaml +++ b/.github/workflows/sycl-containers.yaml @@ -43,10 +43,14 @@ jobs: file: ubuntu2404_base tag: latest build_args: "" - - name: Build Ubuntu Docker image + - name: Build Ubuntu 22.04 Docker image file: ubuntu2204_build tag: latest build_args: "" + - name: Build Ubuntu 24.04 Docker image + file: ubuntu2404_build + tag: latest + build_args: "" - name: Build Ubuntu 24.04 oneAPI Docker image file: ubuntu2404_build_oneapi tag: latest diff --git a/devops/containers/ubuntu2404_build.Dockerfile b/devops/containers/ubuntu2404_build.Dockerfile new file mode 100644 index 0000000000000..5391030df006a --- /dev/null +++ b/devops/containers/ubuntu2404_build.Dockerfile @@ -0,0 +1,42 @@ +FROM nvidia/cuda:12.6.3-devel-ubuntu24.04 + +ENV DEBIAN_FRONTEND=noninteractive + +USER root + +# Install SYCL prerequisites +COPY scripts/install_build_tools.sh /install.sh +RUN /install.sh + +SHELL ["/bin/bash", "-ec"] + +# Make the directory if it doesn't exist yet. +# This location is recommended by the distribution maintainers. +RUN mkdir --parents --mode=0755 /etc/apt/keyrings +# Download the key, convert the signing-key to a full +# keyring required by apt and store in the keyring directory +RUN wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | \ +gpg --dearmor | tee /etc/apt/keyrings/rocm.gpg > /dev/null && \ +# Add rocm repo +echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/6.3/ubuntu noble main" \ + | tee /etc/apt/sources.list.d/amdgpu.list && \ +echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/6.3 noble main" \ + | tee --append /etc/apt/sources.list.d/rocm.list && \ +echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \ + | tee /etc/apt/preferences.d/rocm-pin-600 && \ +echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \ + | tee /etc/apt/preferences.d/rocm-pin-600 +# Install the ROCM kernel driver +RUN apt update && apt install -yqq rocm-dev && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +COPY scripts/create-sycl-user.sh /user-setup.sh +RUN /user-setup.sh + +COPY scripts/docker_entrypoint.sh /docker_entrypoint.sh + +USER sycl + +ENTRYPOINT ["/docker_entrypoint.sh"] + diff --git a/sycl/doc/developer/DockerBKMs.md b/sycl/doc/developer/DockerBKMs.md index 83ced6fbbf220..5754a7124c26f 100644 --- a/sycl/doc/developer/DockerBKMs.md +++ b/sycl/doc/developer/DockerBKMs.md @@ -59,9 +59,13 @@ The following containers are publicly available for DPC++ compiler development: * `unstable`: Intel drivers are downloaded from release/latest. The drivers are installed as it is, not tested or validated. - `ghcr.io/intel/llvm/ubuntu2204_build`: has development kits installed for - NVidia/AMD and can be used for building DPC++ compiler from source with all - backends enabled or for end-to-end testing with HIP/CUDA on machines with - corresponding GPUs available. + NVidia/AMD, is based on Ubuntu 22.04, and can be used for building DPC++ + compiler from source with all backends enabled or for end-to-end testing + with HIP/CUDA on machines with corresponding GPUs available. +- `ghcr.io/intel/llvm/ubuntu2404_build`: has development kits installed for + NVidia/AMD, is based on Ubuntu 24.04, and can be used for building DPC++ + compiler from source with all backends enabled or for end-to-end testing + with HIP/CUDA on machines with corresponding GPUs available. - `ghcr.io/intel/llvm/sycl_ubuntu2204_nightly`: contains the latest successfully built nightly build of DPC++ compiler. The image comes in three flavors: with pre-installed Intel drivers (`latest`), without them (`no-drivers`) and