Skip to content

[CI] Use Ubuntu 24.04 for dev-igc and unstable #16255

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Dec 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/sycl-containers-igc-dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ jobs:
strategy:
matrix:
include:
- name: Intel Drivers Ubuntu 22.04 Docker image with dev IGC
dockerfile: ubuntu2204_intel_drivers_igc_dev
imagefile: ubuntu2204_intel_drivers
- name: Intel Drivers Ubuntu 24.04 Docker image with dev IGC
dockerfile: ubuntu2404_intel_drivers_igc_dev
imagefile: ubuntu2404_intel_drivers
tag: devigc
build_args: |
"use_latest=false"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/sycl-containers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ jobs:
file: ubuntu2204_intel_drivers
tag: latest
build_args: "use_latest=false"
- name: Intel Drivers (unstable) Ubuntu 22.04 Docker image
file: ubuntu2204_intel_drivers
- name: Intel Drivers (unstable) Ubuntu 24.04 Docker image
file: ubuntu2404_intel_drivers
tag: unstable
build_args: "use_latest=true"
- name: Build + Intel Drivers Ubuntu 22.04 Docker image
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sycl-linux-precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ jobs:
env: '{"LIT_FILTER":${{ needs.determine_arc_tests.outputs.arc_tests }} }'
- name: E2E tests with dev igc on Intel Arc A-Series Graphics
runner: '["Linux", "arc"]'
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:devigc
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
target_devices: level_zero:gpu;opencl:gpu
reset_intel_gpu: true
Expand Down
29 changes: 29 additions & 0 deletions devops/containers/ubuntu2404_intel_drivers.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
ARG base_tag=latest
ARG base_image=ghcr.io/intel/llvm/ubuntu2404_base

FROM $base_image:$base_tag

ENV DEBIAN_FRONTEND=noninteractive

ARG use_latest=true

RUN apt update && apt install -yqq wget

COPY scripts/get_release.py /
COPY scripts/install_drivers.sh /
COPY dependencies.json /

RUN mkdir /runtimes
ENV INSTALL_LOCATION=/runtimes
RUN --mount=type=secret,id=github_token \
if [ "$use_latest" = "true" ]; then \
install_driver_opt=" --use-latest"; \
else \
install_driver_opt=" dependencies.json"; \
fi && \
GITHUB_TOKEN=$(cat /run/secrets/github_token) /install_drivers.sh $install_driver_opt --all

COPY scripts/drivers_entrypoint.sh /drivers_entrypoint.sh

ENTRYPOINT ["/bin/bash", "/drivers_entrypoint.sh"]

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ARG base_tag=latest
ARG base_image=ghcr.io/intel/llvm/ubuntu2204_base
ARG base_image=ghcr.io/intel/llvm/ubuntu2404_base

FROM $base_image:$base_tag

Expand Down
8 changes: 4 additions & 4 deletions devops/dependencies-igc-dev.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"linux": {
"igc_dev": {
"github_tag": "igc-dev-6ee988a",
"version": "6ee988a",
"updated_at": "2024-11-26T15:44:10Z",
"url": "https://api.github.com/repos/intel/intel-graphics-compiler/actions/artifacts/2239640503/zip",
"github_tag": "igc-dev-3db59df",
"version": "3db59df",
"updated_at": "2024-12-03T20:43:00Z",
"url": "https://api.github.com/repos/intel/intel-graphics-compiler/actions/artifacts/2248119261/zip",
"root": "{DEPS_ROOT}/opencl/runtime/linux/oclgpu"
}
}
Expand Down
15 changes: 12 additions & 3 deletions devops/scripts/install_drivers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -119,23 +119,32 @@ InstallIGFX () {
# This can help us avoid using the risky force-depends-version option in dpkg command.
#
# Of course, this also installed the libopencl-clang so that we can copy and use later as a temporariy workaround.
IS_IGC_DEV=$(CheckIGCdevTag $IGCTAG)
UBUNTU_VER="u22\.04"
if [ "$IS_IGC_DEV" == "Yes" ] || [ "$L0_TAG" == "latest" ]; then
UBUNTU_VER="u24\.04"
fi
get_release intel/intel-graphics-compiler $IGC_TAG \
| grep ".*deb" \
| wget -qi -
get_release intel/compute-runtime $CR_TAG \
| grep -E ".*((deb)|(sum))" \
| wget -qi -
# Perform the checksum conditionally and then get the release
sha256sum -c *.sum && \
# Skip the ww45 checksum because the igc_dev driver was manually updated
# so the package versions don't exactly match.
if [ ! -f "ww45.sum" ]; then
sha256sum -c *.sum
fi
get_release intel/cm-compiler $CM_TAG \
| grep ".*deb" \
| grep -v "u18" \
| wget -qi -
get_release oneapi-src/level-zero $L0_TAG \
| grep ".*u22\.04.*deb" \
| grep ".*$UBUNTU_VER.*deb" \
| wget -qi -
dpkg -i *.deb && rm *.deb *.sum
IS_IGC_DEV=$(CheckIGCdevTag $IGCTAG)
mkdir -p /usr/local/lib/igc/
echo "$IGC_TAG" > /usr/local/lib/igc/IGCTAG.txt
if [ "$IS_IGC_DEV" == "Yes" ]; then
# Dev IGC deb package did not include libopencl-clang
Expand Down
11 changes: 7 additions & 4 deletions sycl/doc/developer/DockerBKMs.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,17 +41,20 @@ The following containers are publicly available for DPC++ compiler development:
- `ghcr.io/intel/llvm/ubuntu2404_base`: contains basic Ubuntu 24.04 environment
setup for building DPC++ compiler from source.
- `ghcr.io/intel/llvm/ubuntu2204_intel_drivers`: contains everything from the
base container + pre-installed Intel drivers.
The image comes in four flavors/tags:
Ubuntu 22.04 base container + pre-installed Intel drivers.
The image comes in two 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.
* `alldeps`: Includes the same Intel drivers as `latest`, as well as the
development kits for NVidia/AMD from the `ubuntu2204_build` container.
- `ghcr.io/intel/llvm/ubuntu2404_intel_drivers`: contains everything from the
Ubuntu 24.04 base container + pre-installed Intel drivers.
The image comes in two flavors/tags:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe we should provide latest and alldeps for Ubuntu 24.04 as well. Any plans for enabling them in the future?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure, ill do it after i fix the igc-dev builds which is my overall goal with these PRs

* `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.
The drivers are installed as it is, not tested or validated.
* `alldeps`: Includes the same Intel drivers as `latest`, as well as the
development kits for NVidia/AMD from the `ubuntu2204_build` container.
- `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
Expand Down
Loading