♻️ Own neutral-atom stack - #1111
Conversation
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Quite a bit of the code mentioned here has been backported to v3.x, so it can also be moved as part of this PR. |
Yes, I just didn't do that just yet because I didn't want the Python CI to be red. The upcoming PR in MQT Core will be fully independent of all of this. Once 3.9.0 is released and MQT QCEC is updated accordingly, I'll get this PR ready. 😌 |
|
@burgholzer and @ystade, I have a quick question about whether (or how) the neutral-atom operations in |
|
As soon as NALAC causes any issues, feel free to remove it. I just kept it as a legacy but it is Kinds deprecated. Consolidating anything here with respect to NALAC is a warte of time. |
I think we do not need to remove it, necessarily. But what I take from your comment is that it is entirely fine to keep everything for NALAC self contained in its own directory and rather focus on a clean integration for the rest. |
9886288 to
320b1ef
Compare
d0dc12a to
2117293
Compare
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
|
Important Approval pendingCodeRabbit has no unresolved comments, but it has not reviewed the latest commit. Use the checkbox below to review the latest commit. CodeRabbit will approve the changes if it finds no blocking issues.
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
|
@burgholzer, I iterated on this quite a bit more today and hopefully brought it to a decent state now. I gave Codex quite a few guardrails to streamline things and context to align the implementation with existing ones (in particular, QMDI-on-IQM). I'm sure there's some more room for improvement, but I think your additional human context may be required for that. CC @ystade |
Signed-off-by: Daniel Haag <121057143+denialhaag@users.noreply.github.com>
Keep move and bridge operations outside Core's standard gate hierarchy. Discover neutral-atom devices by registered ID so equal display names do not hide distinct configurations. Refresh the branch with current main and regenerate the Python stubs. Assisted-by: GPT-6 via Codex
Assisted-by: GPT-6 via Codex
burgholzer
left a comment
There was a problem hiding this comment.
I think I have iterated enough on this. Let's get it in to move the release along 😌
🤖 AI text below 🤖
Description
This PR transfers the neutral-atom computation IR, circuit operations, mapping integration, QDMI provider and client, Python bindings, device data, documentation, and tests from Core to QMAP. NALAC remains self-contained.
Move and bridge operations derive from Core's custom-operation base so the serializer can dispatch them correctly. Device discovery opens every registered device ID once and preserves devices that share a display name. The QMAP provider uses
mqt.qmap.na.defaultand ships its configuration beside the library.This branch supports Core 3.9. The companion Core 3.10 integration is in #1144, together with #1124 and #1125.
Validation
uvx nox -s lintand targeted clang-tidy 20 checks passed locally.AI assistance
Opus 5 via Claude Code, GPT-5.6 Sol via Codex, and GPT-6 via Codex assisted with this contribution. A human must review the updated changes.
Checklist
If PR contains AI-assisted content:
🤖 *AI text below* 🤖(titles are exempt).