Adds qBraid as a remote REST target in CUDA-Q - #4328
Conversation
* working implementation using openQasm * modified and added test files(incomplete) * fix emulate command alignment * update polling + format * update polling interval and make code more readable * remove ionq fields from target-arguments * fix formatting * Add qBraid mock python server for testing Signed-off-by: Ryan Hill <ryanjh88@gmail.com> * Update __init__.py Signed-off-by: Ryan Hill <ryanjh88@gmail.com> * QbraidTester running correctly * added documentation for qbraid --------- Signed-off-by: Ryan Hill <ryanjh88@gmail.com> Co-authored-by: feelerx <superfeelerxx@gmail.com>
I, Harshit <harshit.11235@gmail.com>, hereby add my Signed-off-by to this commit: 9cd62cf I, Harshit <harshit.11235@gmail.com>, hereby add my Signed-off-by to this commit: 3b0a1e4 I, Harshit <harshit.11235@gmail.com>, hereby add my Signed-off-by to this commit: 1a24c66 Signed-off-by: Harshit <harshit.11235@gmail.com>
I, TheGupta2012 <harshit.11235@gmail.com>, hereby add my Signed-off-by to this commit: 925ae39 I, TheGupta2012 <harshit.11235@gmail.com>, hereby add my Signed-off-by to this commit: 41fe248 I, TheGupta2012 <harshit.11235@gmail.com>, hereby add my Signed-off-by to this commit: d74243d Signed-off-by: TheGupta2012 <harshit.11235@gmail.com>
Signed-off-by: TheGupta2012 <harshit.11235@gmail.com>
Signed-off-by: TheGupta2012 <harshit.11235@gmail.com>
|
Thank you @mitchdz for giving the review comments. Could you please approve the test runs so that the changes can be validated? |
Command Bot: Processing... |
|
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
…uild and skip remote tests for qbraid Signed-off-by: TheGupta2012 <harshit.11235@gmail.com>
…piKey target param depend on emulate flag Signed-off-by: TheGupta2012 <harshit.11235@gmail.com>
|
Thanks @mitchdz for approving the tests, they were helpful in figuring out a couple of bugs. I've triaged the failures and CI should hopefully pass now |
Command Bot: Processing... |
|
@TheGupta2012 I just reran CI. Sorry for the delay, I missed the email of your notification. |
|
Once I have stabilized our CI for the llvm22 update, I will run this PR through the deployments pipeline. That will then generate a docker image that we can use for this testing. |
|
Hi @mitchdz, that sounds good. Just an FYI, we are re-locating our server that runs the QIR simulator tomorrow, so that device will be offline for a few hours. Probably between 10am ~ 1pm central. |
|
Many thanks for that heads up. I'm hoping to get deployments operational later tonight, and then will help generate your docker image for nightly testing. If all goes well, we can run a test tomorrow evening! |
|
The CI/Deployments should be good now. Would you mind merging main into your branch? I can run deployments after that then. |
|
I built the docker image, but ran into and authentication failure This is because the ordering of when we login to GHCR is wrong. Normally we only test the nightly integration against the public final image, not these debug images. Could you pull in the changes from #4486 into this PR and then I can rerun the test? |
Signed-off-by: TheGupta2012 <harshit.11235@gmail.com>
|
@mitchdz I've re-ordered the login step in the integration test, you can test again |
|
Much appreciated. Looking at it now. Apologies for the back and forth here. |
|
The run passed and looks good at https://github.com/NVIDIA/cuda-quantum/actions/runs/25703890336/job/75470277346 |
Command Bot: Processing... |
CI Summary (
|
| 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 |
|
@mitchdz thank you again for testing the complete pipeline! I'll look into the CI failures today, I'm assuming it was because of rebasing with |
Command Bot: Processing... |
|
Let me know if you need any help with the CI failures. |
Signed-off-by: TheGupta2012 <harshit.11235@gmail.com>
Command Bot: Processing... |
|
@mitchdz CI seems to be passing now. Please let me know if any other changes are required in this PR. |
mitchdz
left a comment
There was a problem hiding this comment.
Thanks for these changes @TheGupta2012. They look good to me.
CI Summary (
|
| Job | Result |
|---|---|
binaries |
✅ success |
build_and_test |
✅ success |
config_devdeps |
✅ success |
config_source_build |
✅ success |
config_wheeldeps |
✅ success |
devdeps |
✅ success |
docker_image |
✅ success |
gen_code_coverage |
✅ success |
metadata |
✅ success |
python_metapackages |
✅ success |
python_wheels |
✅ success |
source_build |
✅ success |
wheeldeps |
✅ success |
All sub-jobs (178) — 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, gcc12, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, gcc12, 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) | ✅ success | view |
| Configure build (wheeldeps) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Build CUDA Quantum assets | ✅ success | 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 (debian:12) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (fedora:42) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (opensuse/leap:15.5) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (redhat/ubi9:9.6) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Build CUDA Quantum assets | ✅ success | 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 | ⏩ skipped | view |
| Create CUDA Quantum installer (amd64, 13.0) / Validate installer (debian:12) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Validate installer (fedora:42) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Validate installer (opensuse/leap:15.5) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Build CUDA Quantum assets | ✅ success | 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 | ⏩ skipped | view |
| Create CUDA Quantum installer (arm64, 12.6) / Validate installer (redhat/ubi9:9.6) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 13.0) / Build CUDA Quantum assets | ✅ success | 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 | ⏩ skipped | view |
| Create CUDA Quantum installer (arm64, 13.0) / Validate installer (ubuntu:22.04) | ✅ success | 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 (13.0, 3.11) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (13.0, 3.13) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (3.11) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (3.13) | ✅ 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, 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.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, 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 (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, 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.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, 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 |
| Gen code coverage (amd64) / gen_code_coverage | ✅ success | 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 (39/39) — declared in .github/required-checks.yml for merge_group
| 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 |
| Build and test (arm64, gcc12, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, gcc12, openmpi) / Dev environment (Python) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Build CUDA Quantum assets | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Minimal OpenMPI installation | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (debian:12) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (fedora:42) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (opensuse/leap:15.5) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (redhat/ubi9:9.6) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Build CUDA Quantum assets | ✅ success | 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) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Validate installer (ubuntu:22.04) | ✅ success | view |
| 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 (12.6, 3.11) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (12.6, 3.13) | ✅ 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 |
Summary
Adds qBraid as a remote REST target in CUDA-Q. Kernels authored via
cudaq.set_target("qbraid", ...) are lowered to OpenQASM 2.0, submitted to the qBraid v2
API, and results are parsed back into cudaq::sample_result — with zero dependency on
the external qbraid-sdk Python package.
What's included
Target qbraid registered via runtime/cudaq/platform/default/rest/helpers/qbraid/
Retry-with-backoff in processResults absorbs qBraid v2's COMPLETED→result-queryable
race.
Specific error handling for 401 / 403 and 409 while processing job results
Testing
future serialization, api_key-via-target-arg, job failure, result retry, retry
exhaustion
against the mock
backends