Skip to content

Split iree-libs into iree-compiler + fusilli-libs stages and add to Multi-Arch CI pipeline#3611

Merged
AaronStGeorge merged 7 commits intomainfrom
multi_arch/p025-fusilli-multi-arch-build
Mar 10, 2026
Merged

Split iree-libs into iree-compiler + fusilli-libs stages and add to Multi-Arch CI pipeline#3611
AaronStGeorge merged 7 commits intomainfrom
multi_arch/p025-fusilli-multi-arch-build

Conversation

@AaronStGeorge
Copy link
Copy Markdown
Contributor

@AaronStGeorge AaronStGeorge commented Feb 25, 2026

Motivation

Closes: #3451

Adds IREE/fusilli related stages to the multi-arch CI pipeline and splits iree-compiler and fusilli-libs into separate build stages. iree-compiler requires an entire LLVM build, so there's a significant savings by overlapping with math-libs etc. stages.

Technical Details

Changes:

  • Split [build_stages.iree-libs] and [artifact_groups.iree-libs] into separate iree-compiler and fusilli-libs stages in BUILD_TOPOLOGY.toml
  • Added corresponding workflow jobs in multi_arch_build_portable_linux.yml

Test Plan

  • CI pipeline runs the new iree-compiler and fusilli-libs stages end-to-end
  • fusilliprovider test job fetches artifacts and runs test_fusilliprovider.py

Test Result

The fusilli build is currently OFF in TheRock, but by temporarily turning it ON we can see a successful build/test here.

Submission Checklist

@AaronStGeorge AaronStGeorge force-pushed the multi_arch/p025-fusilli-multi-arch-build branch 3 times, most recently from 41bc9a3 to 4303664 Compare February 26, 2026 03:44
AaronStGeorge and others added 3 commits February 27, 2026 01:10
…ch CI

The iree-compiler stage (~3hr LLVM build) runs parallel to math-libs,
then fusilli-libs runs after both complete. This avoids blocking the
IREE compiler build on math-libs while still satisfying fusilliprovider's
hipdnn dependency.

Changes:
- BUILD_TOPOLOGY.toml: Split iree-libs stage/group into iree-compiler
  and fusilli-libs, with feature_group="IREE_LIBS" to preserve single toggle
- multi_arch_build_portable_linux.yml: Add iree-compiler and fusilli-libs jobs
- CMakeLists.txt: Remove resolved TODO, fix quoting, enable by default

Resolves: #3451

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The fusilliprovider artifact was missing TARGET_NEUTRAL, causing it to
be named with a target-specific suffix (e.g. _gfx94X-dcgpu) instead of
_generic. This made the multi-arch CI artifact push fail with "No
matching artifacts found" since BUILD_TOPOLOGY.toml already declared it
as target-neutral.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@AaronStGeorge AaronStGeorge force-pushed the multi_arch/p025-fusilli-multi-arch-build branch from f5ddebc to b23c53b Compare February 28, 2026 01:04
Comment thread CMakeLists.txt Outdated
Comment thread build_tools/github_actions/fetch_test_configurations.py Outdated
@AaronStGeorge AaronStGeorge force-pushed the multi_arch/p025-fusilli-multi-arch-build branch from b23c53b to d96da8d Compare February 28, 2026 04:10
@AaronStGeorge AaronStGeorge changed the title [CI TEST] Split iree-libs into iree-compiler + fusilli-libs stages for multi-arch CI Split iree-libs into iree-compiler + fusilli-libs stages and add to multi-arch CI pipeline Feb 28, 2026
@AaronStGeorge AaronStGeorge changed the title Split iree-libs into iree-compiler + fusilli-libs stages and add to multi-arch CI pipeline Split iree-libs into iree-compiler + fusilli-libs stages and add to Multi-Crch CI pipeline Feb 28, 2026
@AaronStGeorge AaronStGeorge changed the title Split iree-libs into iree-compiler + fusilli-libs stages and add to Multi-Crch CI pipeline Split iree-libs into iree-compiler + fusilli-libs stages and add to Multi-Arch CI pipeline Feb 28, 2026
@AaronStGeorge AaronStGeorge marked this pull request as ready for review February 28, 2026 04:52
Comment thread .github/workflows/multi_arch_build_portable_linux.yml
Comment thread build_tools/github_actions/fetch_test_configurations.py Outdated
Comment thread iree-libs/CMakeLists.txt
Comment thread .github/workflows/multi_arch_build_portable_linux.yml Outdated
Copy link
Copy Markdown
Member

@marbre marbre left a comment

Choose a reason for hiding this comment

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

Not much in addition to what Scott already raised before.

Comment thread .github/workflows/multi_arch_build_portable_linux.yml Outdated
Comment thread build_tools/github_actions/fetch_test_configurations.py Outdated
Comment thread iree-libs/CMakeLists.txt
Comment thread CMakeLists.txt Outdated
Comment thread .github/workflows/multi_arch_build_portable_linux.yml
@AaronStGeorge AaronStGeorge force-pushed the multi_arch/p025-fusilli-multi-arch-build branch from cab9a1c to 1fe5df5 Compare March 4, 2026 13:32
AaronStGeorge added a commit to AaronStGeorge/TheRock that referenced this pull request Mar 5, 2026
Squashed roll-up of ROCm#3611 with
follow-up fixes (bumps, comments, TARGET_NEUTRAL).

Splits the iree-libs build stage into iree-compiler and fusilli-libs
for multi-arch CI. The iree-compiler stage (potential 1hr LLVM build)
runs parallel to math-libs, then fusilli-libs runs after both complete.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Comment thread .github/workflows/multi_arch_build_portable_linux.yml
Comment thread BUILD_TOPOLOGY.toml
artifact_group_deps = ["hip-runtime"]
source_sets = ["iree-libs"]
# TODO: rocm-systems included for projects/hip/VERSION (see CMakeLists.txt)
source_sets = ["iree-libs", "rocm-systems"]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Does IREE compiler really need projects/hip/VERSION? Furthermore, with the renaming iree-libs now only is a source set. Is there a better name for this?

Copy link
Copy Markdown
Contributor Author

@AaronStGeorge AaronStGeorge Mar 10, 2026

Choose a reason for hiding this comment

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

It doesn't, this is a workaround for a pre-existing issue. Currently, without "rocm-systems" configure crashes during an unconditional read of projects/hip/VERSION in TheRock 's main CMakeLists.txt (before we would even get to IREE):

TheRock/CMakeLists.txt

Lines 179 to 182 in c6bc478

set(VERSION_PATH "${THEROCK_ROCM_SYSTEMS_SOURCE_DIR}/projects/hip/VERSION")
if(NOT EXISTS "${VERSION_PATH}")
message(FATAL_ERROR "Could not find HIP VERSION file: ${VERSION_PATH}")
endif()

The same pattern is included in every other base artifact group at the moment:

TheRock/BUILD_TOPOLOGY.toml

Lines 260 to 261 in c6bc478

# TODO: rocm-systems included for projects/hip/VERSION (see CMakeLists.txt)
source_sets = ["rocm-libraries", "rocm-systems", "math-libs"]

TheRock/BUILD_TOPOLOGY.toml

Lines 273 to 274 in c6bc478

# TODO: rocm-systems included for projects/hip/VERSION (see CMakeLists.txt)
source_sets = ["comm-libs", "rocm-systems"]

TheRock/BUILD_TOPOLOGY.toml

Lines 286 to 287 in c6bc478

# TODO: rocm-systems included for projects/hip/VERSION (see CMakeLists.txt)
source_sets = ["base", "rocm-systems"] # RDC uses amdsmi from core-amdsmi

It seems to me that the underlying issue + all the other stages should definitely be fixed, but it's out of scope for this PR.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Ohh... missed that.

Comment thread BUILD_TOPOLOGY.toml
type = "generic"
artifact_group_deps = ["hip-runtime", "iree-compiler"]
# TODO: rocm-systems included for projects/hip/VERSION (see CMakeLists.txt)
source_sets = ["iree-libs", "rocm-systems"]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

As above, does this really need rocm-systems?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Same

@amd-shiraz amd-shiraz self-requested a review March 10, 2026 00:44
@AaronStGeorge AaronStGeorge requested a review from marbre March 10, 2026 16:04
Copy link
Copy Markdown
Member

@marbre marbre left a comment

Choose a reason for hiding this comment

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

LGTM

@AaronStGeorge AaronStGeorge merged commit 0b0813f into main Mar 10, 2026
205 of 214 checks passed
@AaronStGeorge AaronStGeorge deleted the multi_arch/p025-fusilli-multi-arch-build branch March 10, 2026 22:44
@github-project-automation github-project-automation Bot moved this from TODO to Done in TheRock Triage Mar 10, 2026
@ScottTodd ScottTodd mentioned this pull request Mar 13, 2026
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Add iree-libs stage to multi-arch CI pipeline

5 participants