Skip to content

Use shared libcudaqMLIR dependency everywhere#4928

Open
lmondada wants to merge 9 commits into
NVIDIA:mainfrom
lmondada:lm/libmlir-so
Open

Use shared libcudaqMLIR dependency everywhere#4928
lmondada wants to merge 9 commits into
NVIDIA:mainfrom
lmondada:lm/libmlir-so

Conversation

@lmondada

@lmondada lmondada commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

This is the big one! I've changed all our internal libraries to link against a libcudaqMLIR mondo library dynamically.

  • This guarantees that we only ever ship one copy of any MLIR symbol.
  • Wherever possible I have hidden MLIR symbols to not pollute or bloat the exposed symbol tables unnecessarily (some naughty Python packages apparently use RTLD_GLOBAL!)
  • No more need for -flat_namespace, -undefined or any other work arounds for the MacOS linker. We could investigate being stricter on Linux and start using -Wl,--no-undefined
  • Any downstream extension to CUDAQ can also link against our MLIR without shipping their own and risk symbol clashes
  • I've been watching performance carefully and have not noticed any regression. If in the future the large symbol table of libcudaqMLIR causes measureable performance degradation, we could narrow down the set of exposed symbols.

A nice side benefit (and an illustration of what is going on in this refactor) is that many of our libraries are now smaller (measured on macos, Debug build):

Library / category main this PR delta
MLIR consolidation
libcudaqMLIR (new shared) 252.1 MB +252.1 MB new
C-API (previously libCUDAQuantumPythonCAPI, now libcudaqMLIRCAPI) 298.3 MB 661 KB −297.6 MB -99.8%
libcudaq-mlir-runtime 33.7 MB 4.8 MB −28.9 MB −85.7%
Core runtime
libcudaq 6.5 MB 4.5 MB −2.1 MB −31.4%
libcudaq-common 14.2 MB 14.1 MB −36 KB −0.3%
libcudaq-operator 11.4 MB 10.0 MB −1.4 MB −12.4%
libcudaq-logger 3.4 MB 3.2 MB −253 KB −7.2%
libcudaq-builder 1.8 MB 1.8 MB −35 KB −1.9%
libcudaq-chemistry 752 KB 644 KB −109 KB −14.5%
Simulators (NVQIR)
libnvqir 2.9 MB 2.4 MB −475 KB −16.0%
libnvqir-dm 5.7 MB 3.8 MB −2.0 MB −34.1%
libnvqir-qpp 5.6 MB 3.7 MB −1.9 MB −34.1%
libnvqir-stim 3.0 MB 2.6 MB −461 KB −14.9%
Execution managers
libcudaq-em-default 837 KB 825 KB −12 KB −1.5%
libcudaq-em-photonics 2.5 MB 2.5 MB −21 KB −0.8%
libcudaq-em-qudit 3.2 MB 2.9 MB −355 KB −10.7%
Platforms
libcudaq-platform-default 1009 KB 897 KB −112 KB −11.1%
libcudaq-platform-mqpu 1.1 MB 1.0 MB −113 KB −9.7%
Remote / REST QPUs
libcudaq-rest-qpu 12.4 MB 12.0 MB −366 KB −2.9%
Other remote QPUs (quera, orca, fermioniq, pasqal) 5.4 MB 5.3 MB −151 KB −2.7%
Server helpers
libcudaq-serverhelper-braket 9.3 MB 9.0 MB −312 KB −3.3%
libcudaq-serverhelper-scaleway 3.6 MB 2.0 MB −1.7 MB −45.7%
Other server helpers (15 libs) 16.8 MB 16.3 MB −522 KB −3.0%
Total (some removed from list)
All shipped shared libs (67 → 52) 486.5 MB 393.4 MB −93.1 MB −19.1%

@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown

CI Summary (push) — ✅ passed

Run #30096596041 · ✅ 6 · ⏩ 7 · ❌ 0 · ⛔ 0

Top-level jobs (13)
Job Result
binaries ⏩ skipped
build_and_test ✅ success
config_devdeps ✅ success
config_source_build ⏩ skipped
config_wheeldeps ✅ success
devdeps ✅ success
docker_image ⏩ skipped
gen_code_coverage ⏩ skipped
metadata ✅ success
python_metapackages ⏩ skipped
python_wheels ⏩ skipped
source_build ⏩ skipped
wheeldeps ✅ success
⏩ Skipped jobs (7) — intentionally skipped on PR builds; run on merge_group / workflow_dispatch
Job
binaries
config_source_build
docker_image
gen_code_coverage
python_metapackages
python_wheels
source_build
All sub-jobs (42) — every matrix leg, with links
Job Status Link
Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) ✅ success view
Build and test (amd64, gcc12, openmpi) / Dev environment (Python) ✅ success view
Build and test (amd64, llvm, openmpi) / Dev environment (Debug) ✅ success view
Build and test (amd64, llvm, openmpi) / Dev environment (Python) ✅ success view
Build and test (arm64, llvm, openmpi) / Dev environment (Debug) ✅ success view
Build and test (arm64, llvm, openmpi) / Dev environment (Python) ✅ success view
CI Summary ❔ in_progress view
Configure build (devdeps) ✅ success view
Configure build (source_build) ⏩ skipped view
Configure build (wheeldeps) ✅ success view
Create CUDA Quantum installer ⏩ skipped view
Create Docker images ⏩ skipped view
Create Python metapackages ⏩ skipped view
Create Python wheels ⏩ skipped view
Gen code coverage ⏩ skipped view
Load dependencies (amd64, gcc12) / Caching ✅ success view
Load dependencies (amd64, gcc12) / Finalize ✅ success view
Load dependencies (amd64, gcc12) / Metadata ✅ success view
Load dependencies (amd64, llvm) / Caching ✅ success view
Load dependencies (amd64, llvm) / Finalize ✅ success view
Load dependencies (amd64, llvm) / Metadata ✅ success view
Load dependencies (arm64, gcc12) / Caching ✅ success view
Load dependencies (arm64, gcc12) / Finalize ✅ success view
Load dependencies (arm64, gcc12) / Metadata ✅ success view
Load dependencies (arm64, llvm) / Caching ✅ success view
Load dependencies (arm64, llvm) / Finalize ✅ success view
Load dependencies (arm64, llvm) / Metadata ✅ success view
Load source build cache ⏩ skipped view
Load wheel dependencies (amd64, 12.6) / Caching ✅ success view
Load wheel dependencies (amd64, 12.6) / Finalize ✅ success view
Load wheel dependencies (amd64, 12.6) / Metadata ✅ success view
Load wheel dependencies (amd64, 13.0) / Caching ✅ success view
Load wheel dependencies (amd64, 13.0) / Finalize ✅ success view
Load wheel dependencies (amd64, 13.0) / Metadata ✅ success view
Load wheel dependencies (arm64, 12.6) / Caching ✅ success view
Load wheel dependencies (arm64, 12.6) / Finalize ✅ success view
Load wheel dependencies (arm64, 12.6) / Metadata ✅ success view
Load wheel dependencies (arm64, 13.0) / Caching ✅ success view
Load wheel dependencies (arm64, 13.0) / Finalize ✅ success view
Load wheel dependencies (arm64, 13.0) / Metadata ✅ success view
Prepare cache clean-up ❔ in_progress view
Retrieve PR info ✅ success view
✅ Required checks (6/6) — declared in .github/required-checks.yml for push
Required check Status Link
Build and test (amd64, llvm, openmpi) / Dev environment (Debug) ✅ success view
Build and test (amd64, llvm, openmpi) / Dev environment (Python) ✅ success view
Build and test (arm64, llvm, openmpi) / Dev environment (Debug) ✅ success view
Build and test (arm64, llvm, openmpi) / Dev environment (Python) ✅ success view
Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) ✅ success view
Build and test (amd64, gcc12, openmpi) / Dev environment (Python) ✅ success view

@lmondada lmondada mentioned this pull request Jul 15, 2026
@lmondada
lmondada force-pushed the lm/libmlir-so branch 5 times, most recently from f7de5df to 31065cd Compare July 20, 2026 12:31
@lmondada
lmondada changed the base branch from main to lm/add-mlirso July 20, 2026 12:32
@lmondada
lmondada force-pushed the lm/libmlir-so branch 2 times, most recently from 4eff407 to f2598e7 Compare July 20, 2026 12:54
Comment thread runtime/cudaq/builder/CMakeLists.txt
@lmondada
lmondada marked this pull request as ready for review July 21, 2026 17:45

@sacpis sacpis left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM. Thanks @lmondada.

@schweitzpgi

Copy link
Copy Markdown
Collaborator

I left a slack message.

Using shared libraries everywhere is going to slow down the C++ tools for sure.

@copy-pr-bot

copy-pr-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@lmondada
lmondada changed the base branch from lm/add-mlirso to main July 22, 2026 11:07
lmondada added 3 commits July 22, 2026 15:40
Signed-off-by: Luca Mondada <luca@mondada.net>
Signed-off-by: Luca Mondada <luca@mondada.net>
Signed-off-by: Luca Mondada <luca@mondada.net>
lmondada added a commit to lmondada/cuda-quantum that referenced this pull request Jul 22, 2026
This PR adds two new CMake targets:
- `cudaqMLIR`, which bundles all of upstream MLIR, as well as the CUDAQ
dialects and MLIR passes into one shared library
- `cudaqMLIRCAPI`, a thin wrapper of `cudaqMLIR` that exposes the MLIR
C-API.

This PR is purely additive and does not change how existing CMake
targets are built/linked. A second PR (NVIDIA#4928) switches all our CMake
target to depend on this new shared library. If you interested in seeing
more of the motivation for this set of changes, have a look at that
second PR.

# Build strategy for `libcudaqMLIR.so`

The `libcudaqMLIR` library can be thought of as having two layers:

1. First, all object files from CUDAQ MLIR libraries (registered with
`register_cudaq_mlir_lib`) are bundled together in the shared library.
2. Then, all MLIR targets listed in
[`mlir-libs-allowlist.txt`](mlir-libs-allowlist.txt) are added as static
dependencies. By using CMake's `WHOLE_ARCHIVE` flag, we ensure that all
symbols from these libraries are re-exported, so that CUDAQ libraries as
well as downstream extensions can use them.

If at any point, symbols from MLIR are needed that are not within the
allowlisted MLIR components, we can adjust it accordingly.

---------

Signed-off-by: Luca Mondada <luca@mondada.net>
@lmondada
lmondada enabled auto-merge July 22, 2026 13:45
Comment thread cudaq/tools/cudaq-opt/CMakeLists.txt
lmondada added 5 commits July 23, 2026 10:35
Signed-off-by: Luca Mondada <luca@mondada.net>
Signed-off-by: Luca Mondada <luca@mondada.net>
Signed-off-by: Luca Mondada <luca@mondada.net>
Signed-off-by: Luca Mondada <luca@mondada.net>
Signed-off-by: Luca Mondada <luca@mondada.net>
@schweitzpgi

Copy link
Copy Markdown
Collaborator

Thanks, Luca. This is great! :)

@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to no response for status checks Jul 23, 2026
@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown

CI Summary (merge_group) — ❌ failed

Run #30132176969 · ✅ 10 · ⏩ 1 · ❌ 2 · ⛔ 0

❌ Failed or cancelled
Job Result Link
build_and_test ❌ failure view
binaries ❌ failure view
Top-level jobs (13)
Job Result
binaries ❌ failure
build_and_test ❌ failure
config_devdeps ✅ success
config_source_build ✅ success
config_wheeldeps ✅ success
devdeps ✅ success
docker_image ✅ success
gen_code_coverage ⏩ skipped
metadata ✅ success
python_metapackages ✅ success
python_wheels ✅ success
source_build ✅ success
wheeldeps ✅ success
⏩ Skipped jobs (1) — intentionally skipped on PR builds; run on merge_group / workflow_dispatch
Job
gen_code_coverage
All sub-jobs (205) — every matrix leg, with links
Job Status Link
Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) ✅ success view
Build and test (amd64, gcc12, openmpi) / Dev environment (Python) ❌ failure view
Build and test (amd64, llvm, openmpi) / Dev environment (Debug) ⛔ cancelled view
Build and test (amd64, llvm, openmpi) / Dev environment (Python) ✅ success view
Build and test (arm64, gcc12, openmpi) / Dev environment (Debug) ⛔ cancelled view
Build and test (arm64, gcc12, openmpi) / Dev environment (Python) ✅ success view
Build and test (arm64, llvm, openmpi) / Dev environment (Debug) ⛔ cancelled view
Build and test (arm64, llvm, openmpi) / Dev environment (Python) ✅ success view
CI Summary ❔ in_progress view
Configure build (devdeps) ✅ success view
Configure build (source_build) ✅ success view
Configure build (wheeldeps) ✅ success view
Create CUDA Quantum installer (amd64, 12.6) / Build CUDA Quantum assets ❌ failure view
Create CUDA Quantum installer (amd64, 12.6) / Minimal OpenMPI installation ✅ success view
Create CUDA Quantum installer (amd64, 12.6) / Prepare cache clean-up ✅ success view
Create CUDA Quantum installer (amd64, 12.6) / Prepare validation ✅ success view
Create CUDA Quantum installer (amd64, 12.6) / Staging ⏩ skipped view
Create CUDA Quantum installer (amd64, 12.6) / Validate installer ⏩ skipped view
Create CUDA Quantum installer (amd64, 13.0) / Build CUDA Quantum assets ⛔ cancelled view
Create CUDA Quantum installer (amd64, 13.0) / Minimal OpenMPI installation ✅ success view
Create CUDA Quantum installer (amd64, 13.0) / Prepare cache clean-up ✅ success view
Create CUDA Quantum installer (amd64, 13.0) / Prepare validation ✅ success view
Create CUDA Quantum installer (amd64, 13.0) / Staging ⛔ cancelled view
Create CUDA Quantum installer (amd64, 13.0) / Validate installer ⛔ cancelled view
Create CUDA Quantum installer (arm64, 12.6) / Build CUDA Quantum assets ⛔ cancelled view
Create CUDA Quantum installer (arm64, 12.6) / Minimal OpenMPI installation ✅ success view
Create CUDA Quantum installer (arm64, 12.6) / Prepare cache clean-up ✅ success view
Create CUDA Quantum installer (arm64, 12.6) / Prepare validation ✅ success view
Create CUDA Quantum installer (arm64, 12.6) / Staging ⛔ cancelled view
Create CUDA Quantum installer (arm64, 12.6) / Validate installer ⛔ cancelled view
Create CUDA Quantum installer (arm64, 13.0) / Build CUDA Quantum assets ⛔ cancelled view
Create CUDA Quantum installer (arm64, 13.0) / Minimal OpenMPI installation ✅ success view
Create CUDA Quantum installer (arm64, 13.0) / Prepare cache clean-up ✅ success view
Create CUDA Quantum installer (arm64, 13.0) / Prepare validation ✅ success view
Create CUDA Quantum installer (arm64, 13.0) / Staging ⛔ cancelled view
Create CUDA Quantum installer (arm64, 13.0) / Validate installer ⛔ cancelled view
Create Docker images (amd64) / Documentation ✅ success view
Create Docker images (amd64) / Metadata ✅ success view
Create Docker images (amd64) / Prepare cache clean-up ✅ success view
Create Docker images (amd64) / Staging ⏩ skipped view
Create Docker images (amd64) / Validation ✅ success view
Create Docker images (amd64) / cuda-quantum (release) ✅ success view
Create Docker images (amd64) / cuda-quantum-dev (debug) ✅ success view
Create Docker images (amd64) / open-mpi ⏩ skipped view
Create Docker images (arm64) / Documentation ⏩ skipped view
Create Docker images (arm64) / Metadata ✅ success view
Create Docker images (arm64) / Prepare cache clean-up ✅ success view
Create Docker images (arm64) / Staging ⏩ skipped view
Create Docker images (arm64) / Validation ✅ success view
Create Docker images (arm64) / cuda-quantum (release) ✅ success view
Create Docker images (arm64) / cuda-quantum-dev (debug) ✅ success view
Create Docker images (arm64) / open-mpi ⏩ skipped view
Create Python metapackages / Build Python metapackages ✅ success view
Create Python metapackages / Test Python metapackages (12.6, 3.11) ✅ success view
Create Python metapackages / Test Python metapackages (12.6, 3.13) ✅ success view
Create Python metapackages / Test Python metapackages (12.6, 3.14) ✅ success view
Create Python metapackages / Test Python metapackages (13.0, 3.11) ✅ success view
Create Python metapackages / Test Python metapackages (13.0, 3.13) ✅ success view
Create Python metapackages / Test Python metapackages (13.0, 3.14) ✅ success view
Create Python metapackages / Test Python metapackages (3.11) ✅ success view
Create Python metapackages / Test Python metapackages (3.13) ✅ success view
Create Python metapackages / Test Python metapackages (3.14) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Build Python 3.11 wheel ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Prepare validation ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Staging ⏩ skipped view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (debian:12) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (debian:12, --user) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (fedora:42) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (fedora:42, --user) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi9:9.6) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi9:9.6, --user) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (ubuntu:22.04) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (ubuntu:22.04, --user) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel on GPU (nvidia simulator) ✅ success view
Create Python wheels (amd64, 3.11, 13.0) / Build Python 3.11 wheel ✅ success view
Create Python wheels (amd64, 3.11, 13.0) / Prepare validation ✅ success view
Create Python wheels (amd64, 3.11, 13.0) / Staging ⏩ skipped view
Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (debian:12) ✅ success view
Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (debian:12, --user) ✅ success view
Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (fedora:42) ✅ success view
Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (fedora:42, --user) ✅ success view
Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (redhat/ubi8:8.10) ✅ success view
Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (redhat/ubi8:8.10, --user) ✅ success view
Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (redhat/ubi9:9.6) ✅ success view
Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (redhat/ubi9:9.6, --user) ✅ success view
Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (ubuntu:22.04) ✅ success view
Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (ubuntu:22.04, --user) ✅ success view
Create Python wheels (amd64, 3.11, 13.0) / Validate wheel on GPU (nvidia simulator) ⏩ skipped view
Create Python wheels (amd64, 3.13, 12.6) / Build Python 3.13 wheel ✅ success view
Create Python wheels (amd64, 3.13, 12.6) / Prepare validation ✅ success view
Create Python wheels (amd64, 3.13, 12.6) / Staging ⏩ skipped view
Create Python wheels (amd64, 3.13, 12.6) / Validate wheel (fedora:42) ✅ success view
Create Python wheels (amd64, 3.13, 12.6) / Validate wheel (fedora:42, --user) ✅ success view
Create Python wheels (amd64, 3.13, 12.6) / Validate wheel on GPU (nvidia simulator) ⏩ skipped view
Create Python wheels (amd64, 3.13, 13.0) / Build Python 3.13 wheel ✅ success view
Create Python wheels (amd64, 3.13, 13.0) / Prepare validation ✅ success view
Create Python wheels (amd64, 3.13, 13.0) / Staging ⏩ skipped view
Create Python wheels (amd64, 3.13, 13.0) / Validate wheel (fedora:42) ✅ success view
Create Python wheels (amd64, 3.13, 13.0) / Validate wheel (fedora:42, --user) ✅ success view
Create Python wheels (amd64, 3.13, 13.0) / Validate wheel on GPU (nvidia simulator) ⏩ skipped view
Create Python wheels (amd64, 3.14, 12.6) / Build Python 3.14 wheel ✅ success view
Create Python wheels (amd64, 3.14, 12.6) / Prepare validation ✅ success view
Create Python wheels (amd64, 3.14, 12.6) / Staging ⏩ skipped view
Create Python wheels (amd64, 3.14, 12.6) / Validate wheel (fedora:42) ✅ success view
Create Python wheels (amd64, 3.14, 12.6) / Validate wheel (fedora:42, --user) ✅ success view
Create Python wheels (amd64, 3.14, 12.6) / Validate wheel on GPU (nvidia simulator) ⏩ skipped view
Create Python wheels (amd64, 3.14, 13.0) / Build Python 3.14 wheel ✅ success view
Create Python wheels (amd64, 3.14, 13.0) / Prepare validation ✅ success view
Create Python wheels (amd64, 3.14, 13.0) / Staging ⏩ skipped view
Create Python wheels (amd64, 3.14, 13.0) / Validate wheel (fedora:42) ✅ success view
Create Python wheels (amd64, 3.14, 13.0) / Validate wheel (fedora:42, --user) ✅ success view
Create Python wheels (amd64, 3.14, 13.0) / Validate wheel on GPU (nvidia simulator) ⏩ skipped view
Create Python wheels (arm64, 3.11, 12.6) / Build Python 3.11 wheel ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Prepare validation ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Staging ⏩ skipped view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (debian:12) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (debian:12, --user) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (fedora:42) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (fedora:42, --user) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi9:9.6) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi9:9.6, --user) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (ubuntu:22.04) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (ubuntu:22.04, --user) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel on GPU (nvidia simulator) ⏩ skipped view
Create Python wheels (arm64, 3.11, 13.0) / Build Python 3.11 wheel ✅ success view
Create Python wheels (arm64, 3.11, 13.0) / Prepare validation ✅ success view
Create Python wheels (arm64, 3.11, 13.0) / Staging ⏩ skipped view
Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (debian:12) ✅ success view
Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (debian:12, --user) ✅ success view
Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (fedora:42) ✅ success view
Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (fedora:42, --user) ✅ success view
Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (redhat/ubi8:8.10) ✅ success view
Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (redhat/ubi8:8.10, --user) ✅ success view
Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (redhat/ubi9:9.6) ✅ success view
Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (redhat/ubi9:9.6, --user) ✅ success view
Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (ubuntu:22.04) ✅ success view
Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (ubuntu:22.04, --user) ✅ success view
Create Python wheels (arm64, 3.11, 13.0) / Validate wheel on GPU (nvidia simulator) ⏩ skipped view
Create Python wheels (arm64, 3.13, 12.6) / Build Python 3.13 wheel ✅ success view
Create Python wheels (arm64, 3.13, 12.6) / Prepare validation ✅ success view
Create Python wheels (arm64, 3.13, 12.6) / Staging ⏩ skipped view
Create Python wheels (arm64, 3.13, 12.6) / Validate wheel (fedora:42) ✅ success view
Create Python wheels (arm64, 3.13, 12.6) / Validate wheel (fedora:42, --user) ✅ success view
Create Python wheels (arm64, 3.13, 12.6) / Validate wheel on GPU (nvidia simulator) ⏩ skipped view
Create Python wheels (arm64, 3.13, 13.0) / Build Python 3.13 wheel ✅ success view
Create Python wheels (arm64, 3.13, 13.0) / Prepare validation ✅ success view
Create Python wheels (arm64, 3.13, 13.0) / Staging ⏩ skipped view
Create Python wheels (arm64, 3.13, 13.0) / Validate wheel (fedora:42) ✅ success view
Create Python wheels (arm64, 3.13, 13.0) / Validate wheel (fedora:42, --user) ✅ success view
Create Python wheels (arm64, 3.13, 13.0) / Validate wheel on GPU (nvidia simulator) ⏩ skipped view
Create Python wheels (arm64, 3.14, 12.6) / Build Python 3.14 wheel ✅ success view
Create Python wheels (arm64, 3.14, 12.6) / Prepare validation ✅ success view
Create Python wheels (arm64, 3.14, 12.6) / Staging ⏩ skipped view
Create Python wheels (arm64, 3.14, 12.6) / Validate wheel (fedora:42) ✅ success view
Create Python wheels (arm64, 3.14, 12.6) / Validate wheel (fedora:42, --user) ✅ success view
Create Python wheels (arm64, 3.14, 12.6) / Validate wheel on GPU (nvidia simulator) ⏩ skipped view
Create Python wheels (arm64, 3.14, 13.0) / Build Python 3.14 wheel ✅ success view
Create Python wheels (arm64, 3.14, 13.0) / Prepare validation ✅ success view
Create Python wheels (arm64, 3.14, 13.0) / Staging ⏩ skipped view
Create Python wheels (arm64, 3.14, 13.0) / Validate wheel (fedora:42) ✅ success view
Create Python wheels (arm64, 3.14, 13.0) / Validate wheel (fedora:42, --user) ✅ success view
Create Python wheels (arm64, 3.14, 13.0) / Validate wheel on GPU (nvidia simulator) ⏩ skipped view
Gen code coverage ⏩ skipped view
Load dependencies (amd64, gcc12) / Caching ✅ success view
Load dependencies (amd64, gcc12) / Finalize ✅ success view
Load dependencies (amd64, gcc12) / Metadata ✅ success view
Load dependencies (amd64, llvm) / Caching ✅ success view
Load dependencies (amd64, llvm) / Finalize ✅ success view
Load dependencies (amd64, llvm) / Metadata ✅ success view
Load dependencies (arm64, gcc12) / Caching ✅ success view
Load dependencies (arm64, gcc12) / Finalize ✅ success view
Load dependencies (arm64, gcc12) / Metadata ✅ success view
Load dependencies (arm64, llvm) / Caching ✅ success view
Load dependencies (arm64, llvm) / Finalize ✅ success view
Load dependencies (arm64, llvm) / Metadata ✅ success view
Load source build cache (amd64, 12.6) / Caching ✅ success view
Load source build cache (amd64, 12.6) / Finalize ✅ success view
Load source build cache (amd64, 12.6) / Metadata ✅ success view
Load source build cache (amd64, 13.0) / Caching ✅ success view
Load source build cache (amd64, 13.0) / Finalize ✅ success view
Load source build cache (amd64, 13.0) / Metadata ✅ success view
Load source build cache (arm64, 12.6) / Caching ✅ success view
Load source build cache (arm64, 12.6) / Finalize ✅ success view
Load source build cache (arm64, 12.6) / Metadata ✅ success view
Load source build cache (arm64, 13.0) / Caching ✅ success view
Load source build cache (arm64, 13.0) / Finalize ✅ success view
Load source build cache (arm64, 13.0) / Metadata ✅ success view
Load wheel dependencies (amd64, 12.6) / Caching ✅ success view
Load wheel dependencies (amd64, 12.6) / Finalize ✅ success view
Load wheel dependencies (amd64, 12.6) / Metadata ✅ success view
Load wheel dependencies (amd64, 13.0) / Caching ✅ success view
Load wheel dependencies (amd64, 13.0) / Finalize ✅ success view
Load wheel dependencies (amd64, 13.0) / Metadata ✅ success view
Load wheel dependencies (arm64, 12.6) / Caching ✅ success view
Load wheel dependencies (arm64, 12.6) / Finalize ✅ success view
Load wheel dependencies (arm64, 12.6) / Metadata ✅ success view
Load wheel dependencies (arm64, 13.0) / Caching ✅ success view
Load wheel dependencies (arm64, 13.0) / Finalize ✅ success view
Load wheel dependencies (arm64, 13.0) / Metadata ✅ success view
Prepare cache clean-up ✅ success view
Retrieve PR info ✅ success view
⚠️ Required checks (28/41) — 13 missing — declared in .github/required-checks.yml for merge_group
Required check Status Link
Build and test (amd64, llvm, openmpi) / Dev environment (Debug) ⛔ cancelled view
Build and test (amd64, llvm, openmpi) / Dev environment (Python) ✅ success view
Build and test (arm64, llvm, openmpi) / Dev environment (Debug) ⛔ cancelled view
Build and test (arm64, llvm, openmpi) / Dev environment (Python) ✅ success view
Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) ✅ success view
Build and test (amd64, gcc12, openmpi) / Dev environment (Python) ❌ failure view
Build and test (arm64, gcc12, openmpi) / Dev environment (Debug) ⛔ cancelled view
Build and test (arm64, gcc12, openmpi) / Dev environment (Python) ✅ success view
Create CUDA Quantum installer (amd64, 12.6) / Build CUDA Quantum assets ❌ failure view
Create CUDA Quantum installer (amd64, 12.6) / Minimal OpenMPI installation ✅ success view
Create CUDA Quantum installer (amd64, 12.6) / Validate installer (debian:12) ❔ missing
Create CUDA Quantum installer (amd64, 12.6) / Validate installer (fedora:42) ❔ missing
Create CUDA Quantum installer (amd64, 12.6) / Validate installer (opensuse/leap:15.5) ❔ missing
Create CUDA Quantum installer (amd64, 12.6) / Validate installer (redhat/ubi9:9.6) ❔ missing
Create CUDA Quantum installer (amd64, 12.6) / Validate installer (ubuntu:22.04) ❔ missing
Create CUDA Quantum installer (arm64, 12.6) / Build CUDA Quantum assets ⛔ cancelled view
Create CUDA Quantum installer (arm64, 12.6) / Minimal OpenMPI installation ✅ success view
Create CUDA Quantum installer (arm64, 12.6) / Validate installer (redhat/ubi9:9.6) ❔ missing
Create CUDA Quantum installer (arm64, 12.6) / Validate installer (ubuntu:22.04) ❔ missing
Create Docker images (amd64) / Documentation ✅ success view
Create Docker images (amd64) / Validation ✅ success view
Create Docker images (arm64) / Validation ✅ success view
Create Python metapackages / Build Python metapackages ✅ success view
Create Python metapackages / Test Python metapackages (3.11) ✅ success view
Create Python metapackages / Test Python metapackages (3.13) ✅ success view
Create Python metapackages / Test Python metapackages (3.14) ✅ success view
Create Python metapackages / Test Python metapackages (12.6, 3.11) ✅ success view
Create Python metapackages / Test Python metapackages (12.6, 3.13) ✅ success view
Create Python metapackages / Test Python metapackages (12.6, 3.14) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (debian:12, --user) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (debian:12) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (fedora:42, --user) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (fedora:42) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user) ✅ success view
Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (debian:12, --user) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (debian:12) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (fedora:42, --user) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (fedora:42) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user) ✅ success view
Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10) ✅ success view

@lmondada
lmondada added this pull request to the merge queue Jul 24, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 24, 2026
Signed-off-by: Luca Mondada <luca@mondada.net>
@github-actions github-actions Bot added build The issue related to the CUDA Quantum build runtime CUDA quantum runtime python-lang Anything related to the Python CUDA Quantum language implementation python bridge Involves the python bridge to quake kernel builder Relating to the dynamic kernel builder in C++ or Python codegen issue with generating any codegen output (QIR, OpenQASM etc.) simulation trouble getting code to run on one of the simulators core compiler labels Jul 24, 2026
@lmondada
lmondada enabled auto-merge July 24, 2026 13:53
@lmondada
lmondada added this pull request to the merge queue Jul 24, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 24, 2026
@sacpis
sacpis added this pull request to the merge queue Jul 24, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build The issue related to the CUDA Quantum build codegen issue with generating any codegen output (QIR, OpenQASM etc.) core compiler kernel builder Relating to the dynamic kernel builder in C++ or Python python bridge Involves the python bridge to quake python-lang Anything related to the Python CUDA Quantum language implementation runtime CUDA quantum runtime simulation trouble getting code to run on one of the simulators

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants