✨ Migrate the IQM backend to configurable QDMI devices - #140
Merged
Conversation
Assisted-by: GPT-5 via Codex
Assisted-by: GPT-5 via Codex
Assisted-by: GPT-5 via Codex
Assisted-by: GPT-5 via Codex
Assisted-by: GPT-5.6 via Codex
Assisted-by: GPT-5.6 via Codex
Assisted-by: GPT-5.6 via Codex
Assisted-by: GPT-5.6 via Codex
Assisted-by: GPT-5.6 via Codex
Assisted-by: GPT-5.6 via Codex
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Assisted-by: GPT-5.6 via Codex
Assisted-by: GPT-5.6-terra via Codex
Update the temporary source pin and lockfile to the validated MQT Core PR head. Assisted-by: GPT-5.6-sol via Codex
Repin MQT Core after the cross-project target metadata contract was generalized and export the IQM device identity through the neutral QDMI property names. Assisted-by: GPT-5.6 via Codex
Consume QDMI's public metadata helper and repin the integration to the reviewed MQT Core configuration head. Assisted-by: GPT-5.6-sol via Codex
Assisted-by: gpt-5.6-sol via Codex
Avoid leaking IQM-specific scikit-build targets into source builds of dependencies such as MQT Core. Assisted-by: gpt-5.6-sol via Codex
Update the temporary QDMI source pin after PR #475 was rebased. Assisted-by: gpt-5.6-sol via Codex
Preserve the new integration guidance alongside the configurable QDMI device changelog entries. Assisted-by: GPT-5.6-sol via Codex
Update the temporary source dependency to the refreshed configurable QDMI branch after it incorporated the mandatory LLVM/MLIR build foundation. Assisted-by: GPT-5.6-sol via Codex
Use an IQM-specific environment variable only for locating generated headers while retaining package-scoped scikit-build settings. Assisted-by: GPT-5.6-sol via Codex
Expose the device identifier and prefix as package constants so registration, opening, and tests share one definition. Preserve the filesystem path type when constructing the MQT Core device definition. Assisted-by: GPT-5.6-sol via Codex
Use the merged QDMI template revision and build against the exact v3.x backport head without provisioning LLVM/MLIR. Assisted-by: GPT-5.6-sol via Codex
Remove the temporary source override now that the configurable QDMI device APIs are available from the published package. Assisted-by: GPT-5.6-sol via Codex
Keep QDMI 1.3.0 as the supported minimum and fetch v1.3.2 while exporting the stable device metadata directly. Assisted-by: GPT-5.6-sol via Codex
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 AI text below 🤖
Summary
iqm.defaultdevice ID andIQMsymbol prefix throughQDMI's public device-target helper so MQT Core can synthesize relocatable QDMI
manifests
paths when registering the packaged library
session for each
IQMBackendenvironment variables as session overrides
package
hermetic tests
Motivation
This migrates QDMI-on-IQM from
add_dynamic_device_libraryto the configurabledevice registry and session APIs released in MQT Core 3.8.0. Applications can
use the stable device identity consistently across generated manifests,
configuration files, and Python integrations without duplicating loader
behavior.
The Python integration now consumes the published
mqt-core~=3.8.0packagedirectly. No source override, synthetic source version, or downstream LLVM/MLIR
setup is required.
Dependencies
b94be74fdac61dfdea51fc35ead5c314dbc89862Validation
credential-gated tests skipped
uv lockgit diff --checkpublished wheel; local notebook execution then reached the expected
credential-gated live Resonance example