Public bug reported:

## FFe ##

Requesting a Feature Freeze exception for `migraphx`, in stonking, to land its
first ever successfully-built version (10.0) in the archive. `migraphx` is now
a member of the "rocm" packageset, but it was **not** yet a member at the time
the coordinated stack-wide FFe for this transition
(LP: #2164669, https://bugs.launchpad.net/ubuntu/+source/rocm/+bug/2164669)
was filed and scoped to its 39 source packages, so it isn't covered by that
bug. This is a follow-up/companion exception for the package that joined the
set afterward, and should be tracked and landed alongside LP: #2164669.

### Scope: single source package (recently added to the rocm packageset)

migraphx. Confirmed currently in the set via the live Launchpad
packageset API:

    $ curl -s "https://api.launchpad.net/devel/package-
sets/ubuntu/stonking/rocm?ws.op=getSourcesIncluded"

returns 42 source packages, including `migraphx`, `hipfort`, and `rpp`, all
three added to the set after #2164669 was filed against the original
39-package scope. This FFe covers `migraphx` only; `hipfort` and `rpp` are
addressed separately if/as needed.

### Current state in the archive, every prior version failed to build

`migraphx` has never had a successful build reach the release pocket:

    Date                       Status      Target     Pocket    Component  
Section   Version
    2026-06-30 22:45:14 -03    Published   Stonking   proposed  universe   
libdevel  7.1.1-7
    2026-06-30 23:14:17 -03    Superseded  Stonking   proposed  universe   
libdevel  7.1.1-6
    2026-05-22 09:02:18 -03    Superseded  Stonking   proposed  universe   
libdevel  7.1.1-5
    2026-05-23 09:10:20 -03    Deleted     Resolute   proposed  universe   
libdevel  7.1.1-5
    2026-03-22 22:43:23 -03    Superseded  Resolute   proposed  universe   
libdevel  7.0.2-1

All of these are Debian-derived 7.x uploads that failed to build and were
superseded/deleted out of -proposed; none ever reached stonking's release
pocket. In practice, no working `migraphx` has ever shipped to users. This
request is to land the first one, directly at upstream 10.0.

### Description of the proposed changes

New upstream version 10.0 (from 7.1.1), with the GPU backend actually enabled
against the rocm 10.0 stack:

  - Compiler: switched from the distro `clang` to ROCm's own `clang-rocm`
    (`amdclang++`/`amdclang`), required for HIP device compilation
  - GPU backend on: MIOpen, rocBLAS, hipBLASLt, and Composable Kernel (CK),
    the last of which required and drove two upstream-facing fixes in
    `composable-kernel` itself (an `.install` file conflict between
    `libcomposable-kernel-dev`/`libcomposable-kernel-host-dev`, and a CMake
    exported-target bug where `hip::device` leaked HIP device-compile flags
    into any consumer); both fixed and verified end-to-end with a real
    migraphx build against the fixed composable-kernel packages
  - rocMLIR deliberately left OFF: it is not packaged for Debian/Ubuntu
    (upstream builds it from a pinned source commit at migraphx's own build
    time, vendoring a full copy of LLVM/MLIR's source, not a system
    package, and a DFSG concern if ever bundled). Documented as a known,
    intentional gap in `debian/rules`, not attempted here.
  - Debhelper compat bumped to 14 and associated packaging cleanups
  - Fixed several packaging gaps surfaced by the version bump: a missing
    `rocm_add_version_resource` CMake macro (not provided by Debian's
    rocm-cmake, guarded with a local patch), missing `.install` entries for
    upstream's new per-Python-version pybind11 module layout, a stale
    `libmigraphx-c3.symbols` file regenerated against the real 10.0 ABI, and
    two missing build-deps (`python3-sphinxcontrib.datatemplates`,
    `python3-dev`) that a clean chroot needs but a stale local build
    environment had masked

### Architecture impact, amd64 only (matches the rocm 10.0 stack)

`migraphx` is restricted to `Architecture: amd64` (previous attempts also
listed arm64, which never built anyway). This matches the rest of the rocm
10.0 stack, which is amd64-only on Ubuntu from this transition onward because
it builds against AMD's LLVM fork (llvm-toolchain-rocm). Since no version of
migraphx has ever successfully built or published on any architecture, this
is not a drop relative to a working state, there is no working arm64 binary
being removed.

### Reverse-dependency analysis, none

    $ reverse-depends src:migraphx
    Package not published in specified release
    $ reverse-depends src:migraphx -a source
    Package not published in specified release

Nothing in the archive depends on migraphx, source or binary, expected,
since no build of it has ever reached the release pocket. There is zero
external regression risk from this package landing; the only question is
whether the new package itself builds and works, which has been verified
(see Testing performed).

migraphx itself now build-depends on parts of the rocm 10.0 stack
(`clang-rocm`, `hipcc-rocm`, `libamdhip64-dev`, `libhipblas-dev`,
`libhipblaslt-dev`, `libhsa-runtime-dev`, `libmiopen-dev`, `librocblas-dev`,
`libcomposable-kernel-host-dev`, `rocm-cmake`, `pkg-rocm-tools`, all
`>= 10.0~`), so this upload is coupled to LP: #2164669 and should land
alongside or after it, not before.

### Rationale for the exception

Gets a previously perpetually-failing package into a working, publishable
state for the first time, using the GPU backend it was actually designed to
use (MIOpen/rocBLAS/hipBLASLt/Composable Kernel), rather than continuing to
ship no working package at all. Deferring to a future cycle means another
full release with no migraphx in the archive.

### Testing performed

- Full builds succeeded, with the GPU backend enabled end-to-end, in
  `ppa:igorluppi/extra-10.0-exp`, including a build against the real,
  PPA-published (not hand-patched) fixed `composable-kernel` packages,
  confirmed via the Launchpad buildlog (`Status: successful`,
  amd64, ~78 minute build)
- Verified no undefined symbols, no stray device-compilation leakage
  (migraphx has its own internal guard, `no_device.cpp`, that hard-errors if
  HIP device-compile flags leak into the wrong target, confirmed clean),
  and all 7 binary packages (`migraphx`, `migraphx-dev`, `migraphx-doc`,
  `migraphx-tools`, `migraphx-tests`, `libmigraphx-c3`, `libmigraphx-c-dev`)
  produced correctly
- Also test-built and verified against a local container mirroring the
  target environment before each PPA upload

### Regression potential

None to existing users, no working migraphx has ever shipped, so there is
nothing currently in users' hands that this could regress. Risk is confined
to whether the new package itself is sound, which has been verified through
multiple successful builds as described above.

### Upstream changelog

See https://github.com/ROCm/AMDMIGraphX/ (this package tracks AMDMIGraphX
upstream releases directly).

** Affects: migraphx (Ubuntu)
     Importance: Undecided
         Status: New

** Summary changed:

- FFe: migraphx — new package, first successful build at 10.0 (Ubuntu, 
amd64-only, joined the rocm packageset after LP: #2164669 was filed)
+ FFe: migraphx - new package, first successful build at 10.0 (Ubuntu, 
amd64-only, joined the rocm packageset after LP: #2164669 was filed)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2168849

Title:
  FFe: migraphx - new package, first successful build at 10.0 (Ubuntu,
  amd64-only, joined the rocm packageset after LP: #2164669 was filed)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/migraphx/+bug/2168849/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to