From ec682ff22a31c94b58bf667130dc5e8b97cc1872 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 2 Dec 2024 13:48:12 -0500 Subject: ci: Update to ROCm 6 HIP on Fedora 41 The problem that motivated commit 3a44b8dfc0 (ci: Move job for HIP tests on Fedora 39 to a dedicated base image, 2024-04-24, v3.30.0-rc1~202^2~11) turns out to be exposed by spaces in the path to HIP binaries. Move the CI work directory to a path without spaces. Closes: #25932 --- .gitlab-ci.yml | 4 ++-- .gitlab/ci/configure_fedora39_hip_radeon.cmake | 4 ---- .gitlab/ci/configure_fedora41_hip_radeon.cmake | 4 ++++ .gitlab/ci/docker/fedora39-hip/Dockerfile | 27 ------------------------ .gitlab/ci/docker/fedora39-hip/deps_packages.lst | 15 ------------- .gitlab/ci/docker/fedora39-hip/install_deps.sh | 10 --------- .gitlab/ci/docker/fedora41-hip/Dockerfile | 27 ++++++++++++++++++++++++ .gitlab/ci/docker/fedora41-hip/deps_packages.lst | 15 +++++++++++++ .gitlab/ci/docker/fedora41-hip/install_deps.sh | 10 +++++++++ .gitlab/ci/env_fedora39_hip_radeon.sh | 1 - .gitlab/ci/env_fedora41_hip_radeon.sh | 1 + .gitlab/os-linux.yml | 14 ++++++------ 12 files changed, 66 insertions(+), 66 deletions(-) delete mode 100644 .gitlab/ci/configure_fedora39_hip_radeon.cmake create mode 100644 .gitlab/ci/configure_fedora41_hip_radeon.cmake delete mode 100644 .gitlab/ci/docker/fedora39-hip/Dockerfile delete mode 100644 .gitlab/ci/docker/fedora39-hip/deps_packages.lst delete mode 100755 .gitlab/ci/docker/fedora39-hip/install_deps.sh create mode 100644 .gitlab/ci/docker/fedora41-hip/Dockerfile create mode 100644 .gitlab/ci/docker/fedora41-hip/deps_packages.lst create mode 100755 .gitlab/ci/docker/fedora41-hip/install_deps.sh delete mode 100644 .gitlab/ci/env_fedora39_hip_radeon.sh create mode 100644 .gitlab/ci/env_fedora41_hip_radeon.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 222ac91..3fc137e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -219,9 +219,9 @@ t:debian12-hip-radeon: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora39-hip-radeon: +t:fedora41-hip-radeon: extends: - - .fedora39_hip_radeon + - .fedora41_hip_radeon - .cmake_test_linux_release - .linux_x86_64_tags_radeon - .run_dependent diff --git a/.gitlab/ci/configure_fedora39_hip_radeon.cmake b/.gitlab/ci/configure_fedora39_hip_radeon.cmake deleted file mode 100644 index 8271af3..0000000 --- a/.gitlab/ci/configure_fedora39_hip_radeon.cmake +++ /dev/null @@ -1,4 +0,0 @@ -set(CMake_TEST_HIP "amd" CACHE BOOL "") -set(CMake_TEST_HIP_STANDARDS "98;11;14;17;20;23;26" CACHE STRING "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/configure_fedora41_hip_radeon.cmake b/.gitlab/ci/configure_fedora41_hip_radeon.cmake new file mode 100644 index 0000000..8271af3 --- /dev/null +++ b/.gitlab/ci/configure_fedora41_hip_radeon.cmake @@ -0,0 +1,4 @@ +set(CMake_TEST_HIP "amd" CACHE BOOL "") +set(CMake_TEST_HIP_STANDARDS "98;11;14;17;20;23;26" CACHE STRING "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/docker/fedora39-hip/Dockerfile b/.gitlab/ci/docker/fedora39-hip/Dockerfile deleted file mode 100644 index 0347cc4..0000000 --- a/.gitlab/ci/docker/fedora39-hip/Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -# syntax=docker/dockerfile:1 - -ARG BASE_IMAGE=fedora:39 - -FROM ${BASE_IMAGE} AS dnf-cache -# Populate DNF cache w/ the fresh metadata and prefetch packages. -RUN --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ - --mount=type=tmpfs,target=/var/log \ - --mount=type=tmpfs,target=/tmp \ - dnf install \ - --setopt=install_weak_deps=False \ - --setopt=fastestmirror=True \ - --setopt=max_parallel_downloads=10 \ - --downloadonly \ - -y \ - $(grep -h '^[^#]\+$' /root/*.lst) - -FROM ${BASE_IMAGE} -LABEL maintainer="Brad King " - -RUN --mount=type=bind,source=install_deps.sh,target=/root/install_deps.sh \ - --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ - --mount=type=cache,from=dnf-cache,source=/var/cache/dnf,target=/var/cache/dnf,sharing=private \ - --mount=type=cache,target=/var/cache/pip \ - --mount=type=tmpfs,target=/var/log \ - --mount=type=tmpfs,target=/tmp \ - sh /root/install_deps.sh diff --git a/.gitlab/ci/docker/fedora39-hip/deps_packages.lst b/.gitlab/ci/docker/fedora39-hip/deps_packages.lst deleted file mode 100644 index 70b114c..0000000 --- a/.gitlab/ci/docker/fedora39-hip/deps_packages.lst +++ /dev/null @@ -1,15 +0,0 @@ -# Install development tools. -clang -clang-tools-extra -compiler-rt -gcc-c++ -git-core -make - -# Install HIP language toolchain. -hsakmt-devel -lld -llvm -rocm-comgr-devel -rocm-hip-devel -rocm-runtime-devel diff --git a/.gitlab/ci/docker/fedora39-hip/install_deps.sh b/.gitlab/ci/docker/fedora39-hip/install_deps.sh deleted file mode 100755 index eedff9c..0000000 --- a/.gitlab/ci/docker/fedora39-hip/install_deps.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -set -e - -dnf install \ - --setopt=install_weak_deps=False \ - --setopt=fastestmirror=True \ - --setopt=max_parallel_downloads=10 \ - -y \ - $(grep '^[^#]\+$' /root/deps_packages.lst) diff --git a/.gitlab/ci/docker/fedora41-hip/Dockerfile b/.gitlab/ci/docker/fedora41-hip/Dockerfile new file mode 100644 index 0000000..606ddcc --- /dev/null +++ b/.gitlab/ci/docker/fedora41-hip/Dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1 + +ARG BASE_IMAGE=fedora:41 + +FROM ${BASE_IMAGE} AS dnf-cache +# Populate DNF cache w/ the fresh metadata and prefetch packages. +RUN --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ + --mount=type=tmpfs,target=/var/log \ + --mount=type=tmpfs,target=/tmp \ + dnf install \ + --setopt=install_weak_deps=False \ + --setopt=fastestmirror=True \ + --setopt=max_parallel_downloads=10 \ + --downloadonly \ + -y \ + $(grep -h '^[^#]\+$' /root/*.lst) + +FROM ${BASE_IMAGE} +LABEL maintainer="Brad King " + +RUN --mount=type=bind,source=install_deps.sh,target=/root/install_deps.sh \ + --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ + --mount=type=cache,from=dnf-cache,source=/var/lib/dnf,target=/var/lib/dnf,sharing=private \ + --mount=type=cache,target=/var/cache/pip \ + --mount=type=tmpfs,target=/var/log \ + --mount=type=tmpfs,target=/tmp \ + sh /root/install_deps.sh diff --git a/.gitlab/ci/docker/fedora41-hip/deps_packages.lst b/.gitlab/ci/docker/fedora41-hip/deps_packages.lst new file mode 100644 index 0000000..70b114c --- /dev/null +++ b/.gitlab/ci/docker/fedora41-hip/deps_packages.lst @@ -0,0 +1,15 @@ +# Install development tools. +clang +clang-tools-extra +compiler-rt +gcc-c++ +git-core +make + +# Install HIP language toolchain. +hsakmt-devel +lld +llvm +rocm-comgr-devel +rocm-hip-devel +rocm-runtime-devel diff --git a/.gitlab/ci/docker/fedora41-hip/install_deps.sh b/.gitlab/ci/docker/fedora41-hip/install_deps.sh new file mode 100755 index 0000000..eedff9c --- /dev/null +++ b/.gitlab/ci/docker/fedora41-hip/install_deps.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +dnf install \ + --setopt=install_weak_deps=False \ + --setopt=fastestmirror=True \ + --setopt=max_parallel_downloads=10 \ + -y \ + $(grep '^[^#]\+$' /root/deps_packages.lst) diff --git a/.gitlab/ci/env_fedora39_hip_radeon.sh b/.gitlab/ci/env_fedora39_hip_radeon.sh deleted file mode 100644 index 0f7df8d..0000000 --- a/.gitlab/ci/env_fedora39_hip_radeon.sh +++ /dev/null @@ -1 +0,0 @@ -export HIPCXX=/usr/bin/clang++-17 diff --git a/.gitlab/ci/env_fedora41_hip_radeon.sh b/.gitlab/ci/env_fedora41_hip_radeon.sh new file mode 100644 index 0000000..8024f56 --- /dev/null +++ b/.gitlab/ci/env_fedora41_hip_radeon.sh @@ -0,0 +1 @@ +export HIPCXX=/usr/bin/clang++-18 diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml index 6ce543a..6b8c2d0 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -71,12 +71,12 @@ GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci/long file name for testing purposes" CMAKE_ARCH: x86_64 -# FIXME(#25932): Our HIP tests do not fully work in CI with Fedora 40. -.fedora39_hip: - image: "kitware/cmake:ci-fedora39-hip-x86_64-2024-04-24" +.fedora41_hip: + image: "kitware/cmake:ci-fedora41-hip-x86_64-2024-12-02" variables: - GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" + # FIXME(rocclr): device modules fail loading from binaries in paths with spaces + GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci" CMAKE_ARCH: x86_64 #### Lint builds @@ -438,11 +438,11 @@ CMAKE_CONFIGURATION: debian12_hip_radeon CTEST_LABELS: "HIP" -.fedora39_hip_radeon: - extends: .fedora39_hip +.fedora41_hip_radeon: + extends: .fedora41_hip variables: - CMAKE_CONFIGURATION: fedora39_hip_radeon + CMAKE_CONFIGURATION: fedora41_hip_radeon CTEST_LABELS: "HIP" .hip5.5_nvidia: -- cgit v0.12