diff --git a/.github/workflows/sycl-containers.yaml b/.github/workflows/sycl-containers.yaml index a33839022c952..82e9665486250 100644 --- a/.github/workflows/sycl-containers.yaml +++ b/.github/workflows/sycl-containers.yaml @@ -74,6 +74,13 @@ jobs: base_image=ghcr.io/intel/llvm/ubuntu2204_build base_tag=latest use_unstable_driver=false + - name: Build + Intel Drivers Ubuntu 24.04 Docker image + file: ubuntu2404_intel_drivers + tag: alldeps + build_args: | + base_image=ghcr.io/intel/llvm/ubuntu2404_build + base_tag=latest + use_unstable_driver=false steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 5a3abd6b899f0..0702ce93e0aab 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -14,7 +14,7 @@ on: build_image: type: string required: false - default: "ghcr.io/intel/llvm/ubuntu2204_build:latest" + default: "ghcr.io/intel/llvm/ubuntu2404_build:latest" build_ref: type: string required: false diff --git a/.github/workflows/sycl-linux-precommit.yml b/.github/workflows/sycl-linux-precommit.yml index 8baa70e8b878b..83d70403301cb 100644 --- a/.github/workflows/sycl-linux-precommit.yml +++ b/.github/workflows/sycl-linux-precommit.yml @@ -128,12 +128,12 @@ jobs: include: - name: NVIDIA/CUDA runner: '["Linux", "cuda"]' - image: ghcr.io/intel/llvm/ubuntu2204_build:latest + image: ghcr.io/intel/llvm/ubuntu2404_build:latest image_options: -u 1001 --gpus all --cap-add SYS_ADMIN target_devices: ext_oneapi_cuda:gpu - name: AMD/HIP runner: '["Linux", "amdgpu"]' - image: ghcr.io/intel/llvm/ubuntu2204_build:latest + image: ghcr.io/intel/llvm/ubuntu2404_build:latest image_options: -u 1001 --device=/dev/dri --device=/dev/kfd target_devices: ext_oneapi_hip:gpu reset_intel_gpu: false @@ -211,11 +211,11 @@ jobs: reset_intel_gpu: true - name: AMD system runner: '["Linux", "amdgpu"]' - image: ghcr.io/intel/llvm/ubuntu2204_build:latest + image: ghcr.io/intel/llvm/ubuntu2404_build:latest image_extra_opts: --device=/dev/dri --device=/dev/kfd - name: CUDA system runner: '["Linux", "cuda"]' - image: ghcr.io/intel/llvm/ubuntu2204_build:latest + image: ghcr.io/intel/llvm/ubuntu2404_build:latest image_extra_opts: --gpus all uses: ./.github/workflows/sycl-linux-run-tests.yml with: diff --git a/.github/workflows/sycl-nightly.yml b/.github/workflows/sycl-nightly.yml index 1c1c5c6d1f398..d3067ff8f3722 100644 --- a/.github/workflows/sycl-nightly.yml +++ b/.github/workflows/sycl-nightly.yml @@ -45,7 +45,7 @@ jobs: include: - name: AMD/HIP runner: '["Linux", "amdgpu"]' - image: ghcr.io/intel/llvm/ubuntu2204_build:latest + image: ghcr.io/intel/llvm/ubuntu2404_build:latest image_options: -u 1001 --device=/dev/dri --device=/dev/kfd target_devices: ext_oneapi_hip:gpu tests_selector: e2e @@ -156,7 +156,7 @@ jobs: with: name: CUDA E2E runner: '["aws_cuda-${{ github.run_id }}-${{ github.run_attempt }}"]' - image: ghcr.io/intel/llvm/ubuntu2204_build:latest-0300ac924620a51f76c4929794637b82790f12ab + image: ghcr.io/intel/llvm/ubuntu2404_build:latest image_options: -u 1001 --gpus all --cap-add SYS_ADMIN --env NVIDIA_DISABLE_REQUIRE=1 target_devices: ext_oneapi_cuda:gpu ref: ${{ github.sha }} diff --git a/.github/workflows/sycl-post-commit.yml b/.github/workflows/sycl-post-commit.yml index 816cb313a1284..37d268a266924 100644 --- a/.github/workflows/sycl-post-commit.yml +++ b/.github/workflows/sycl-post-commit.yml @@ -35,7 +35,7 @@ jobs: build_cache_root: "/__w/llvm" build_cache_suffix: default build_artifact_suffix: default - build_configure_extra_args: --no-assertions --hip --cuda --native_cpu --cmake-opt="-DSYCL_ENABLE_STACK_PRINTING=ON" --cmake-opt="-DSYCL_LIB_WITH_DEBUG_SYMBOL=ON" + build_configure_extra_args: --no-assertions --hip --cuda --native_cpu --cmake-opt="-DSYCL_ENABLE_STACK_PRINTING=ON" --cmake-opt="-DSYCL_LIB_WITH_DEBUG_SYMBOL=ON" merge_ref: '' e2e-lin: @@ -56,7 +56,7 @@ jobs: reset_intel_gpu: true - name: AMD/HIP runner: '["Linux", "amdgpu"]' - image: ghcr.io/intel/llvm/ubuntu2204_build:latest + image: ghcr.io/intel/llvm/ubuntu2404_build:latest image_options: -u 1001 --device=/dev/dri --device=/dev/kfd target_devices: ext_oneapi_hip:gpu reset_intel_gpu: false diff --git a/devops/containers/ubuntu2404_build_oneapi.Dockerfile b/devops/containers/ubuntu2404_build_oneapi.Dockerfile index 48e617328539d..8eb4950f6f894 100644 --- a/devops/containers/ubuntu2404_build_oneapi.Dockerfile +++ b/devops/containers/ubuntu2404_build_oneapi.Dockerfile @@ -1,48 +1,21 @@ -FROM nvidia/cuda:12.6.3-devel-ubuntu24.04 +FROM ghcr.io/intel/llvm/ubuntu2404_build ENV DEBIAN_FRONTEND=noninteractive USER root -# Install SYCL prerequisites -COPY scripts/install_build_tools.sh /install.sh -RUN /install.sh - -SHELL ["/bin/bash", "-ec"] - # Install oneAPI -# 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 && \ -wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor \ +RUN wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor \ | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \ echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ | tee /etc/apt/sources.list.d/oneAPI.list # Install the ROCM kernel driver and oneAPI -RUN apt update && apt install -yqq rocm-dev intel-oneapi-compiler-dpcpp-cpp && \ +RUN apt update && apt install -yqq intel-oneapi-compiler-dpcpp-cpp-2025.0 && \ 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 918967ded8fd3..590c9e49eff46 100644 --- a/sycl/doc/developer/DockerBKMs.md +++ b/sycl/doc/developer/DockerBKMs.md @@ -63,13 +63,15 @@ The following containers are publicly available for DPC++ compiler development: setup for building DPC++ compiler from source. - `ghcr.io/intel/llvm/ubuntu2404_intel_drivers`: contains everything from the base container + pre-installed Intel drivers. - The image comes in three flavors/tags: + The image comes in four flavors/tags: * `latest`: Intel drivers are downloaded from release/tag and saved in dependencies.json. The drivers are tested/validated everytime we upgrade the driver. * `devigc`: Intel Graphics Compiler driver from github actions artifacts, other drivers are downloaded from release/tag and saved in dependencies.json. * `unstable`: Intel drivers are downloaded from release/latest. + * `alldeps`: Includes the same Intel drivers as `latest`, as well as the + development kits for NVidia/AMD from the `ubuntu2404_build` container. The drivers are installed as it is, not tested or validated. - `ghcr.io/intel/llvm/ubuntu2404_build`: has development kits installed for NVidia/AMD and can be used for building DPC++