Skip to content

Bump CI to TheRock 7.14 - #4952

Open
causten wants to merge 48 commits into
developfrom
bumpci7_13
Open

Bump CI to TheRock 7.14#4952
causten wants to merge 48 commits into
developfrom
bumpci7_13

Conversation

@causten

@causten causten commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Motivation

Move CI to TheRock 7.14

Technical Details

Changes were significant enough to just rename original files to legacy and add the 7.13 to the default files

Changelog Category

Add a CHANGELOG.md entry for any option other than Not Applicable

    • Added: New functionality.
    • Changed: Changes to existing functionality.
    • Removed: Functionality or support that has been removed. (Compared to a previous release)
    • Optimized: Component performance that has been optimized or improved.
    • Resolved Issues: Known issues from a previous version that have been resolved.
    • Not Applicable: This PR is not to be included in the changelog.

@causten
causten requested a review from a team as a code owner June 10, 2026 16:46
Copilot AI review requested due to automatic review settings June 10, 2026 16:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR moves MIGraphX’s CI and default Docker build environment to ROCm “TheRock” multi-arch (amdrocm-*) packages targeting ROCm 7.13, while preserving older ROCm (7.2.x and earlier) flows via “legacy” Dockerfiles.

Changes:

  • Added a cross-distro tools/install_build_prereqs.sh to install build prerequisites + TheRock ROCm components (optionally via wheels).
  • Updated CI image Dockerfile (hip-clang.docker) and the default Dockerfile to use Ubuntu 24.04 + ROCm 7.13 TheRock packages.
  • Introduced legacy Dockerfiles and updated docs/changelog to reflect the new default and legacy paths.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
tools/install_build_prereqs.sh New shared installer script for build prerequisites and ROCm TheRock components.
tools/docker/therock_deb.docker Removed older TheRock deb-based Dockerfile (replaced by new defaults/legacy split).
tools/docker/legacy.dockerfile Added legacy dev Dockerfile for ROCm 7.2.x and older.
README.md Updated Docker build instructions and documented legacy Dockerfile usage.
hip-clang.docker Updated CI image to Ubuntu 24.04 + ROCm 7.13 TheRock, and prebuilds deps via rbuild.
hip-clang-legacy.docker Added legacy CI image Dockerfile (older ROCm packaging).
Dockerfile Updated default dev Dockerfile to Ubuntu 24.04 + ROCm 7.13 TheRock using the shared prereqs script.
CHANGELOG.md Added entry for ROCm 7.13/TheRock build support.
.github/workflows/ci.yaml Updated CI image tag hashing inputs to reflect the new prereqs script.

Comment thread tools/install_build_prereqs.sh Outdated
Comment thread tools/install_build_prereqs.sh Outdated
Comment thread Dockerfile Outdated
Comment thread Dockerfile Outdated
Comment thread hip-clang.docker Outdated
Comment thread CHANGELOG.md
Comment thread README.md Outdated
Comment thread tools/docker/hip-clang-legacy.docker
Comment thread hip-clang.docker Outdated
Comment thread hip-clang.docker Outdated
Comment thread hip-clang.docker Outdated
Comment thread hip-clang.docker Outdated
Comment thread hip-clang.docker Outdated

@pfultz2 pfultz2 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The AI generated dockers are really awful and should be simplified and made more readable like the original dockers. Too many commands put into the same line.

Also, this is missing the update to the SLES docker.

Comment thread hip-clang.docker Outdated
Comment thread tools/install_build_prereqs.sh Outdated
Comment thread tools/install_build_prereqs.sh Outdated
Comment thread Dockerfile
hipsparselt \
half \
libssl-dev \
zlib1g-dev && \

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

We are missing packages here, like clang-17.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

While checking the ASAN issue I'm going to go with a suggested workaround using the clang version provided by TheRock since clang-17 didn't have a fix. runtime ASAN_OPTIONS=detect_odr_violation=0, or compile-time -mllvm -asan-use-private-alias=1 + use_odr_indicator=1.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

runtime ASAN_OPTIONS=detect_odr_violation=0, or compile-time -mllvm -asan-use-private-alias=1 + use_odr_indicator=1.

That workaround never fixed the issue in the past.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Also, this is just making more unnecessary changes in this PR. This PR should only focus on updating to rocm 7.13, it shouldn't be making these change. The docker file should have a minimal amount of changes with most of the changes in install_preqs.sh file.

Comment thread Dockerfile
Comment thread Dockerfile
Comment thread Dockerfile
@causten causten changed the title Bumpci7 13 Bump CI to TheRock 7.13 Jun 11, 2026
@codecov

codecov Bot commented Jun 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #4952   +/-   ##
========================================
  Coverage    93.26%   93.26%           
========================================
  Files          623      623           
  Lines        33097    33097           
========================================
  Hits         30866    30866           
  Misses        2231     2231           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 5 comments.

Comment thread .github/workflows/ci.yaml Outdated
Comment thread tools/install_prereqs.sh
Comment thread hip-clang.docker Outdated
Comment thread tools/install_prereqs.sh Outdated
Comment thread Dockerfile Outdated
@CharlieL7
CharlieL7 self-requested a review June 29, 2026 15:31
Comment thread CMakeLists.txt

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Why are the clang_tidy flags being changed?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I assume these are new warnings from newer cland tidy version. We should address these in a seperate PR.

Comment thread Dockerfile Outdated
RUN /install_prereqs.sh /usr/local / && rm /install_prereqs.sh && rm /requirements-py.txt
RUN test -f /usr/local/hash || exit 1
COPY tools/install_prereqs.sh /tmp/install_prereqs.sh
RUN chmod +x /tmp/install_prereqs.sh && \

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Add install_preqs.sh like we did in the other dockerfile.

Comment thread Dockerfile Outdated
"torchaudio==2.11.0+rocm${ROCM_VERSION}.0"

ADD tools/requirements-py.txt /requirements-py.txt
RUN CMAKE_ARGS="-DONNX_USE_PROTOBUF_SHARED_LIBS=ON" pip3 install -r /requirements-py.txt && \

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This should be done in the install_preqs.sh file.

Comment thread Jenkinsfile Outdated
mkdir build
cd build
cmake -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DBUILD_DEV=On -DCMAKE_EXECUTE_PROCESS_COMMAND_ECHO=STDOUT -DMIGRAPHX_DISABLE_VIRTUAL_ENV=ON ${flags} ..
cmake -DCMAKE_PREFIX_PATH=/usr/local -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DBUILD_DEV=On -DCMAKE_EXECUTE_PROCESS_COMMAND_ECHO=STDOUT -DMIGRAPHX_DISABLE_VIRTUAL_ENV=ON ${flags} ..

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

/usr/local is already part of the prefix path in cmake. This should not be needed.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

it wasn't working without it. See the build logs

Comment thread hip-clang.docker
Comment thread hip-clang.docker
@causten causten changed the title Bump CI to TheRock 7.13 Bump CI to TheRock 7.14 Jul 16, 2026
@causten
causten requested a review from Copilot July 16, 2026 16:33
@causten

causten commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator Author

@causten Currently, we are able to reuse the same approach already in the Jenkinsfile, which detects the node's GPU arch with rocminfo and pass it explicitly into the perf build step. I am working on the permanent fix that would be repaired by the pre-arch meta package

So this PR ready to review or waiting for further changes to use that approach?

Paul wants to make some changes. This one will likely not get merged.

kentqian added a commit that referenced this pull request Jul 30, 2026
The TheRock package name and the .deb/.rpm filename disagree: the filename
is already amdrocm-migraphx (set in UFB) while rocm_create_package still
emits migraphx, so apt/dnf see a different name than the file advertises.
Fixing that only needs _MGX_PKG_NAME plumbed into rocm_create_package.

Dropping the per-arch dependency block is a separate design question that
overlaps with #4952, and it was holding up a rename that is otherwise
independent. That work moves to kqian1/therock-drop-per-arch-deps.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants