Skip to content

rocmPackages_10: add rocMLIR - #27

Closed
randomizedcoder wants to merge 1 commit into
rocm10/09-composable-kernelfrom
rocm10/10-rocmlir
Closed

randomizedcoder wants to merge 1 commit into
rocm10/09-composable-kernelfrom
rocm10/10-rocmlir

Conversation

@randomizedcoder

@randomizedcoder randomizedcoder commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

Part 10/14. Part of splitting upstream PR 573885 (rocmPackages: 7.2.4 -> 10.1) into smaller PRs, as asked in its review.

  • Adds to rocmPackages_10: rocmlir-triton (new)
  • Target: master. No existing derivation changes: rocmPackages_10 is not recursed into

How to review

  • One commit adds rocm-modules/10/rocmlir-triton/, started from the 7.2.4 rocmlir expression; the reasons are in the commit message

Notes

  • Split out on reviewer request
  • Packaged at the release/rocm-rel-10.1 head (f347064fea12), the commit MIGraphX's rocm-10.1 requirements.txt pins
  • rocMLIR has no ROCm 10 release, so there is no rocmlir: rocmlir and rocmlir-rock throw with an explanation, and the release notes say so
  • MIGraphX uses it; MIOpen doesn't (10.1 builds MIOpen without MLIR, see rocmPackages_10: add MIOpen #28)

Testing

  • rocmPackages_10 evaluates: 59 derivations, 0 failures
  • Built on x86_64-linux with the default GPU targets
  • nixpkgs-review: no rebuilds in the default package set
  • Hardware smoke tests: see rocmPackages: 7.2.4 -> 10.1 #31

Series

Preparatory PRs, each against master: #10, #11, #15, #16, #17.

Part PR Contents Base
1 #18 rocmPackages_10: init master
2 #19 llvm (LLVM 24) #18
3 #20 runtime #19
4 #21 profiling and debugging tools, RCCL #20
5 #22 rocPRIM, rocRAND, rocFFT #21
6 #23 hipBLASLt #22
7 #24 Tensile and rocBLAS #23
8 #25 sparse, solvers, rocALUTION, rocWMMA, hipfort #24
9 #26 composable_kernel #25
▶ 10 #27 rocMLIR (this PR) #26
11 #28 MIOpen #27
12 #29 MIGraphX, RPP, MIVisionX #28
13 #30 remaining packages #29
14 #31 rocmPackages: 7.2.4 -> 10.1 (the switch) #30

🤖 Generated with Claude Code

@randomizedcoder
randomizedcoder force-pushed the rocm10/10-rocmlir branch 2 times, most recently from e621057 to d31e13e Compare October 17, 2026 02:50
@randomizedcoder
randomizedcoder force-pushed the rocm10/09-composable-kernel branch from 16bee19 to 8148431 Compare October 17, 2026 16:20
@randomizedcoder
randomizedcoder force-pushed the rocm10/09-composable-kernel branch from 8148431 to ce6e3df Compare October 20, 2026 06:44
@randomizedcoder
randomizedcoder force-pushed the rocm10/09-composable-kernel branch from ce6e3df to 3af6d0c Compare October 21, 2026 07:15
@randomizedcoder
randomizedcoder force-pushed the rocm10/09-composable-kernel branch from 3af6d0c to ddf83e6 Compare October 22, 2026 14:51
rocmlirTriton is the fork of rocMLIR that AMDMIGraphX 10.1 pins
(requirements.txt: ROCm/rocmlirTriton@release/rocm-rel-10.1, a branch;
the repository has no tags). ROCm/rocMLIR has no ROCm 10 release, so
rocmPackages_10 has no rocmlir; with aliases enabled, rocmlir and
rocmlir-rock throw with that explanation. The expression starts from
rocmPackages.rocmlir.

From "rocmPackages.rocmlir: track rocmlirTriton for therock-10.1":

ROCm 10.1's AMDMIGraphX (rocm-10.1) moved its rocMLIR pin to a new
upstream repo: requirements.txt pins
ROCm/rocmlirTriton@release/rocm-rel-10.1. It has no ROCm 10.x tag, so
track the branch-head commit directly, as the old ROCm/rocMLIR pin did.

Build fixes for the new source:
- pybind11 for the Rock Python bindings' find_package(pybind11).
- LLVM_TARGETS_TO_BUILD: append the native target unconditionally.
  Triton's librockcompiler_deps.cmake bundles host codegen
  (LLVMX86AsmParser/CodeGen/ Desc/Disassembler/Info) into the
  librockCompiler fat archive, which failed to link with AMDGPU-only.
- MLIR_INCLUDE_TESTS=false: the check-rocmlir lit suite DEPENDS on
  ci-performance-scripts, a target only created when
  MLIR_ENABLE_ROCM_RUNNER is on (off for the rock-compiler build), so
  Generate failed.
- preConfigure: give the build a writable HOME and TRITON_CACHE_PATH.
  Triton's build_helpers.py symlinks the in-tree LLVM into $HOME/.triton
  at configure time, which failed against the read-only
  /homeless-shelter.
- postPatch: patchShebangs the whole external/llvm-project/mlir subtree
  and drop the BufferDependencyAnalysis.cpp enum-class fix (file no
  longer ships).

Revised during the split review:

Package it as rocmlir-triton instead of replacing rocmlir. Point the
homepage at rocmlirTriton and remove the generic tag updater: the
revision must move together with MIGraphX's pin.

Assisted-by: Claude Code (claude-opus-5-5)
@randomizedcoder

Copy link
Copy Markdown
Owner Author

Opened upstream as NixOS#579523.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant