Split iree-libs into iree-compiler + fusilli-libs stages and add to Multi-Arch CI pipeline#3611
Conversation
41bc9a3 to
4303664
Compare
…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>
f5ddebc to
b23c53b
Compare
b23c53b to
d96da8d
Compare
iree-libs into iree-compiler + fusilli-libs stages and add to Multi-Crch CI pipeline
iree-libs into iree-compiler + fusilli-libs stages and add to Multi-Crch CI pipelineiree-libs into iree-compiler + fusilli-libs stages and add to Multi-Arch CI pipeline
marbre
left a comment
There was a problem hiding this comment.
Not much in addition to what Scott already raised before.
cab9a1c to
1fe5df5
Compare
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>
| 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"] |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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):
Lines 179 to 182 in c6bc478
The same pattern is included in every other base artifact group at the moment:
Lines 260 to 261 in c6bc478
Lines 273 to 274 in c6bc478
Lines 286 to 287 in c6bc478
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.
| 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"] |
There was a problem hiding this comment.
As above, does this really need rocm-systems?
Motivation
Closes: #3451
Adds IREE/fusilli related stages to the multi-arch CI pipeline and splits
iree-compilerandfusilli-libsinto separate build stages.iree-compilerrequires an entire LLVM build, so there's a significant savings by overlapping withmath-libsetc. stages.Technical Details
Changes:
[build_stages.iree-libs]and[artifact_groups.iree-libs]into separateiree-compilerandfusilli-libsstages inBUILD_TOPOLOGY.tomlmulti_arch_build_portable_linux.ymlTest Plan
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