From dbb12a5092e9d88e2cfff604add734bdf694a49e Mon Sep 17 00:00:00 2001 From: "Kornev, Nikita" Date: Mon, 30 Jun 2025 14:14:10 +0200 Subject: [PATCH 1/4] [CI][sycl-rel] Change build image Our public releases should satisy these requrements - https://vfxplatform.com/ Among them - glibc 2.28. The best way to achieve it is to use ASWF images, which already have the required env. I've created a container based on aswf/ci-base:2025.1. The original image already contains CUDA SDK, but not ROCm. So I've additionally installed it using https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html for RHEL 8.10. --- .github/workflows/sycl-rel-nightly.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sycl-rel-nightly.yml b/.github/workflows/sycl-rel-nightly.yml index aa751bcf41583..f750870a3b03c 100644 --- a/.github/workflows/sycl-rel-nightly.yml +++ b/.github/workflows/sycl-rel-nightly.yml @@ -12,8 +12,8 @@ jobs: with: build_cache_root: "/__w/" build_artifact_suffix: default - build_configure_extra_args: '--disable-jit --no-assertions --add_security_flags=sanitize --hip --cuda' - build_image: ghcr.io/intel/llvm/ubuntu2204_build:latest-133fee559371ce0e6ff867e378c21cde2bdf6c90 + build_configure_extra_args: '-DCMAKE_INSTALL_LIBDIR=lib --disable-jit --no-assertions --add_security_flags=sanitize --hip --cuda' + build_image: ghcr.io/kornevnikita/llvm:latest pack_release: 'true' # We upload the build for people to download/use, override its name and From 5fe4c147f53ca829e427cb1f2f28b01b3f073638 Mon Sep 17 00:00:00 2001 From: "Kornev, Nikita" Date: Wed, 2 Jul 2025 18:38:14 +0200 Subject: [PATCH 2/4] upd --- .github/workflows/sycl-rel-nightly.yml | 2 +- devops/containers/release_build.DockerFile | 28 ++++++++++++++++++++++ devops/scripts/create-sycl-user.sh | 5 +++- 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 devops/containers/release_build.DockerFile diff --git a/.github/workflows/sycl-rel-nightly.yml b/.github/workflows/sycl-rel-nightly.yml index f750870a3b03c..8da48b64b2791 100644 --- a/.github/workflows/sycl-rel-nightly.yml +++ b/.github/workflows/sycl-rel-nightly.yml @@ -13,7 +13,7 @@ jobs: build_cache_root: "/__w/" build_artifact_suffix: default build_configure_extra_args: '-DCMAKE_INSTALL_LIBDIR=lib --disable-jit --no-assertions --add_security_flags=sanitize --hip --cuda' - build_image: ghcr.io/kornevnikita/llvm:latest + build_image: ghcr.io/intel/llvm/release_build:latest pack_release: 'true' # We upload the build for people to download/use, override its name and diff --git a/devops/containers/release_build.DockerFile b/devops/containers/release_build.DockerFile new file mode 100644 index 0000000000000..00f516a05e585 --- /dev/null +++ b/devops/containers/release_build.DockerFile @@ -0,0 +1,28 @@ +FROM docker.io/aswf/ci-base:2025.1 + +ENV DEBIAN_FRONTEND=noninteractive + +USER root + +COPY scripts/create-sycl-user.sh /user-setup.sh +RUN /user-setup.sh + +# Install ROCm (for RHEL 8.10), see: +# https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html +RUN dnf -y install https://repo.radeon.com/amdgpu-install/6.4.1/rhel/8.10/amdgpu-install-6.4.60401-1.el8.noarch.rpm +RUN dnf clean all +RUN wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +RUN rpm -e epel-release +RUN rpm -ivh epel-release-latest-8.noarch.rpm +RUN dnf install dnf-plugin-config-manager +RUN crb enable +RUN dnf -y install python3-setuptools python3-wheel +RUN usermod -a -G render,video sycl # Add the current user to the render and video groups +RUN dnf -y install rocm +RUN dnf list installed | grep -i rocm + +COPY scripts/docker_entrypoint.sh /docker_entrypoint.sh + +USER sycl + +ENTRYPOINT ["/docker_entrypoint.sh"] \ No newline at end of file diff --git a/devops/scripts/create-sycl-user.sh b/devops/scripts/create-sycl-user.sh index 7199f1eaf10cd..3632bd9d01d97 100755 --- a/devops/scripts/create-sycl-user.sh +++ b/devops/scripts/create-sycl-user.sh @@ -13,7 +13,10 @@ USER_ID=1001 groupadd -g $USER_ID $USER_NAME && useradd $USER_NAME -u $USER_ID -g $USER_ID -m -s /bin/bash # Add user to video/irc groups so that it can access GPU usermod -aG video $USER_NAME -usermod -aG irc $USER_NAME +# Not all OS have irc group +if grep -qi 'ubuntu' /etc/os-release; then + usermod -aG irc $USER_NAME +fi # group 109 is required for user to access PVC card. groupadd -f -g 109 render From 666fbce2a58513a790eb6e1e7f1e544616269e90 Mon Sep 17 00:00:00 2001 From: "Kornev, Nikita" Date: Wed, 2 Jul 2025 18:39:04 +0200 Subject: [PATCH 3/4] empty line at the end --- devops/containers/release_build.DockerFile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devops/containers/release_build.DockerFile b/devops/containers/release_build.DockerFile index 00f516a05e585..c037de89ca454 100644 --- a/devops/containers/release_build.DockerFile +++ b/devops/containers/release_build.DockerFile @@ -25,4 +25,4 @@ COPY scripts/docker_entrypoint.sh /docker_entrypoint.sh USER sycl -ENTRYPOINT ["/docker_entrypoint.sh"] \ No newline at end of file +ENTRYPOINT ["/docker_entrypoint.sh"] From 0f537526683b35c0b7e8f09e61efd29e13d94a74 Mon Sep 17 00:00:00 2001 From: "Kornev, Nikita" Date: Thu, 3 Jul 2025 10:54:41 +0200 Subject: [PATCH 4/4] this is for sycl branch --- devops/containers/release_build.DockerFile | 28 ---------------------- devops/scripts/create-sycl-user.sh | 5 +--- 2 files changed, 1 insertion(+), 32 deletions(-) delete mode 100644 devops/containers/release_build.DockerFile diff --git a/devops/containers/release_build.DockerFile b/devops/containers/release_build.DockerFile deleted file mode 100644 index c037de89ca454..0000000000000 --- a/devops/containers/release_build.DockerFile +++ /dev/null @@ -1,28 +0,0 @@ -FROM docker.io/aswf/ci-base:2025.1 - -ENV DEBIAN_FRONTEND=noninteractive - -USER root - -COPY scripts/create-sycl-user.sh /user-setup.sh -RUN /user-setup.sh - -# Install ROCm (for RHEL 8.10), see: -# https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html -RUN dnf -y install https://repo.radeon.com/amdgpu-install/6.4.1/rhel/8.10/amdgpu-install-6.4.60401-1.el8.noarch.rpm -RUN dnf clean all -RUN wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -RUN rpm -e epel-release -RUN rpm -ivh epel-release-latest-8.noarch.rpm -RUN dnf install dnf-plugin-config-manager -RUN crb enable -RUN dnf -y install python3-setuptools python3-wheel -RUN usermod -a -G render,video sycl # Add the current user to the render and video groups -RUN dnf -y install rocm -RUN dnf list installed | grep -i rocm - -COPY scripts/docker_entrypoint.sh /docker_entrypoint.sh - -USER sycl - -ENTRYPOINT ["/docker_entrypoint.sh"] diff --git a/devops/scripts/create-sycl-user.sh b/devops/scripts/create-sycl-user.sh index 3632bd9d01d97..7199f1eaf10cd 100755 --- a/devops/scripts/create-sycl-user.sh +++ b/devops/scripts/create-sycl-user.sh @@ -13,10 +13,7 @@ USER_ID=1001 groupadd -g $USER_ID $USER_NAME && useradd $USER_NAME -u $USER_ID -g $USER_ID -m -s /bin/bash # Add user to video/irc groups so that it can access GPU usermod -aG video $USER_NAME -# Not all OS have irc group -if grep -qi 'ubuntu' /etc/os-release; then - usermod -aG irc $USER_NAME -fi +usermod -aG irc $USER_NAME # group 109 is required for user to access PVC card. groupadd -f -g 109 render