Skip to content

Commit 2c217e2

Browse files
authored
[CI] Use Ubuntu 24.04 for dev-igc and unstable (#16255)
dev_igc and unstable need Ubuntu 24.04 now based on the IGC packaging, so move our Dockerfiles and CI to use 24.04 for these. I needed to manually bump the dev-igc version because the artifacts for the current one are expired so they can't be downloaded anymore so we can't make the Docker image. The dev-igc CI run is expected to fail here, it always uses the official intel/llvm Docker images, even if the current PR updates them, so we need to wait for this PR to be merged to test it. I'll watch it once we merge. --------- Signed-off-by: Sarnie, Nick <[email protected]>
1 parent 77ade87 commit 2c217e2

File tree

8 files changed

+59
-18
lines changed

8 files changed

+59
-18
lines changed

.github/workflows/sycl-containers-igc-dev.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ jobs:
2626
strategy:
2727
matrix:
2828
include:
29-
- name: Intel Drivers Ubuntu 22.04 Docker image with dev IGC
30-
dockerfile: ubuntu2204_intel_drivers_igc_dev
31-
imagefile: ubuntu2204_intel_drivers
29+
- name: Intel Drivers Ubuntu 24.04 Docker image with dev IGC
30+
dockerfile: ubuntu2404_intel_drivers_igc_dev
31+
imagefile: ubuntu2404_intel_drivers
3232
tag: devigc
3333
build_args: |
3434
"use_latest=false"

.github/workflows/sycl-containers.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ jobs:
5151
file: ubuntu2204_intel_drivers
5252
tag: latest
5353
build_args: "use_latest=false"
54-
- name: Intel Drivers (unstable) Ubuntu 22.04 Docker image
55-
file: ubuntu2204_intel_drivers
54+
- name: Intel Drivers (unstable) Ubuntu 24.04 Docker image
55+
file: ubuntu2404_intel_drivers
5656
tag: unstable
5757
build_args: "use_latest=true"
5858
- name: Build + Intel Drivers Ubuntu 22.04 Docker image

.github/workflows/sycl-linux-precommit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ jobs:
103103
env: '{"LIT_FILTER":${{ needs.determine_arc_tests.outputs.arc_tests }} }'
104104
- name: E2E tests with dev igc on Intel Arc A-Series Graphics
105105
runner: '["Linux", "arc"]'
106-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:devigc
106+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
107107
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
108108
target_devices: level_zero:gpu;opencl:gpu
109109
reset_intel_gpu: true
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
ARG base_tag=latest
2+
ARG base_image=ghcr.io/intel/llvm/ubuntu2404_base
3+
4+
FROM $base_image:$base_tag
5+
6+
ENV DEBIAN_FRONTEND=noninteractive
7+
8+
ARG use_latest=true
9+
10+
RUN apt update && apt install -yqq wget
11+
12+
COPY scripts/get_release.py /
13+
COPY scripts/install_drivers.sh /
14+
COPY dependencies.json /
15+
16+
RUN mkdir /runtimes
17+
ENV INSTALL_LOCATION=/runtimes
18+
RUN --mount=type=secret,id=github_token \
19+
if [ "$use_latest" = "true" ]; then \
20+
install_driver_opt=" --use-latest"; \
21+
else \
22+
install_driver_opt=" dependencies.json"; \
23+
fi && \
24+
GITHUB_TOKEN=$(cat /run/secrets/github_token) /install_drivers.sh $install_driver_opt --all
25+
26+
COPY scripts/drivers_entrypoint.sh /drivers_entrypoint.sh
27+
28+
ENTRYPOINT ["/bin/bash", "/drivers_entrypoint.sh"]
29+

devops/containers/ubuntu2204_intel_drivers_igc_dev.Dockerfile renamed to devops/containers/ubuntu2404_intel_drivers_igc_dev.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
ARG base_tag=latest
2-
ARG base_image=ghcr.io/intel/llvm/ubuntu2204_base
2+
ARG base_image=ghcr.io/intel/llvm/ubuntu2404_base
33

44
FROM $base_image:$base_tag
55

devops/dependencies-igc-dev.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"linux": {
33
"igc_dev": {
4-
"github_tag": "igc-dev-6ee988a",
5-
"version": "6ee988a",
6-
"updated_at": "2024-11-26T15:44:10Z",
7-
"url": "https://api.github.com/repos/intel/intel-graphics-compiler/actions/artifacts/2239640503/zip",
4+
"github_tag": "igc-dev-3db59df",
5+
"version": "3db59df",
6+
"updated_at": "2024-12-03T20:43:00Z",
7+
"url": "https://api.github.com/repos/intel/intel-graphics-compiler/actions/artifacts/2248119261/zip",
88
"root": "{DEPS_ROOT}/opencl/runtime/linux/oclgpu"
99
}
1010
}

devops/scripts/install_drivers.sh

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,23 +119,32 @@ InstallIGFX () {
119119
# This can help us avoid using the risky force-depends-version option in dpkg command.
120120
#
121121
# Of course, this also installed the libopencl-clang so that we can copy and use later as a temporariy workaround.
122+
IS_IGC_DEV=$(CheckIGCdevTag $IGCTAG)
123+
UBUNTU_VER="u22\.04"
124+
if [ "$IS_IGC_DEV" == "Yes" ] || [ "$L0_TAG" == "latest" ]; then
125+
UBUNTU_VER="u24\.04"
126+
fi
122127
get_release intel/intel-graphics-compiler $IGC_TAG \
123128
| grep ".*deb" \
124129
| wget -qi -
125130
get_release intel/compute-runtime $CR_TAG \
126131
| grep -E ".*((deb)|(sum))" \
127132
| wget -qi -
128133
# Perform the checksum conditionally and then get the release
129-
sha256sum -c *.sum && \
134+
# Skip the ww45 checksum because the igc_dev driver was manually updated
135+
# so the package versions don't exactly match.
136+
if [ ! -f "ww45.sum" ]; then
137+
sha256sum -c *.sum
138+
fi
130139
get_release intel/cm-compiler $CM_TAG \
131140
| grep ".*deb" \
132141
| grep -v "u18" \
133142
| wget -qi -
134143
get_release oneapi-src/level-zero $L0_TAG \
135-
| grep ".*u22\.04.*deb" \
144+
| grep ".*$UBUNTU_VER.*deb" \
136145
| wget -qi -
137146
dpkg -i *.deb && rm *.deb *.sum
138-
IS_IGC_DEV=$(CheckIGCdevTag $IGCTAG)
147+
mkdir -p /usr/local/lib/igc/
139148
echo "$IGC_TAG" > /usr/local/lib/igc/IGCTAG.txt
140149
if [ "$IS_IGC_DEV" == "Yes" ]; then
141150
# Dev IGC deb package did not include libopencl-clang

sycl/doc/developer/DockerBKMs.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,17 +41,20 @@ The following containers are publicly available for DPC++ compiler development:
4141
- `ghcr.io/intel/llvm/ubuntu2404_base`: contains basic Ubuntu 24.04 environment
4242
setup for building DPC++ compiler from source.
4343
- `ghcr.io/intel/llvm/ubuntu2204_intel_drivers`: contains everything from the
44-
base container + pre-installed Intel drivers.
45-
The image comes in four flavors/tags:
44+
Ubuntu 22.04 base container + pre-installed Intel drivers.
45+
The image comes in two flavors/tags:
4646
* `latest`: Intel drivers are downloaded from release/tag and saved in
4747
dependencies.json. The drivers are tested/validated everytime we upgrade
4848
the driver.
49+
* `alldeps`: Includes the same Intel drivers as `latest`, as well as the
50+
development kits for NVidia/AMD from the `ubuntu2204_build` container.
51+
- `ghcr.io/intel/llvm/ubuntu2404_intel_drivers`: contains everything from the
52+
Ubuntu 24.04 base container + pre-installed Intel drivers.
53+
The image comes in two flavors/tags:
4954
* `devigc`: Intel Graphics Compiler driver from github actions artifacts,
5055
other drivers are downloaded from release/tag and saved in dependencies.json.
5156
* `unstable`: Intel drivers are downloaded from release/latest.
5257
The drivers are installed as it is, not tested or validated.
53-
* `alldeps`: Includes the same Intel drivers as `latest`, as well as the
54-
development kits for NVidia/AMD from the `ubuntu2204_build` container.
5558
- `ghcr.io/intel/llvm/ubuntu2204_build`: has development kits installed for
5659
NVidia/AMD and can be used for building DPC++ compiler from source with all
5760
backends enabled or for end-to-end testing with HIP/CUDA on machines with

0 commit comments

Comments
 (0)