Skip to content

rocmPackages_10: add MIGraphX, RPP, MIVisionX - #29

Closed
randomizedcoder wants to merge 4 commits into
rocm10/11-miopenfrom
rocm10/12-migraphx-rpp
Closed

randomizedcoder wants to merge 4 commits into
rocm10/11-miopenfrom
rocm10/12-migraphx-rpp

Conversation

@randomizedcoder

@randomizedcoder randomizedcoder commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

Part 12/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: migraphx, rpp; shared unchanged: mivisionx
  • Target: master. No existing derivation changes: rocmPackages_10 is not recursed into

How to review

  • First commit: copies the 7.2.4 expressions unchanged into rocm-modules/10/
  • Then one commit per package: the 10.1 changes, with the reasons in the commit message

Notes

  • MIGraphX stubs rocm_add_version_resource, a Windows-only macro missing from the therock-10.1 rocm-cmake
  • MIVisionX has no 10.x tag, so it stays shared at 7.2.4

Testing

  • rocmPackages_10 evaluates: 68 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 #26
11 #28 MIOpen #27
▶ 12 #29 MIGraphX, RPP, MIVisionX (this PR) #28
13 #30 remaining packages #29
14 #31 rocmPackages: 7.2.4 -> 10.1 (the switch) #30

🤖 Generated with Claude Code

Verbatim copies of the rocmPackages (ROCm 7.2.4) expressions for
migraphx, rpp, not yet part of the rocmPackages_10 scope. The following
commits update each one to ROCm 10.1, so their diffs read against 7.2.4.

Assisted-by: Claude Code (claude-opus-5-5)
Update the rocmPackages.migraphx copy from the previous commit to ROCm
10.1 and add it to the rocmPackages_10 scope.

From "rocmPackages.migraphx: 7.2.4 -> 10.1.0, stub
rocm_add_version_resource":

Its rocm-10.1 tag calls rocm_add_version_resource() in
src/CMakeLists.txt, but that rocm-cmake macro is not present in the
therock-10.1 tag the rest of the set builds against (it currently only
lives on rocm-cmake's develop branch), so configure fails with 'Unknown
CMake command "rocm_add_version_resource"'.

Upstream the macro's entire body is guarded by if(WIN32) -- it only
emits a Windows .rc VERSIONINFO resource and is a no-op on Linux.
Provide a guarded no-op stub after find_package(ROCmCMakeBuildTools) so
it stays inert once rocm-cmake ships the macro on a release tag.

This unblocks onnxruntime's MIGraphX execution provider and, through it,
obs-backgroundremoval on ROCm 10.

Revised during the split review:

Take rocmlir-triton, the rocMLIR fork MIGraphX 10.1 pins.

Assisted-by: Claude Code (claude-opus-5-5)
Update the rocmPackages.rpp copy from the previous commit to ROCm 10.1
and add it to the rocmPackages_10 scope.

From the mass bump:
- rocalution, rpp: moved into the rocm-libraries monorepo (sparse

From "rocmPackages.rpp: fix the 10.1.0 build for both backends":

Two failures surfaced by building the full rocmPackages set at 10.1.0:

- The new in-tree test (test_rpp_backend_macro) builds against the rpp
  target, whose public header api/rppdefs.h includes <half.hpp>, but
  HALF::half is linked PRIVATE, so the test cannot find it. Export it as
  a PUBLIC dependency.

- CPU backend only: with -fopenmp the clang driver adds `<clang
  prefix>/../include` as a plain -I to locate omp.h. In the merged
  rocm-toolchain that directory also holds the glibc headers, so
  stdlib.h stops being a system header and clang 24 rejects
  mm_malloc.h's redeclaration of posix_memalign ("missing exception
  specification 'noexcept(true)'" with glibc 2.44). Passing the same
  directory as -isystem makes clang treat it as a system directory
  again. The HIP backend compiles through hipcc, whose prefix has no
  libc headers.

Revised during the split review:

Use a checked substituteInPlace for the public half dependency.

Assisted-by: Claude Code (claude-opus-5-5)
mivisionx is unchanged between ROCm 7.2.4 and 10.1 (no 10.x upstream
release, or versioned independently of ROCm), so the rocmPackages_10
scope calls the existing expression instead of copying it.

Also add rpp-hip, rpp-cpu, mivisionx-hip, mivisionx-cpu.

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

Copy link
Copy Markdown
Owner Author

Opened upstream as NixOS#579525.

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